Python 基于ImageNet子集的Chainer-Train-GoogLeNet
我正在学习使用深度学习框架,但在ImageNet上培训Google时遇到了麻烦 我使用给定的名称,并使用以下名称将其命名:Python 基于ImageNet子集的Chainer-Train-GoogLeNet,python,deep-learning,chainer,Python,Deep Learning,Chainer,我正在学习使用深度学习框架,但在ImageNet上培训Google时遇到了麻烦 我使用给定的名称,并使用以下名称将其命名: python2 train_imagenet.py --arch googlenet --batchsize 64 --epoch 10 --gpu 0 --mean ~/data/imagenet/ILSVRC2012_devkit_t12/data/mean_RGB_256x256.npy --out output/
python2 train_imagenet.py
--arch googlenet
--batchsize 64
--epoch 10
--gpu 0
--mean ~/data/imagenet/ILSVRC2012_devkit_t12/data/mean_RGB_256x256.npy
--out output/
--root ~/data/imagenet/dataset_sample_256x256/
--val_batchsize 8
~/data/imagenet/lists/train_files_sample.txt
~/data/imagenet/lists/val_files_sample.txt
我使用了一个由5000幅图像组成的ImageNet子集,每幅图像的大小都是256x256,并在需要时转换为RGB
如下面的日志所示,我的损失甚至没有丝毫变化。当我记录预测的类时,它总是在几次迭代后结束,预测总是同一个类(但是当我再次运行它时,这个类会发生变化)。我仔细检查了我的数据集,一切看起来都很好,我使用ImageNet标签ID,我的txt文件包含成对的路径和标签,每行一个
epoch iteration main/loss validation/main/loss main/accuracy validation/main/accuracy lr
1 100 11.0533 0.00015625 0.01
2 200 11.0533 0.00078125 0.01
3 300 11.0533 0.00046875 0.01
5 400 11.0533 0.0009375 0.01
6 500 11.0531 0.000625 0.01
7 600 11.0532 0.00078125 0.01
8 700 11.0533 0.0009375 0.01
由于这是官方回购协议的代码,我猜我的子集有问题。我的预处理正确吗?5000美元还不够(不是为了达到最先进的水平,而是为了真正学到一些东西)
谢谢你告诉我什么是错误的 googlenet 224x224的输入不是256x256吗?你是对的,但是他们的代码使用了继承自
chainer.dataset.DatasetMixin
的类进行数据预处理(在224x224中缩放,居中/减少…)。文件头中的先决条件要求扩展到256x256,因此我坚持使用它