我正在查看这个关于Python、TensorFlow和Keras的深度学习教程,得到了以下代码
...
运行这些代码后,我得到了76.9%的验证准确率。我需要做的就是将这个代码的模型改为VGG16、VGG19和MobileNet,但我不知道如何导入预训练模型,所以我决定自己创建一个模型并进行训练。我查看了VGG16和VGG19的架构,了解了卷积和最大池化的数量,并编写了以下代码
...
但运行这个代码总是给我57.69%的验证准确率,无论在哪个epoch。我做错了什么吗?还是我整个过程都错了?
编辑:我现在使用了一个预训练模型
...
并得到了这个错误
...
回答:
在Keras的Sequential模型中,只有第一层需要知道它应该期望的input_shape
,在你的例子中是Conv2D
层。另外,没有必要添加多个带有sigmoid激活的Dense
层。
参考以下内容
...
或者,你可以使用Keras应用中的预训练VGG模型。
...