Chainer - 在ImageNet子集

时间:2018-06-05 10:15:34

标签: python deep-learning chainer

我正在学习使用深度学习框架Chainer,而且我在ImageNet上训练GoogLeNet时遇到了麻烦。

我使用给定的example并使用以下方法调用它:

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还不够(不是达到最先进水平,而是要真正学到一些东西)?

感谢任何可能出错的想法。

0 个答案:

没有答案