"TypeError: 'Session' object is not callable" error running sess = tf.compat.v1.Session()(graph=tf.compat.v1.get_default_graph(), config=session_conf)
"TypeError: 'Session' object is not callable" error running sess = tf.compat.v1.Session()(graph=tf.compat.v1.get_default_graph(), config=session_conf)
我正在尝试设置种子并配置 keras 设置以确保我的实验可重现。当我 运行 以下内容时(基于对 this question 的回答中的代码):
# Import libraries
import numpy as np
import pandas as pd
import tensorflow as tf
from tensorflow.keras.models import load_model
from tensorflow.keras.regularizers import l2
# for setting seeds and configuring keras so that experiments are reproducible
from numpy.random import seed
import random as rn
import os
from tensorflow.keras import backend as K
seed_num = 1
os.environ['PYTHONHASHSEED'] = '0'
np.random.seed(seed_num)
rn.seed(seed_num)
session_conf = tf.compat.v1.ConfigProto(intra_op_parallelism_threads=1, inter_op_parallelism_threads=1)
tf.random.set_seed(seed_num)
sess = tf.compat.v1.Session()(graph=tf.compat.v1.get_default_graph(), config=session_conf)
K.set_session(sess)
...发生错误:
TypeError: 'Session' object is not callable
我需要更改什么才能成功实现 运行 并确保我的实验可重现?
我在 Mac.Mac 上的 Jupyter Notebook 中 运行ning tensorflow 版本 2.1.0。
在倒数第二行,您可能希望使用参数 graph
和 config
构造一个 Session
对象,而不是 call一个Session
.
改变这个:
sess = tf.compat.v1.Session()(graph=tf.compat.v1.get_default_graph(), config=session_conf)
对此:
sess = tf.compat.v1.Session(graph=tf.compat.v1.get_default_graph(), config=session_conf)
您还需要更改第十四行的代码:
from tensorflow.compat.v1.keras import backend as K
从 Tensorflow 2.0 开始,Keras 不再像以前那样在后端公开会话。您可以使用 compat.v1
API 来解决这个问题,但这很快就会被弃用。
我正在尝试设置种子并配置 keras 设置以确保我的实验可重现。当我 运行 以下内容时(基于对 this question 的回答中的代码):
# Import libraries
import numpy as np
import pandas as pd
import tensorflow as tf
from tensorflow.keras.models import load_model
from tensorflow.keras.regularizers import l2
# for setting seeds and configuring keras so that experiments are reproducible
from numpy.random import seed
import random as rn
import os
from tensorflow.keras import backend as K
seed_num = 1
os.environ['PYTHONHASHSEED'] = '0'
np.random.seed(seed_num)
rn.seed(seed_num)
session_conf = tf.compat.v1.ConfigProto(intra_op_parallelism_threads=1, inter_op_parallelism_threads=1)
tf.random.set_seed(seed_num)
sess = tf.compat.v1.Session()(graph=tf.compat.v1.get_default_graph(), config=session_conf)
K.set_session(sess)
...发生错误:
TypeError: 'Session' object is not callable
我需要更改什么才能成功实现 运行 并确保我的实验可重现?
我在 Mac.Mac 上的 Jupyter Notebook 中 运行ning tensorflow 版本 2.1.0。
在倒数第二行,您可能希望使用参数 graph
和 config
构造一个 Session
对象,而不是 call一个Session
.
改变这个:
sess = tf.compat.v1.Session()(graph=tf.compat.v1.get_default_graph(), config=session_conf)
对此:
sess = tf.compat.v1.Session(graph=tf.compat.v1.get_default_graph(), config=session_conf)
您还需要更改第十四行的代码:
from tensorflow.compat.v1.keras import backend as K
从 Tensorflow 2.0 开始,Keras 不再像以前那样在后端公开会话。您可以使用 compat.v1
API 来解决这个问题,但这很快就会被弃用。