张量流中的添加方法问题:AttributeError:模块'tensorflow.python.framework.ops'没有属性'_TensorLike'

时间:2018-11-03 20:54:48

标签: python python-3.x tensorflow keras

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'

7 个答案:

答案 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导入....

如此处所述:

https://github.com/tensorflow/models/issues/6177

答案 5 :(得分:0)

只需同时更新TensorFlow和Keras,就可以解决此问题

答案 6 :(得分:0)

这取决于您如何导入预赛。 如果将 tensorflow 作为 tf 导入并在 tensorflow 中导入 keras,则应从 tf.keras 开始。否则,如果您直接导入 keras.models,那么您可以从 Input() 或 Conv() 开始。