首先感謝作者的開源代碼以及模型,
作者知乎論文指路:https://zhuanlan.zhihu.com/p/157530787
作者代碼指路:https://github.com/cfzd/Ultra-Fast-Lane-Detection
接下來是復現的程序以及其中遇到的坑,
基礎的nvidia顯卡安裝、CUDA安裝、cuDNN安裝這里不進行贅述,
復現的環境以及資料準備在作者的github倉庫里寫的很完整,按照步驟來就好,
需要注意一下的是第四步資料集的準備,在工程檔案夾中新建一個叫做CULANROOT或者TUSIMPLEROOT的檔案夾用于存放對應的資料,我自己只用了CUlane資料集做復現,
注意:如果你使用百度云下載資料集,請在解壓縮后確保檔案23 30frame part1.tar.gz和檔案23 30frame part2.tar.gz中的影像位于一個“driver_23_30frame”檔案夾中,而不是兩個單獨的檔案夾,這就意味著需要自己創建一個檔案夾,然后把兩個檔案夾中的影像移動到創建的檔案夾中,
它看起來像這樣:

當一切準備就緒,就可以開始了,
首先,我們需要根據自己的環境在 confits / culane.py 配置中修改資料,
其中的data_root路徑就是所下載的CULane資料集的路徑,
作者還說到log_path也需要修改,但是我暫時沒搞清楚如何修改,所以按住不動,
最后在終端執行命令運行demo即可,
運行:python demo.py configs/culane.py --test_model model/culane_18.pth
執行完畢后,每個場景生成一個.avi視頻,

接下來是復現程序中踩到的坑以及解決方法:
1、無法找到cv2模塊
解決:將 ~/.bashrc 中的source /opt/ros/kinetic/setup.bash注釋掉,因為安裝ros后他會在python_path中添加路徑,導致conda無法找到正確的路徑,
(后續添加:不知道什么原因,導致了我的環境出了問題,單純的對source /opt/ros/kinetic/setup.bash進行注釋已經無法再實作作用,現在的做法是在需要匯入cv2的 *.py檔案的頭部,添加如下兩條陳述句:
import sys
sys.path.remove(’/opt/ros/kinetic/lib/python2.7/dist-packages’)
這兩條陳述句的作用是使程式開始運行時不要用ros匯入的路徑,)
2、pytorch無法使用CUDA
錯誤提示:Torch not compiled with CUDA enabled
即:未在啟用CUDA的情況下編譯Torch
在終端使用命令 nvcc -V 出現以下提示:

出現這幾條陳述句,說明CUDA安裝沒有問題,后來經過多方查詢,發現是CUDA版本安裝過高,此時并沒有合適于此版本的pytorch,這個問題應該在安裝torch時意識到,因為在官網下載安裝時確實沒有出現對應CUDA版本的torch,
然后在終端檢測此版本的torch是否可以使用CUDA:
可以看到后續的輸出是False,也就是說這個版本的torch無法使用CUDA,
(也就是說,后續要用上CUDA只能使用低版本咯)
后來為了完成復現,決定不使用GPU轉而使用CPU來進行,所以對作者的原始碼進行了一點小小的改動,改動如下:
在程式開始時添加:device = torch.device(“cuda” if torch.cuda.is_available() else “cpu”)
然后將程式中所有的 .cuda() 更改為 .to(device),然后運行程式即可,
后續開坑計劃:CPU的效率確實是沒有GPU高的,安裝了GPU驅動卻沒有用起來是很難受的一件事情,所以后續打算卸載掉CUDA11.0安裝和torch配套的低版本CUDA,然后用GPU把此套代碼跑出來,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/169118.html
標籤:其他
