我想通过keras训练模型,网络是:
model = DenseNet121(
include_top=True,
weights=None,
input_shape=[shape[0], shape[1], 3],
classes=4,
)
model.summary()
optimizer = keras.optimizers.Adam(learning_rate=0.0001)
model.compile(
optimizer=optimizer,
loss=keras.losses.categorical_crossentropy,
metrics=['accuracy']
)
我确定代码没有语法错误。 在训练中,它陷入了第3个时期,即180批次。培训只是没有错误的停止。
更奇怪的是,当我使用binary_crossentropy作为损失时,训练就可以了。我真的被迷住了。如何解决此错误?任何建议表示赞赏。
环境是:
win10
tensorflow 1.14.0
keras 2.3.1