【原文:http://blog.csdn.net/ccug_blog/article/details/46866335】
================ 格式 ================
问题n:
问题详细描述:
解决办法:
参考:
提问者:
解答者:
================ 格式 ================
问题1:二分类训练训练caffe模型中Test score #0:的值一直为0和1两种可能值
问题详细描述:用自己制作的数据进行二分类,网络参数采用imagenet设置,训练中Test score #0:的值一直都是1或者0,具体示图如下:
解决办法:
经过讨论发现,问题产生的原因主要在如下三个方面:
(1).二分类数据没有进行Shuffling,即进行随机化处理;
(2)没有进行finutune处理;
(3)学习率、batchSize等参数的调整。
针对(1),要在convert_imagenet.cpp命令中将最后一个参数设置为1,即使如下条件满足:
if (argc == 5 && argv[4][0] == '1') {
// randomly shuffle data
LOG(INFO) << "Shuffling data";
std::random_shuffle(lines.begin(), lines.end());
}
针对(2),要在imagenet_train.prototxt和imagenet_val.prototxt中将fc8重命名,使网络进行finutune。具体位置如下所示:
针对(3),本人实验中发现,当学习率为0.01时,loss会变成NAN,太大了,当学习率为0.0000001时,学习太慢了,不会跳动,本人最后将学习率设置为0.0001。batchSize设置为10(虽然很小,但是实验中发现没有多少影响)。
本人训练数据设置中,train两类各1000张图像,val两类各1000张图像。
训练中,迭代1000次结果如下:
迭代1300次结果如下:
迭代4400次结果如下:
可见,一般情况下只要相关设置正确,cnn能对二分类数据进行准确的分类。
参考:http://caffe.berkeleyvision.org/gathered/examples/finetune_flickr_style.html
提问者:立琛
解答者:辛淼-北航 李波-西工大 刘昕-ICT 卜居-CSDN等
问题2:caffe安装到最后一步,make runtest报错
问题详细描述:最后一步,出现如下报错:
"[syncedmen.cpp57] Check failed:error ==cudaSuccess (73 vs.0) an illegal instruction was encountered"或者“Check failed:error ==cudaSuccess (4 vs.0) unspecified launch failure”
解决办法:
参考:不是安装出错,是运行出现问题,产生的cuda代码与实际设备不兼容,可能与我的显卡有关系。
提问者:breeze501
解答者:卜居-CSDN
===========================================================================
本blog内容由CCUG群成员共同维护,转载请注明出处,谢谢!
CCUG 群QQ :431141753
Caffe源码阅读、开发交流、问题答疑。
===========================================================================