在完成了前两节的caffe配置以后,我们就可以进行一个小小的测试了
这一节,我们测试MNIST在caffe上的训练与学习。
1.MNIST在caffe上的训练与学习
我们假设前面两节的配置,及train_net.cpp编译通过,
caffe训练和测试的数据都是需要leveldb格式的,niuzhiheng大牛已经给我们转好了MNIST的数据格式。
在...\examples\mnist 文件夹下有个get_mnist_leveldb.bat ,双击就可以下载到MNIST的leveldb文件。
如果不能翻墙的童鞋,可以到这里下载:mnist-leveldb
下载完成后,解压...\examples\mnist 文件夹下。
网络参数可以再lenet_train.prototxt中修改。GPU和CPU的切换在lenet_solver.prototxt中.....
双击train_lenet。bat就可以训练该网络。
没500轮进行一次测试。
Tset Score 0是正确率。
Test Score 1是测试损失函数值。
感谢大神:笑笑魔导师
2. Invalid device function错误
这里需要注意的是:如果在编译train_net.cpp的过程中,提示:Invalid device function错误,这是由于GPU的Arch不一致导致的。此时,需要检查在编译过程中,属性配置。
(1)将原来的内容清空
(2)打开工程属性设置,进入CUDA c/C++选项,将Device下的code generation修改为compute_12,sm_12(这里需要对应你电脑显卡的配置)
检查电脑显卡对应的计算参数:https://developer.nvidia.com/cuda-gpus
也可以只用CPU运行程序,只要将examples/minst/lent_solver.prototxt文件最后一项改为CPU即可。参考:旭日的博客