这是代码:
with strategy.scope():
model2 = tf.keras.applications.VGG16(
include_top=True,
weights=None,
input_tensor=None,
input_shape=(32, 32, 3),
pooling=None,
classes=10,
classifier_activation="relu",
)
model2.compile(optimizer='adam',
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
metrics=['accuracy'])
history = model2.fit(
train_images, train_labels,epochs=10,
validation_data=(test_images, test_labels)
)
我试图从头开始训练 VGG16,因此没有导入它们的权重(因此 weights=None
)
我还尝试了一个我自己创建的模型,具有相同的超参数,并且效果很好。
这里可能有什么问题?
非常感谢任何帮助
Heres 完整代码
答案 0 :(得分:1)
好的,我解决了这个问题 简单的事情是学习率太大了 我把代码改成了这个
LR = batch_size/((z+1)*100000)
LR=LR/3
代替
LR = batch_size/((z+1)*1000)
LR=LR/3
它似乎运行良好