【发布时间】:2020-06-18 08:49:04
【问题描述】:
from tensorflow.keras.layers import Conv2D, MaxPooling2D, BatchNormalization
from tensorflow.keras.layers import Dropout, Flatten, Input, Dense
def create_model():
def add_conv_block(model, num_filters):
model.add(Conv2D(num_filters, 3, activation='relu', padding='same'))
model.add(BatchNormalization())
model.add(Conv2D(num_filters, 3, activation='relu', padding='valid'))
model.add(MaxPooling2D(pool_size=2))
model.add(Dropout(0.2))
return model
model = tf.keras.models.Sequential()
model.add(Input(shape=(32, 32, 3)))
model = add_conv_block(model, 32)
model = add_conv_block(model, 64)
model = add_conv_block(model, 128)
model.add(Flatten())
model.add(Dense(3, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
return model
model = create_model()
model.summary()
【问题讨论】:
-
刚刚测试了一下,没有报错。请详细说明。
-
TypeError: 添加的层必须是类Layer的实例。找到:Tensor("input_1:0", shape=(?, 32, 32, 3), dtype=float32)
-
@MarcoCerliani 是的,我仍然收到同样的错误。
-
我提供了一个答案,别忘了点赞并接受它;-)
标签: python tensorflow keras conv-neural-network