最近本人在跑Flownet2代碼,從安裝到運(yùn)行遇到了蠻多問題,記錄一下安裝過程。
一、工具篇
1. Flownet2-pytorch?[1]
2. VS2015 with update3 [2]
3. CUDA 10.0 (本人下載的是 cuda_10.0.130_411.31_win10 )?
4.? 對(duì)應(yīng)于 cuda10.0 版本的 cudNN (本人下載的是cuDNN v7.6.5)
5. 配置Flownet2的虛擬環(huán)境,包括:CUDA 10.0 版本的 torch1.0.1, torchvision 0.2.1等
二、安裝VS2015 with update3??[3]
1. 下載網(wǎng)盤鏈接[2]中的文件,打開后的文件如下:

2. 打開里面的packages文件,在該文件夾里找到EspC文件,把它拷貝一份到其他地方(不在這個(gè)鏡像文件夾就行)

3.?打開EspC文件,點(diǎn)擊安裝最后一個(gè)程序:

4.?安裝完畢后返回鏡像文件,點(diǎn)擊安裝VS應(yīng)用程序:

5. 初始化安裝程序

6.?接下來(lái)選擇安裝位置以及安裝方式

7.?選擇要安裝的組件

8.?點(diǎn)擊下一步,點(diǎn)擊安裝

9.?安裝完成,選擇環(huán)境配置(選擇常規(guī))

10. 進(jìn)入

三、安裝CUDA 10.0 (本人下載的是 cuda_10.0.130_411.31_win10 )[4]
1. 下載CUDA 10.0,可以參考?[4]?的下載步驟,在官網(wǎng)找到cuda_10.0.130_411.31_win10這個(gè)版本[5]。
2.?雙擊cuda_10.0.130_411.31_win10.exe之后會(huì)提示解壓到一個(gè)目錄,這里不要直接點(diǎn)確定,會(huì)解壓到C盤占用系統(tǒng)盤的資源,可以隨意選一個(gè)目錄解壓,安裝完成后刪除!


3.?然后會(huì)自動(dòng)跳出來(lái)安裝界面,系統(tǒng)檢查界面:

4. 許可協(xié)議,選同意并繼續(xù):

5. 安裝選項(xiàng)選自定義,進(jìn)入下一步:

6. 選擇驅(qū)動(dòng)程序組件,全選,進(jìn)入下一步:

7. 選擇安裝位置,這里我就選擇了默認(rèn)位置,因?yàn)橹笤O(shè)置環(huán)境變量,就可以直接參考 [4] 了,不然又找不到路徑

8. 安裝過程


9. 安裝結(jié)束


10. 打開命令窗口Win+R,輸入以下命令:

11.? 按回車鍵之后,再輸入以下命令:

12. 顯示紅框中的內(nèi)容,就說明安裝成功了

四、安裝對(duì)應(yīng)于 cuda10.0 版本的?cudNN?[4]
1.?安裝完成之后,還需要下載cudNN,這里需要在官網(wǎng)[5]登錄并填寫問卷才能下載,到下圖所示的下載頁(yè)面去下載
2. 將下載并解壓后的所有文件放到CUDA10安裝目錄相應(yīng)文件夾下即可



3.?設(shè)置環(huán)境變量,計(jì)算機(jī)上點(diǎn)右鍵,打開屬性->高級(jí)系統(tǒng)設(shè)置->環(huán)境變量,可以看到系統(tǒng)中多了CUDA_PATH和CUDA_PATH_V10_0兩個(gè)環(huán)境變量

4. 接下來(lái),還要在系統(tǒng)中新建以添加以下幾個(gè)環(huán)境變量,如圖紅框所示:
(1)CUDA_SDK_PATH = C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.0
(2)CUDA_LIB_PATH = %CUDA_PATH%\lib\x64
(3)CUDA_BIN_PATH = %CUDA_PATH%\bin
(4)CUDA_SDK_BIN_PATH = %CUDA_SDK_PATH%\bin\win64
(5)CUDA_SDK_LIB_PATH = %CUDA_SDK_PATH%\common\lib\x64

5.?在系統(tǒng)變量 PATH 的末尾添加:
(1)%CUDA_LIB_PATH%
(2)%CUDA_BIN_PATH%
(3)%CUDA_SDK_LIB_PATH%
(4)%CUDA_SDK_BIN_PATH%
(5)C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\lib\x64
(6)C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin
(7)C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.0\common\lib\x64
(8)C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.0\bin\win64

