训练 VGG 时验证准确度保持不变

时间:2021-03-06 07:48:24

标签: deep-learning tensor

这是剧情 enter image description here

这是代码:

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 完整代码

1 个答案:

答案 0 :(得分:1)

好的,我解决了这个问题 简单的事情是学习率太大了 我把代码改成了这个

LR = batch_size/((z+1)*100000)
LR=LR/3

代替

LR = batch_size/((z+1)*1000)
LR=LR/3

它似乎运行良好