我尝试创建CNN模型,但总是收到此错误消息。
错误:()---->中的TypeError Traceback(最近一次调用为最新)---- 1个模型= simple_conv_model()5帧/usr/local/lib/python3.6/dist-packages/keras/engine/network。 py in build_map(张量,finished_nodes,nodes_in_progress,图层,node_index,tensor_index)1345 1346#传播到连接到该节点的所有先前张量。 -> 1347 for i in range(len(node.inbound_layers)):1348 x = node.input_tensors [i] 1349 layer = node.inbound_layers [i] TypeError:“密集”类型的对象没有len()
这是模型:
Activities
答案 0 :(得分:0)
您可能错误地将input_layer
用作所有三个Conv2D
层的输入,而您很可能打算编写如下内容:
model = layers.Conv2D(16,3,...)(input_layer) # this is correct
# ...
model = layers.Conv2D(32, 3, ...)(model) # pass `model` here as input
# ...
model = layers.Conv2D(64, 3, ...)(model) # pass `model` here as input
答案 1 :(得分:0)
我之前也遇到过这个问题,因为我是从tensorflow.python.keras导入库的。只需更改为使用keras即可
答案 2 :(得分:0)
即使使用要素层和功能性API建立简单的网络,我也使用相同的错误。在@patacharapon的对面,
我替换了
import keras
此处的keras版本为2.3.1
到
from tensorflow import keras
此处的keras版本为2.3.0-tf
答案 3 :(得分:0)
我将 keras.models 替换为 tensorflow.keras.models,它对我有用。
之前:
from keras.models import Model
更换后:
from tensorflow.keras.models import Model
答案 4 :(得分:-1)
此处提供了正确的解决方案:https://www.programmersought.com/article/14464784093/ 即从 tenorflow.keras.models 而不是 keras.models 导入模型