改写VGGNet训练自己的数据集(caffe)

caffe:使用VGGNet训练自己的数据集

前言

今天跑完了样例,又用训练好的googlenet来搞了一下物体识别,接下来就得训练自己的模型了。发现许多操作跟样例是相似的,所以打算先进一步研读样例中层数的编写过程,然后再自己动手修改。

将数据集转换为lmdb格式

参考了一下人家写的

这个可以有,效率更高,暂时先不弄了,直接跑jpg格式数据集
今天还是要弄,刚开始出现错误aborted的错误,考虑可能原因
1.路径没设置好,可能是需要绝对路径,但是我却设置成了相对路径。
2.刚开始不能有train_lmdb和test_lmdb这两个文件夹,不然会冲突。

准备VGGNet16模型

这是从caffe model zoo上面下载的,这个是人家整理的,自己改改然后就能用我觉得。
现在是solver.prototxt和train_val.prototxt写完了,训练出了个错误,
改写VGGNet训练自己的数据集(caffe)考虑可能的原因:
1.数据集没弄好,自己直接用的jpg格式,可能是train_val.prototxt里面对数据层的解释没有弄好。
2.测试集数量太少,只有一百来张,然而solver.prototxt里面的某个迭代参数等东西设置不合理。
3.自己的数据集仍然是分为十类了,是不是不应该再分子文件夹。

遇到的问题

改写VGGNet训练自己的数据集(caffe)啊?难道是CUDA的问题吗?查看网上的说法:
改写VGGNet训练自己的数据集(caffe)但是我运行后,
改写VGGNet训练自己的数据集(caffe)CUDA版本是8.0啊
还有这样说的:
改写VGGNet训练自己的数据集(caffe)然后尝试编译个新的caffe,做了一下make runtest,发现没有通过,错误如下,
改写VGGNet训练自己的数据集(caffe)这个错误跟刚才上面训练数据时遇到的错误是一样的。

也有人这样说:
改写VGGNet训练自己的数据集(caffe)就是有cuda7的安装残留,需要将这个去掉。

有个人这样解决了:
改写VGGNet训练自己的数据集(caffe)这靠谱吗?好像是不行,没有安装nvidia-cuda-toolkit,没有卸载一说。

跑了一下自带的Lenet,正常的话如下:
改写VGGNet训练自己的数据集(caffe)但我的VGGNet:
改写VGGNet训练自己的数据集(caffe)

解决

因为我发现连make runtest都通不过,干脆解决这个问题那么无法训练的问题就解决了。我没办法了,就把caffe重新编译了一遍,哎呀,竟然通过了,然后自己又一训练,发现竟然成功了哈哈哈。
改写VGGNet训练自己的数据集(caffe)加油啊得!