我正在关注TensorFlow和Keras的教程。
当我运行以下语法时:
from keras.models import Sequential
from keras.layers import Dense
model = Sequential()
model.add(Dense(units=64, activation='relu', input_dim=100))
model.add(Dense(units=10, activation='softmax'))
(这不是完整的stacktrace,因为StackOverflow不会让我说它只有代码) 我收到以下错误:
--------------------------------------------------------------------
UnboundLocalError Traceback (most recent call last)
<ipython-input-49-30ebc8793948> in <module>()
5 from keras.layers import Dense
6
----> 7 model.add(Dense(units=64, activation='relu', input_dim=100))
--> 164 layer(x)
165 set_inputs = True
166 else:
/usr/local/lib/python3.7/site-packages/keras/initializers.py in __call__(self, shape, dtype)
self._message_listener.Modified()
UnboundLocalError: local variable 'self' referenced before assignment
这可能是因为python 3.7吗?
答案 0 :(得分:2)
是的,我必须卸载并重新安装Python 3.6。 Python 3.7看起来引入了意外的行为。幸运的是,我的问题现在已经解决。
答案 1 :(得分:0)
我有同样的问题。问题似乎出在python 3.7上。我没有卸载3.7并安装3.6,而是下载了anaconda,而是为3.6和其他所有依赖关系创建了一个虚拟环境。