import keras as K
from keras.models import Sequential
from keras.layers import Dense
from tensorflow import set_random_seed
for hidden_neuron in hidden_neurons:
model = Sequential()
model.add(Dense(hidden_neuron, input_dim=61, activation='relu'))
->我在这行出现错误。我不确定我在这里想念什么。
回溯(最近通话最近一次):
文件“ PycharmProjects / HW2 / venv / bin / hw3q4.py”,第46行,在 model.add(密集(hidden_neuron,input_dim = 61,激活='relu'))文件 “ /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/keras/engine/sequential.py”, 第165行,添加 层(x)文件“ /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/keras/engine/base_layer.py”, 第414行,在致电中 self.assert_input_compatibility(inputs)文件“ /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/keras/engine/base_layer.py”, 第279行,在assert_input_compatibility中 K.is_keras_tensor(x)文件“ /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/keras/backend/tensorflow_backend.py”, is_keras_tensor中的第472行 如果不是,则is_tensor(x):文件“ /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/keras/backend/tensorflow_backend.py”, is_tensor中的第480行 返回isinstance(x,tf_ops._TensorLike)或tf_ops.is_dense_tensor_like(x) AttributeError:模块'tensorflow.python.framework.ops'没有属性'_TensorLike'
答案 0 :(得分:19)
对我来说,修复程序正在导入
from tensorflow.keras import Sequential
from tensorflow.keras.layers import Conv2D, Flatten, Dense
代替
from keras import Sequential
from keras.layers import Conv2D, Flatten, Dense
keras和tensorflow.keras之间似乎存在一些奇怪的兼容性问题
答案 1 :(得分:4)
版本不兼容。
将 keras 更新到与 tensorflow 兼容的最新版本:
pip install --upgrade keras==x.x.x
答案 2 :(得分:1)
对于那些偶然发现此问题的人,重新安装Keras和Tensorflow可以解决此问题。
答案 3 :(得分:1)
!pip uninstall tensorflow
!pip install tensorflow==1.14
!pip uninstall keras
!pip install keras==2.2.4
安装以上版本的keras和tensorflow已经为我解决了问题。
答案 4 :(得分:0)
从tensorflow.keras.layers导入...而不是从keras.layers导入....
如此处所述:
答案 5 :(得分:0)
只需同时更新TensorFlow和Keras,就可以解决此问题
答案 6 :(得分:0)
这取决于您如何导入预赛。 如果将 tensorflow 作为 tf 导入并在 tensorflow 中导入 keras,则应从 tf.keras 开始。否则,如果您直接导入 keras.models,那么您可以从 Input() 或 Conv() 开始。