一 安裝CUDA
- 下載地址:https://developer.nvidia.com/cuda-downloads
- 找到相應的版本下載 ,我的是win10,64bit,cuda10。安裝好后部CUDA的安裝目錄的bin和lib/x64地址添加到Path環境變量中。
二安裝cuDNN
- 下載地址:https://developer.nvidia.com/rdp/cudnn-download
- 下載對應版本,解壓后把bin,include,lib中的文件拷貝到CUDA的安裝路徑中,我的路徑是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2
-
把C:\Program Files\NVIDIA GPUComputing Toolkit\CUDA\v10.2\extras\CUPTI\libx64里面的cupti64_80.dll復制到C:\ProgramFiles\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin路徑中
三安裝caffe
- 下載地址:https://github.com/Microsoft/caffe
- 解壓下載好的zip包到caffe-window文件夾下,把安裝cudnn時的ucda文件夾一同復制到caffe-window中。
- 進入caffe-master\windows中,復制CommonSettings.props.example文件,命名為CommonSettings.props。
- 用visual studio 打開文件夾中的caffe.sln。設置libcaffe為啟動項目。如果li'bcaffe和testall加載出現問題,就打開CommonSettings.props修改其中<CudaVersion>為自己的版本,比如我的是10.2。再重新打開caffe.sln,就能成功。
- 右鍵libcaffe 屬性-c/c++/關閉是警告為錯誤。
- 開始編譯生成ctrl+f5,選擇的編譯方式是release,平台是x64,如果是debug就可能會出錯。如果出現了error MSB3721的錯誤,可能是因為too few arguments造成的。找到錯誤的函數,比如我的是cudnnSetConvolution2dDescriptor函數,最后少了一個參數,參數為浮點類型的宏,加入這個參數,即參數最后加入CUDNN_DATA_FLOAT,即可。
- 項目生成成功后,在caffe目錄會生成NugetPackages文件夾,里面是自動下載的一些依賴庫。而caffe-master路徑中也會生成Build文件夾,進入Build\x64\Release中,以后編譯成功和運行需要的文件都在這里。
- 同樣的方法編譯caffe和pycaffe。
四測試caffe
- 同樣的方式編譯convert_mnist_data。下載mnist數據集,地址:http://yann.lecun.com/exdb/mnist/
- 把下載解壓好的文件放在caffe-master\data\mnist中,在caffe-window文件夾下新建mnist_data_convert.bat文件用來轉換mnist數據,在該文件中添加以下命令:
Build\x64\Release\convert_mnist_data --backend=lmdbdata/mnist/train-images.idx3-ubyte data/mnist/train-labels.idx1-ubyteexamples/mnist/mnist_train_lmdb Build\x64\Release\convert_mnist_data --backend=lmdbdata/mnist/t10k-images.idx3-ubyte data/mnist/t10k-labels.idx1-ubyteexamples/mnist/mnist_test_lmdb Pause
保存bat文件並運行,就可以轉換mnist數據成caffe能夠讀取的形式。
- 在caffe-window下新建mnist_test_run.bat.bat文件,添加:
Build\x64\Release\caffe.exe train--solver=examples/mnist/lenet_solver_adam.prototxt pause
保存並運行,如果成功運行,說明caffe安裝成功。