【发布时间】:2020-11-09 04:00:00
【问题描述】:
我有一个模型试图预测图像的类别:猫或狗。我在训练中获得了 95% 的准确率。但是,当我尝试预测单个图像时,每次运行模型时,我都会遇到几乎恒定的输出。有一些非常量的值,但它们大多看起来像灾难性的故障。
我从论坛上阅读了类似的主题,但这并没有帮助,因为似乎没有针对此问题的特定解决方案...
我尝试了以下方法:
- 将纪元 5 更改为 15、20、30...
- 将
lr= 0.001 更改为 0.01、0.0001... - 我使用 dropout 正则化模型和批处理实现 归一化模型...
- 我更改了测试图片...
- 将最后一个激活层从
softmax更改为torch.sigmoid... - 将批量大小从 100 减少到 30、75...
- 尝试使用批次,结果是正常的 acc、loss 和 预测。
- 我的数据集是按比例缩放的,论坛中提到的解决方案。
- 我的最佳选择是 Adam,在论坛中提到它作为解决方案。
- 正在使用
torch.data.DataLoader加载数据集... - 随机抽样...
- 我保存并加载了模型,以防出现问题。 但是,我已经检查过 state_dict 的不同...
- 我重新准备了导致常量值发生变化的数据 否则(狗对猫),不知何故?不知道这是不是巧合。
信息:
这是我在 Jupyter Notebook 中的所有预测代码,请随时调查。我真的厌倦了这个解决方案。非常感谢任何帮助!
https://github.com/yusuftengriverdi/neural_networks/blob/master/CNN_Last.ipynb
网络上的类似主题:
https://discuss.pytorch.org/t/rnn-predicting-a-constant-output/40397/5
https://discuss.pytorch.org/t/cnn-does-not-predict-properly-does-not-converge-as-expected/43567
https://discuss.pytorch.org/t/making-a-prediction-with-a-trained-model/2193
https://github.com/keras-team/keras/issues/6447
【问题讨论】:
标签: python tensorflow deep-learning pytorch conv-neural-network