1.Windows環境caffe安裝配置(無GPU)
參考:http://www.cnblogs.com/cxyxbk/p/5902034.html
解壓caffe-windows文件,將./windows中的CommonSettings.props.example文件復制到本文件夾中,然后刪除example得到CommonSettings.props文件
修改CommonSettings.props文件。根據自己的需求修改狀態,比如我自己筆記本上無GPU,就在對應的地方設置位False;相應的,我只能用CPU,那就改成True;Matlab和Python的接口是否使能(Enabled)也在這里設置。
用vs打開caffe.sln文件
若libcaffe加載失敗,重新解壓caffe-windows.
出現問題:
無法打開libcaffe.lib之類的error,直接對libcaffe重新生成一次。
接着會出現的問題:沒有生成object文件;解決辦法:雙擊此錯誤,保存彈出來的框,然后再對libcaffe“重新生成一次”
右鍵caffe.sln,點擊生成解決方案。
會下載第三方庫,NugetPackages
設置屬性當前選定內容
運行caffe.cpp,按ctrl+f5進行編譯
Caffe之python接口配置
參考:http://www.2cto.com/kf/201611/561124.html
編譯caffe接口,修改配置文件CommonSettings.props:
第13行:<pythonsupport>true</pythonsupport>
第48行:<pythondir>C:\Program Files\Anaconda2\</pythondir>
然后保存,去編譯Release版本的pycaffe
編譯caffe工程中的pycaffe
直接將caffe這個文件夾拷貝到C:\Program Files\Anaconda2\Lib\site-packages即可。
在命令行中
進入python
Import caffe
安裝protobuf
參考:http://blog.csdn.net/zhunianguo/article/details/52662535
解壓protobuf-2.6.1文件到caffe目錄下
打開cmd 到當前protobuf的python目錄下,輸入
python setup.py build回車,python setup.py test回車,
python setup.py install回車,
查看且把紅框里的復制到
即將其protobuf-3.0.0-beta-2/python 目錄下的google文件拷貝到D:\Program Files\Anaconda2\Lib\site-packages目錄下即可。
2.caffe之GPU版本的配置
准備好CUDA和cudnn兩個文件。
經測試,GTX980ti和GT740型號顯卡都可以用CUDA7.5版本的安裝包
安裝CUDA,安裝好之后,在cmd命令窗口中輸入:nvcc -V,回車查看是否有版本信息。若出現版本信息,則證明nvcc安裝成功。
CUDA安裝完畢會自動添加環境變量:
將cudnn文件夾中的bin,include,lib三個東西拷貝到cuda的安裝目錄下。
添加cudnn進入系統的環境變量:
我把cudnn的文件夾放在了c盤的根目錄下:
(不知道添加cudnn的環境變量有什么用,網上的博客是這樣做的。)
下載官方版本的caffe:
下載鏈接:https://github.com/BVLC/caffe/tree/windows
然后將NugetPackages這個文件夾,拷貝到caffe-master的平行目錄下:
NugetPackages大概1個G
在windows文件夾下,復制一個CommonSettings.pros文件
先設置為cpu模式,編譯libcaffe模塊(大概1分鍾),再編譯caffe模塊(大概1分鍾)。
即可運行mnist實驗。
gpu模式:
先把python和matlab關掉。然后編譯libcaffe模塊和caffe模塊,各自大概15分鍾。在編譯的過程中,會調用CUDA中的庫文件,來生成caffe.exe。這應該就是設置CpuOnlyBuild和UseCuDNN的意義吧。編譯好之后,即可在solver.prototxt中設置gpu模式跑實驗。經測試,該方法可用,在編譯的過程中,沒有報錯,一次就成功。
如果要制作數據集,再編譯其他的模塊。
編譯caffe出現的一些錯誤:
windows下編譯caffe報錯:error MSB4062: 未能從程序集 E:\NugetPackages\OpenCV.2.4.10\......的解決辦法
http://blog.csdn.net/u013277656/article/details/75040459
項目->管理NuGet程序包->更新,此時可以看到opencv后面有更新的按鈕,點擊更新為opencv2.4.11
不用卸載項目,里面的各個項目信息中都換為了2.4.11
錯誤 error C2220: 警告被視為錯誤 - 沒有生成“object”文件 (..\..\src\caffe\util\math_functions.cpp)
http://blog.csdn.net/qq_28618765/article/details/61427239
使用virtual studio 2013打開文件,math_function.cpp文件,然后進行保存即可。
error MSB4062: 未能從程序集 G:\helong_key_file\NugetPackages\gflags.2.1.2.1\build\native\\private\coapp.NuGetNativeMSBuildTasks.dll 加載任務“NuGetPackageOverlay”。未能加載文件或程序
http://bbs.csdn.net/topics/392062086
http://blog.csdn.net/louzhengzhai/article/details/73180178
https://blog.csdn.net/u011995719/article/details/78980503
去掉這里面的反斜杠
有時候去掉反斜杠,也沒有用
選中libcaffe,項目-管理NuGet程序包,卸載掉globs(gflags是基於globs的),然后再安裝這個globs,可以去掉這個錯誤。再編譯的時候,會遇到math_functions.cpp這個錯誤
錯誤 261 error MSB4062: 未能從程序集 D:\caffe20180724\NugetPackages\OpenCV.2.4.11\build\native\\private\coapp.NuGetNativeMSBuildTasks.dll 加載任務“NuGetPackageOverlay”。未能加載文件或程序集“file:///D:\caffe20180724\NugetPackages\OpenCV.2.4.11\build\native\private\coapp.NuGetNativeMSBuildTasks.dll”或它的某一個依賴項。系統找不到指定的文件。 請確認 <UsingTask> 聲明正確,該程序集及其所有依賴項都可用,並且該任務包含實現 Microsoft.Build.Framework.ITask 的公共類。 D:\caffe20180724\NugetPackages\OpenCV.2.4.11\build\native\OpenCV.targets 1115 5
若在NuGet中更新了opencv,還報這個opencv 2.4.11的錯誤,
右鍵libcaffe, 卸載項目,編輯libcaffe.vcxproj,ctrl+H,將里面的OpenCV.2.4.10全部替換為OpenCV.2.4.11,重新加載該項目
在D:\caffe20180724\NugetPackages\OpenCV.2.4.11\build\native這個路徑中編輯OpenCV.props文件,去掉private前面的\,重新編譯libcaffe之前,最好重啟一下電腦。