最近使用caffe的问题:
1.Restart prefetching data from start
原因:
(1).solver文件中test_iter设置太大,test_iter和测试的batchSize相乘大于整个测试集
(2).网速问题,因为集群的存储节点和服务器是通过局域网相连接的
(3).GPU读取速度过快
2.制作数据集的时候label不能是浮点型,必须是整形
3.一定要shuffle数据集,防止相同的分布影响网络
4.test_initialization设置为True,如果是ture的话,caffe会从snapshot目录下读取caffe_model文件,如果你是第一次训练,没有model文件,则迭代一直会为0,所以一般要设置为False
5.solver文件中,如果你仅仅是用prototxt文件来训练,则使用参数train_net就可以了,如下图所示
如果想测试想训练,则使用参数net,顾名思义,test_net则是测试网络用的
6.average_loss是计算前向传播多少次的平均loss,一般会显示loss=多少,而训练的loss一般是显示train_net:loss=多少
测试是test_loss = 多少
7.iter_size
处理batchsize*itersize张图片后,才调用一次ApplyUpdate函数根据学习率、method(SGD、AdaSGD等)进行梯度下降
8.caffe solver配置文件教程以及caffe教程地址:https://www.cnblogs.com/denny402/p/5074049.html
9.如果最后一层是全连接层的话,全连接层的输出个数要随着分类的个数的改变而改变,比如标签为10类,那么全连阶层最后的Num_Output就应该为10,否则也很容易出先损失为87.336的问题
10.如果训练集损失在下降,但是验证集的损失在上升,精度在下降,证明非常有可能是过拟合了