我们可以在ubuntu下训练好caffemodel之后,在vs中调用已经训练好的模型,或者直接在windows下直接训练模型,这些都需要在windows下配置caffe。
有两种方法可以配置:
一种是直接上caffe官网:https://github.com/BVLC/caffe/tree/windows,这种方法需要自己装CuDNN。
另一种是用happynear的caffe-windows:https://github.com/happynear/caffe-windows,这个方法作者已经提供了打包好的第三方库。
本文尝试用第二种方法,可以参考上述网址,以及这篇博文http://blog.csdn.net/tjusxh/article/details/48463409
简单地说一下步骤以及遇到的问题。
1.安装cuda,这个直接去https://developer.nvidia.com/cuda-downloads下载即可。我因为之前就装过了,所以没有重新安装,我的版本是cuda6.5。
2.从git上把caffe-windows下载下来,并且解压。之后从http://pan.baidu.com/s/1eStyfrc下载打包好的第三方的库,覆盖到caffe根目录下的3rdparty文件夹下。并且将./3rdparty/bin目录添加到环境变量PATH中。
3.运行./src/caffe/proto/extract_proto.bat,生成caffe.pb.h,,caffe.pb.cc 以及 caffe_pb2.py。一开始发现生成不了,3rdparty/bin目录下没有protoc.exe,后来发现自己下载的第三方库是之前没有更新的,重新从上面的网址下载第三方库并覆盖即可。
4.如果你和我一样cuda版本不是7.0,则进入buildVS2013目录,用notepad打开.vcxproj文件,将里面的7.0都换成你的cuda版本,我这里是6.5。如果你不想编译无cuda版的,则跳过这一步。
5.打开buildVS2013目录下的MainBuilder.sln,如果还是无法加载,看看输出信息,我遇到过提示我一个cuda的props文件找不到,我就手动搜了一下,然后放到相应的目录下就可以加载了。
6.在每个项目的c/c++选项卡中把附加包含目录和附加库目录改成你自己的。
7.如果你不需要python和matlab接口,直接将matcaffe和pycaffe两个工程卸载掉即可。然后就可以开始编译了。编译的时候如果有遇到提示找不到device_atomic_functions.hpp,直接将其注释就行。
8.测试。从 http://pan.baidu.com/s/1mgl9ndu下载mnist的leveldb数据,放到./example/mnist目录下。再运行./run_mnist.bat,如果能训练网络那么环境就配置好了。