0 python conv-neural-network keras tensorflow
我尝试创建一个 CNN 模型,但总是收到此错误消息。
错误:TypeError Traceback(最近一次调用最后一次) in () ----> 1 model = simple_conv_model() 5 帧 /usr/local/lib/python3.6/dist-packages/keras/engine/network.py in build_map (tensor,finished_nodes, nodes_in_progress, layer, 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: 'Dense' 类型的对象没有 len()
这是模型:
def simple_conv_model():
input_layer=layers.Input(shape=(64,64,3), name="input_layer")
model=layers.Conv2D(16,3, activation="relu", padding='same', name="first_block_conv", strides=(1,1)) (input_layer)
model=layers.MaxPooling2D((2,2), name="first_block_pooling") (model)
model=layers.BatchNormalization(name="first_block_bn") (model)
model=layers.Conv2D(32,3, activation="relu", padding='same', name="second_block_conv", strides=(1,1)) (input_layer)
model=layers.MaxPooling2D((2,2), name="second_block_pooling") (model)
model=layers.BatchNormalization(name="second_block_bn") (model)
model=layers.Conv2D(64,3, activation="relu", padding='same', name="third_block_conv", strides=(1,1)) (input_layer)
model=layers.MaxPooling2D((2,2), name="third_block_pooling") (model)
model=layers.BatchNormalization(name="third_block_bn") (model)
model=layers.Flatten() (model)
model=layers.Dense(16, activation="relu", name="dense_1") (model)
model=layers.BatchNormalization() (model)
model=layers.Dropout(0.5, name="drop_out_dense_1") (model)
model=layers.Dense(4, activation="relu", name="dense_2") (model)
model=layers.Dense(1, activation="linear") (model)
model_cnn = Model(input_layer, model)
model_cnn.compile(loss="mean_absolute_percentage_error", optimizer="adam")
return model_cnn
model = simple_conv_model()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5315 次 |
| 最近记录: |