6.?配置完成后,我們可以驗(yàn)證是否配置成功,主要使用CUDA內(nèi)置的deviceQuery.exe 和 bandwithTest.exe:首先win+R啟動(dòng)cmd,cd到安裝目錄下的?...\extras\demo_suite,然后分別執(zhí)行bandwidthTest.exe和deviceQuery.exe


五、
配置Flownet2的虛擬環(huán)境
1. 進(jìn)入Pychram,打開Flownet2項(xiàng)目

2. 創(chuàng)建并激活Flownet2虛擬環(huán)境

3. 輸入以下命令,安裝這些包:
(1) pip install torch==1.0.1 -f https://download.pytorch.org/whl/torch_stable.html
(2)pip install torchvision==0.2.1 -f https://download.pytorch.org/whl/torch_stable.html
(3)pip install scipy -i https://pypi.tuna.tsinghua.edu.cn/simple
(4)pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
(5)pip install scikit-image -i https://pypi.tuna.tsinghua.edu.cn/simple
(6)pip install tensorboardX -i https://pypi.tuna.tsinghua.edu.cn/simple
(7)pip install colorama -i https://pypi.tuna.tsinghua.edu.cn/simple
(8)pip install tqdm -i https://pypi.tuna.tsinghua.edu.cn/simple
(9)pip install setproctitle -i https://pypi.tuna.tsinghua.edu.cn/simple
(10)pip install pytz -i https://pypi.tuna.tsinghua.edu.cn/simple
以下是我的安裝包


4. 輸入以下命令,分別進(jìn)入到networks文件夾中的這三個(gè)文件夾


5. 再輸入該命令:python setup.py install
(1)會(huì)出現(xiàn)以下報(bào)錯(cuò):

這時(shí)參考[6]的修改說明,打開:torch/torch.h,然后把warning那段話刪掉,這是因?yàn)镕lownet2里面使用了舊版的torch.h頭文件,但他在更新之后沒有改成extension.h,這里問題不大,warning刪掉就行

(2)再輸入該命令:python setup.py install,會(huì)遇到類似如下的問題:error: more than one operator "==" matches these operands,這時(shí),找到THCNumerics.cuh文件,一般來(lái)說在這個(gè)目錄:'...\Lib\site-packages\torch\lib\include\THC\THCNumerics.cuh',將以下的代碼屏蔽即可。

(3)再輸入該命令:python setup.py install,出現(xiàn)以下內(nèi)容,說明該文件編譯成功了

6. 繼續(xù)進(jìn)入其他兩個(gè)文件夾correlation_package和resample2d_package下,再輸入該命令:python setup.py install,出現(xiàn)了以上(3)中相同的內(nèi)容,說明該文件編譯成功了。
7. 進(jìn)入Flownet2文件,將main.py中的這兩行代碼屏蔽

同時(shí)將該文件從Flownet2文件夾中刪除

8. 輸入下面的命令后

python main.py --batch_size 1 --model FlowNet2 --optimizer=Adam --optimizer_lr=1e-4 --loss=MultiScale --loss_norm=L1 --loss_numScales=5 --loss_startScale=4 --optimizer_lr=1e-4 --crop_size 384 512 --training_dataset FlyingChairs --training_dataset_root D:/project/FlyingChairs/FlyingChairs_release/data/ --validation_dataset FlyingChairs --validation_dataset_root D:/project/FlyingChairs/FlyingChairs_release/data/
其中D:/project/FlyingChairs/FlyingChairs_release/data/和D:/project/FlyingChairs/FlyingChairs_release/data/為自己數(shù)據(jù)下的路徑。
9. 計(jì)算機(jī)運(yùn)行如下,說明代碼運(yùn)行成功了~



本人的電腦配置也是太low了,只能將batch_size設(shè)為1,才能跑起來(lái),后期打算用服務(wù)器跑一波~~~
參考
[2]?鏈接:https://pan.baidu.com/s/1CCHzV0lszjhRrevFnC2h0Q,提取碼:rblw
[3]?Visual Studio Professional 2015 (with Update 3) 安裝教程_mycurry的博客-CSDN博客_vs2015update3安裝教程
[4]?超詳細(xì)的win10安裝對(duì)應(yīng)版本的CUDA和CUDNN !親測(cè)有效! - 程序員大本營(yíng)
[5]?NVIDIA cuDNN | NVIDIA Developer
[6]?Flownet2 NVIDIA pytorch最新安裝教程 有效的避坑教程_晉圖的非正常人類胡言亂語(yǔ)集合-CSDN博客