名称 'get_default_graph' 未定义
name 'get_default_graph' is not defined
我无法在我的代码中使用 model = Sequential()
。我是 运行 jupyter notebook 中名为 ml-learn
的环境中的代码。我收到一个名为 name 'get_default_graph' is not defined
.
的错误
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
in
----> 1 md = bidirectional_lstm_models(seq_length, vocab_size)
2 md.summary()
in bidirectional_lstm_models(seq_len, vocab_size)
1 def bidirectional_lstm_models(seq_len, vocab_size):
2 model = Sequential()
----> 3 model.add(Bidirectional(LSTM(256, activation="relu"), input_shape=(seq_len, vocab_size)))
4 model.add(Dropout(0.6))
5 model.add(Dense(vocab_size))
~/opt/anaconda3/envs/ml-learn/lib/python3.7/site-packages/keras/legacy/interfaces.py in wrapper(*args, **kwargs)
89 warnings.warn('Update your `' + object_name + '` call to the ' +
90 'Keras 2 API: ' + signature, stacklevel=2)
---> 91 return func(*args, **kwargs)
92 wrapper._original_function = func
93 return wrapper
~/opt/anaconda3/envs/ml-learn/lib/python3.7/site-packages/keras/layers/recurrent.py in __init__(self, units, activation, recurrent_activation, use_bias, kernel_initializer, recurrent_initializer, bias_initializer, unit_forget_bias, kernel_regularizer, recurrent_regularizer, bias_regularizer, activity_regularizer, kernel_constraint, recurrent_constraint, bias_constraint, dropout, recurrent_dropout, implementation, return_sequences, return_state, go_backwards, stateful, unroll, **kwargs)
2176 dropout=dropout,
2177 recurrent_dropout=recurrent_dropout,
-> 2178 implementation=implementation)
2179 super(LSTM, self).__init__(cell,
2180 return_sequences=return_sequences,
~/opt/anaconda3/envs/ml-learn/lib/python3.7/site-packages/keras/layers/recurrent.py in __init__(self, units, activation, recurrent_activation, use_bias, kernel_initializer, recurrent_initializer, bias_initializer, unit_forget_bias, kernel_regularizer, recurrent_regularizer, bias_regularizer, kernel_constraint, recurrent_constraint, bias_constraint, dropout, recurrent_dropout, implementation, **kwargs)
1833 implementation=1,
1834 **kwargs):
-> 1835 super(LSTMCell, self).__init__(**kwargs)
1836 self.units = units
1837 self.activation = activations.get(activation)
~/opt/anaconda3/envs/ml-learn/lib/python3.7/site-packages/keras/engine/base_layer.py in __init__(self, **kwargs)
130 if not name:
131 prefix = self.__class__.__name__
--> 132 name = _to_snake_case(prefix) + '_' + str(K.get_uid(prefix))
133 self.name = name
134
~/opt/anaconda3/envs/ml-learn/lib/python3.7/site-packages/keras/backend/tensorflow_backend.py in get_uid(prefix)
72 """
73 global _GRAPH_UID_DICTS
---> 74 graph = get_default_graph()
75 if graph not in _GRAPH_UID_DICTS:
76 _GRAPH_UID_DICTS[graph] = defaultdict(int)
NameError: name 'get_default_graph' is not defined
我尝试过的事情:
在文件 tensorflow_backend.py
中,我尝试修改为:tf.compat.v1.get_default_graph
。我还尝试修改我正在处理的文件:tensorflow.keras.models
import Sequential
。我尝试了两者的组合。 None 其中有效。
如果有人对此有任何了解,请帮助我!
这个问题有很多问题(至少对我而言)。我为解决该问题所做的工作如下:
- 从命令行安装 Anaconda:转到 here 下载完成后,从终端 运行
bash ~/Downloads/Anaconda3-2019.10-MacOSX-x86_64.sh
。请务必根据您下载的版本更改 2019.10
。
- 通过输入
conda list
或任何 conda. -version
. 确保安装了 conda
- 如果
conda
没有出现,请尝试重新启动终端。如果这不起作用,请尝试 eval “$(/home/msarahan/mc3_dummy/bin/conda shell.bash hook)”
。将目录替换为您的目录,然后 运行 conda init
。如果这不起作用,运行 这个:export PATH="/Users/myname/anaconda2/bin:$PATH"
.
- 一旦您执行
conda init
,它会询问哪个 shell。我正在使用 fish
,所以我选择了 fish
。
- 然后运行
conda create -n envName
。将 envName
替换为您喜欢的任何环境名称。
- 激活您创建的环境:
conda activate envName
。
- 然后打开您最喜欢的编辑器并选择您刚刚创建的环境。
- 如果
jupyter
不适用于您的编辑器(我的案例:Visual Studio 代码),运行 conda install -c anaconda jupyter
.
- 在 运行ning 激活环境时,在 iTerm(我的案例)中安装必要的包:
conda install keras
和 conda install tensorflow
(我的案例)。
- 通过 运行ning 验证您的安装:
pip show keras
和 pip show tensorflow
在您的 jupyter notebook 中(我的案例 Visual Studio 代码)。
为了解决我的问题,我正面临 kernal 出人意料地死在我身上。因此,我关闭了 mac 并稍后打开它。如果您仍然无法修复这样的错误,也请尝试这样做(我敢打赌我们都会让 mac 睡觉 lol)。
我无法在我的代码中使用 model = Sequential()
。我是 运行 jupyter notebook 中名为 ml-learn
的环境中的代码。我收到一个名为 name 'get_default_graph' is not defined
.
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
in
----> 1 md = bidirectional_lstm_models(seq_length, vocab_size)
2 md.summary()
in bidirectional_lstm_models(seq_len, vocab_size)
1 def bidirectional_lstm_models(seq_len, vocab_size):
2 model = Sequential()
----> 3 model.add(Bidirectional(LSTM(256, activation="relu"), input_shape=(seq_len, vocab_size)))
4 model.add(Dropout(0.6))
5 model.add(Dense(vocab_size))
~/opt/anaconda3/envs/ml-learn/lib/python3.7/site-packages/keras/legacy/interfaces.py in wrapper(*args, **kwargs)
89 warnings.warn('Update your `' + object_name + '` call to the ' +
90 'Keras 2 API: ' + signature, stacklevel=2)
---> 91 return func(*args, **kwargs)
92 wrapper._original_function = func
93 return wrapper
~/opt/anaconda3/envs/ml-learn/lib/python3.7/site-packages/keras/layers/recurrent.py in __init__(self, units, activation, recurrent_activation, use_bias, kernel_initializer, recurrent_initializer, bias_initializer, unit_forget_bias, kernel_regularizer, recurrent_regularizer, bias_regularizer, activity_regularizer, kernel_constraint, recurrent_constraint, bias_constraint, dropout, recurrent_dropout, implementation, return_sequences, return_state, go_backwards, stateful, unroll, **kwargs)
2176 dropout=dropout,
2177 recurrent_dropout=recurrent_dropout,
-> 2178 implementation=implementation)
2179 super(LSTM, self).__init__(cell,
2180 return_sequences=return_sequences,
~/opt/anaconda3/envs/ml-learn/lib/python3.7/site-packages/keras/layers/recurrent.py in __init__(self, units, activation, recurrent_activation, use_bias, kernel_initializer, recurrent_initializer, bias_initializer, unit_forget_bias, kernel_regularizer, recurrent_regularizer, bias_regularizer, kernel_constraint, recurrent_constraint, bias_constraint, dropout, recurrent_dropout, implementation, **kwargs)
1833 implementation=1,
1834 **kwargs):
-> 1835 super(LSTMCell, self).__init__(**kwargs)
1836 self.units = units
1837 self.activation = activations.get(activation)
~/opt/anaconda3/envs/ml-learn/lib/python3.7/site-packages/keras/engine/base_layer.py in __init__(self, **kwargs)
130 if not name:
131 prefix = self.__class__.__name__
--> 132 name = _to_snake_case(prefix) + '_' + str(K.get_uid(prefix))
133 self.name = name
134
~/opt/anaconda3/envs/ml-learn/lib/python3.7/site-packages/keras/backend/tensorflow_backend.py in get_uid(prefix)
72 """
73 global _GRAPH_UID_DICTS
---> 74 graph = get_default_graph()
75 if graph not in _GRAPH_UID_DICTS:
76 _GRAPH_UID_DICTS[graph] = defaultdict(int)
NameError: name 'get_default_graph' is not defined
我尝试过的事情:
在文件 tensorflow_backend.py
中,我尝试修改为:tf.compat.v1.get_default_graph
。我还尝试修改我正在处理的文件:tensorflow.keras.models
import Sequential
。我尝试了两者的组合。 None 其中有效。
如果有人对此有任何了解,请帮助我!
这个问题有很多问题(至少对我而言)。我为解决该问题所做的工作如下:
- 从命令行安装 Anaconda:转到 here 下载完成后,从终端 运行
bash ~/Downloads/Anaconda3-2019.10-MacOSX-x86_64.sh
。请务必根据您下载的版本更改2019.10
。 - 通过输入
conda list
或任何conda. -version
. 确保安装了 - 如果
conda
没有出现,请尝试重新启动终端。如果这不起作用,请尝试eval “$(/home/msarahan/mc3_dummy/bin/conda shell.bash hook)”
。将目录替换为您的目录,然后 运行conda init
。如果这不起作用,运行 这个:export PATH="/Users/myname/anaconda2/bin:$PATH"
. - 一旦您执行
conda init
,它会询问哪个 shell。我正在使用fish
,所以我选择了fish
。 - 然后运行
conda create -n envName
。将envName
替换为您喜欢的任何环境名称。 - 激活您创建的环境:
conda activate envName
。 - 然后打开您最喜欢的编辑器并选择您刚刚创建的环境。
- 如果
jupyter
不适用于您的编辑器(我的案例:Visual Studio 代码),运行conda install -c anaconda jupyter
. - 在 运行ning 激活环境时,在 iTerm(我的案例)中安装必要的包:
conda install keras
和conda install tensorflow
(我的案例)。 - 通过 运行ning 验证您的安装:
pip show keras
和pip show tensorflow
在您的 jupyter notebook 中(我的案例 Visual Studio 代码)。
conda
为了解决我的问题,我正面临 kernal 出人意料地死在我身上。因此,我关闭了 mac 并稍后打开它。如果您仍然无法修复这样的错误,也请尝试这样做(我敢打赌我们都会让 mac 睡觉 lol)。