Flownet Demo調試

爲了跑兩張圖片的光流圖看看效果,在github上找了Flownet pytorch的這個代碼(我不會說因爲這個提供了測試demo的)。
我的環境:
ubuntu18.04
python3.6
pytorch0.3
GTX1080ti

首先按照他的提示install

Installation
# install custom layers
cd FlowNet2_src
bash install.sh

記得加sudo。sudo sh install.sh
運行demo.py時出現錯誤

RuntimeError: cuda runtime error (30) : unknown error at /pytorch/torch/lib/THC/THCGeneral.cu.........

發現是有些編譯文件沒有修改,需要根據自己GPU修改編譯文件。
以其中一個爲例:

#!/usr/bin/env bash
PYTHON=${PYTHON:-"python"}
TORCH=$($PYTHON -c "import os; import torch; print(os.path.dirname(torch.__file__))")

cd src
echo "Compiling channelnorm kernels by nvcc..."
rm ChannelNorm_kernel.o
rm -r ../_ext

nvcc -c -o ChannelNorm_kernel.o ChannelNorm_kernel.cu -x cu -Xcompiler -fPIC -arch=sm_30 -I ${TORCH}/lib/include/TH -I ${TORCH}/lib/include/THC

cd ../
$PYTHON build.py

需要修改的是-arch=sm_30,簡而言之,這裏sm_30對應的是自己顯卡的實際計算能力,至於小代號21,31這種影響似乎不大。GTX1080ti是6.1,我改爲sm_60,可編譯通過。(似乎不同的計算能力,也就以爲這不同版本)
在這裏插入圖片描述
這裏三個here就是需要修改的地方了。

運行demo再次出現錯誤

RuntimeError: CUDNN_STATUS_INTERNAL_ERROR

運行如下命令,然後重啓。

sudo rm -rf ~/.nv

一個簡單的重啓,就是見證奇蹟的時刻來了!
在這裏插入圖片描述
Reference
https://www.jianshu.com/p/bf183355f0e7
https://github.com/vt-vl-lab/pytorch_flownet2/blob/master/FlowNet2_src/models/components/ops/channelnorm/make.sh#L10
https://blog.csdn.net/donglin425/article/details/6529378

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章