--- title: 'Project documentation template' disqus: hackmd --- Pytorch模型轉TensorRT模型,使用Webcam realtime在jetson nano上推理 === ## Jetpack4.6.1 [TOC] ## 安裝Jetson nano 下載Jetpack,裡面包含Linux os及gpu計算所需的套件 1. 到官網 https://developer.nvidia.com/embedded/jetpack-archive 2. 下載版本JetPack 4.6.5,或其他支援Jetson nano的版本,點選下載SD Card Image   3. 準備容量64g或以上的SD卡,並下載官方建議的燒錄軟體 https://etcher.balena.io/#download-etcher ,選擇下載好的Jetpack資料夾、SD卡,並進行燒錄,這會需要一點時間  4. 燒錄完成後插上Jetson nano,即可開機 5.可接上hdmi外接螢幕,或使用遠端桌面,我是簡單使用teamviewer,若要求更快的畫面傳輸速度,可使用內網連接方式的nvc 建立Docker虛擬環境、 建立環境 --- 1. 安裝x11,複製以下指令到本機Terminal中 ``` sudo apt-get install x11-apps ``` 2. 選擇JetPack4安裝包,因為我們要添加其他功能,更改成以下內容,貼到主機Terminal中並執行,會下載ultralytics映像檔,並把Docker環境建立 https://docs.ultralytics.com/guides/nvidia-jetson/#jetpack-support-based-on-jetson-device  ``` t=ultralytics/ultralytics:latest-jetson-jetpack4 sudo docker pull $t sudo docker run -it \ --privileged \ --device /dev/gpiochip0 \ --runtime=nvidia \ --device=/dev/video0:/dev/video0 \ --ipc=host \ -v /home/jetson-nano/Desktop:/data \ -e DISPLAY=$DISPLAY \ -v /tmp/.X11-unix:/tmp/.X11-unix \ ultralytics/ultralytics:latest-jetson-jetpack4 ``` :::info 需要先插上usb網路攝影機才可正確執行,不須使用Webcam可把device=刪除 ::: 其他Docker常用指令 ``` #啟動一個已存在的 Docker 容器 sudo docker start [myContainer_name] #進入正在運行的 Docker 容器的終端 sudo docker exec -it [myContainer_name] /bin/bash #運行一個新的 Docker 容器 sudo docker run -it --name my_container my_image #查看所有以建立的環境 sudo docker ps -a #刪除指定的 Docker 容器 sudo docker rm my_container #停止指定的 Docker 容器 sudo docker stop my_container ``` 載入pt模型,並轉換成TensorRT --- 1. 到本機終端輸入以下指令,把預先訓練好的pt檔案複製到你建立好的容器中 ``` sudo docker cp ./Desktop/best.pt <container_id>:/best.pt ``` :::info 需更改你的pt檔案位置,以及你的容器id ::: 2.回到剛剛的虛擬環境中,執行以下指令,若成功會把pt轉換成engine檔,這會需要一點時間 ``` yolo export model=/best.pt format=engine ``` :::info 過程中GPU可能會過熱,導致執行錯誤?? 可以使用以下指令開啟或關閉散熱風扇 `sudo sh -c 'echo 255 > /sys/devices/pwm-fan/target_pwm'` `sudo sh -c 'echo 0 > /sys/devices/pwm-fan/target_pwm'` ::: 進行Webcam即時推理 --- 允許容器連接到 X11在主機上,允許 Docker 容器連接到你的 X11 伺服器 在你的本機Terminal執行: ``` xhost +local:docker ``` 複製以下指令到虛擬環境中 ``` yolo predict model=/best.engine source=0 show=True ``` 如成功,將打開你的Webcam進行推理 ## 恭喜成功,成果展示
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up