GO-Onnxruntime-example 環境架設(Ubuntu)
環境系統
系統 : ubuntu 20.04
cuda : 12.2
cmake : 3.26
以下指令僅供參考,依各自安裝版本修改版本號
安裝顯卡驅動
- step1 : 輸入指令 ubuntu-drivers devices 查看可用版本
- step3 : 重新啟動電腦,輸入指令
sudo reboot
- step4 : 重啟後輸入
nvidia-smi
,確認是否安裝成功。
安裝 cuda
- step1 : 到 Nvidia CUDA 網站下載 CUDA 程式,強烈建議使用 runfile
- step2 : 輸入指令 sudo sh cuda_12.2.0_535.54.03_linux.run 進行手動安裝
- step3 : 取消勾選安裝顯卡driver,以免發生驅動衝突,然後開始 install
安裝 cudnn
- step1 : 到 Nvidia CUDA 網站下載 cudnn,檔案應該會叫做 *.tar.xz
- step2 : 輸入指令解壓縮
- step3 : 輸入指令,複製Library到CUDA的安裝資料夾
設置環境變數
- step1 : 打開 .bashrc 在後面加上環境變數
- step2 : 設置cuda位置,最後加上
- step4 : 重新開啟terminal後,輸入
nvcc -V
確認 cuda&cudnn 是否正確安裝
多個 cuda 版本切換
- step3 : 重新開啟terminal後,輸入
nvcc -V
確認 cuda&cudnn 是否成功切換
安裝 golang
請參考 https://go.dev/doc/install,環境變數記得設定
安裝 GoCv
- step3 : 輸入指令開始安裝 openCV 4.9.0
- step4 : 輸入指令
go run ./cmd/version/main.go
,正確安裝會顯示如下
安裝 Onnxruntime cpp libary
- step9 :
cd /usr/local/bin/onnxruntime/build/Linux/Release
- step10 : 安裝 onnxruntime,輸入指令
sudo make install
使用 sample code
- step1 :
git clone https://github.com/yam8511/go-onnxruntime-example.git
,或去下載zip檔解壓縮
- step2 : 依照 README.md 提示輸入
- step3 : 輸入
go build -v -o run_od.exe ./yolov8_od
編譯執行檔
- step4 : 執行
./run_od.exe
cgo 路徑相關問題
pkg-config
pkg-config可以查看安裝套件提供的資訊
進入 inference.go ,右鍵點選 ort 相關的函式,點選go to definition,
在vscode上幫會出現他的路徑,切換至相關的檔案內。
Image Not Showing
Possible Reasons
- The image was uploaded to a note which you don't have access to
- The note which the image was originally uploaded to has been deleted
Learn More →
程式內有定義相關的路徑,問題救出現在這。
(方法一)更改 .bashrc 的環境變數
請根據你 headerfile、lib 實際位置更改
(方法二)將 include、lib 移動至指定位置
通常只能用指令移動,如果遇到權限問題就加sudo
(方法三)將 CFLAGS 更改路徑
通常只能用指令移動,如果遇到權限問題就加sudo
問題
cuda安裝失敗
使用runfile安裝,並且手動選擇不要安裝driver,安裝失敗原因通常就是driver版本衝突
onnxruntime cmake 警告
cuda12以下會出現,nvcc的相關報錯,用cuda12就不會有問題,可以安裝多個版本cuda,依照需求將軟連結重新設定即可
onnxruntime cmake 當機
建議以後可以開著資源管理器,監測使用資源,這次是記憶體空間不夠,加大swap虛擬記憶體即可解決
Nvidia-smi 重開機後會掉驅動
在應用程式 NVIDIA X Server Setting 中設定,設定 PRIME Profiles 到效能模式。