国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【jetson nano】jetson nano環(huán)境配置+yolov5部署+tensorRT加速模型

這篇具有很好參考價值的文章主要介紹了【jetson nano】jetson nano環(huán)境配置+yolov5部署+tensorRT加速模型。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

jetson nano環(huán)境配置+yolov5部署+tensorRT加速模型

斷斷續(xù)續(xù)地前后花了一個多星期配置環(huán)境以及部署模型,期間也報了無數(shù)錯誤,參考了很多文檔,求助了身邊的朋友,因此盡可能詳細的記錄一下這個過程。

致謝

此處感謝Xnhyacinth在配置過程中對我的幫助哈哈哈??( ?’ '?)??

主機和jetson nano環(huán)境

我主機上的環(huán)境是python3.9,cuda11.6
jetson nano環(huán)境jetpack4.6,cuda10.2,python3.6(conda)
【jetson nano】jetson nano環(huán)境配置+yolov5部署+tensorRT加速模型

jetson系統(tǒng)開機燒錄、系統(tǒng)設置、換源

先熟悉各個接口及其功能,具體可參考NVIDIA官方文檔(見下文)先組裝好買來的風扇,準備好無線網(wǎng)卡,我用的是即插即用的usb版本的無線網(wǎng)卡,JD上有賣,組裝時發(fā)現(xiàn)jetson nano開發(fā)板上有一個跳線帽,那里默認是沒有短接的,這樣的話只能連接電腦電源,必須先把跳線帽短接才能連接直流電源。
NVIDIA jetson nano官網(wǎng)
剛開始的燒錄,sd卡格式化以及相關工作都是對照這個來的,基本沒什么問題。完成之后就可以得到一個Ubuntu18.04的系統(tǒng),然后如果有無線網(wǎng)卡可以直接連接WiFi,我后面一般都是通過xshell連接開發(fā)板,直接在主機操作,除了需要查看圖片或者視頻的時候才接屏幕。
這個階段我還部分參考了以下文檔,在此做一個記錄不贅述了。
Nvidia Jetson Nano介紹與使用指南
Jetson Nano 從入門到實戰(zhàn)(案例:Opencv配置、人臉檢測、二維碼檢測)這篇文章我主要參考了2.4.1到2.4.3的部分,配置了一些系統(tǒng)環(huán)境并換源,因為不換源下載東西速度可能比較慢,具體如何換源的網(wǎng)上資料很多,可以自行查閱。

python環(huán)境配置

剛開始我沒有用虛擬環(huán)境,自帶的環(huán)境里是python2.7,先下載3.6,又在環(huán)境里裝了torch,花了好幾天所有環(huán)境全部裝完到最后跑yolov5的時候還是報錯,然后請教了其他人,讓我安裝conda的虛擬環(huán)境,于是從頭再來,重新裝conda環(huán)境。前面的坑我就不說了,我們直接安裝conda環(huán)境。建議卡在這里的也可以直接使用conda環(huán)境,確實方便很多。

conda環(huán)境

安裝conda環(huán)境前我們要一直意識到一個問題,jetson nano是aarch64架構的,因此Jetson Nano開發(fā)板無法成功安裝Anaconda。下載所有環(huán)境配置或者網(wǎng)上搜攻略都要加上jetson nano或者arm64位架構。conda環(huán)境同樣如此,miniconda和anconda都不支持jetson nano,我們需要下載archiconda(Archiconda是用于64位ARM平臺的Conda發(fā)行版),命令和使用方式和前兩者都一樣,所以也很方便。下載地址如下。
下載地址
安裝完成之后按照在Windows系統(tǒng)上一樣創(chuàng)建環(huán)境,(可以搜索如何用conda創(chuàng)建環(huán)境,我這里裝的是python3.6)創(chuàng)建完成后激活環(huán)境(我給環(huán)境取名為yolov5)

#激活環(huán)境
conda activate yolov5

然后我們需要先安裝很多包,很多很多。。我參考的是下面這個鏈接。建議這篇文章的第七步之前都可以按照作者寫的走一遍,特別是下載一些包和cmake那段,一條一條命令復制過去安裝,不然后面安裝環(huán)境的時候會發(fā)現(xiàn)很多包下載不成功。
Jetson Nano部署YOLOv5與Tensorrtx加速——(自己走一遍全過程記錄)

yolov5環(huán)境

然后接下來可以直接把你的yolo代碼傳到開發(fā)板上(我用的xftp),也可以先用官方的代碼測試一下,先把環(huán)境跑一遍。我這里是先用官方代碼跑了一遍再放的自己的代碼。
先在jetson nano上安裝一個git,然后直接

git clone https://github.com/ultralytics/yolov5.git

應該默認的是v7.0,反正是測試無關緊要。git下來之后,cd到y(tǒng)olov5主目錄下,直接

pip install -r requirements.txt

應該有一部分下載不成功,先別著急,可以試著看看里面有哪些包需要安裝,一個一個安裝,盡量選低一些版本,實在不行手動下載安裝包到本地然后安裝,有找不到的包可以去pypi.org搜索下載,注意選擇歷史版本,然后選合適的python版本和系統(tǒng)版本,關鍵詞“l(fā)inux”“cp36”“arrch64”。
【jetson nano】jetson nano環(huán)境配置+yolov5部署+tensorRT加速模型

matplotlib和opencv-python

我當時遇到的情況是有兩個包安裝不上,耽擱了一天,一個是matplotlib,一個是opencv-python。第二個包我甚至參考了很多網(wǎng)上的編譯安裝opencv的教程,用c++編譯安裝的方式折騰了很久,實際上不需要,只要參考Jetson Nano部署YOLOv5與Tensorrtx加速——(自己走一遍全過程記錄)并把作者的那些環(huán)境配置安裝完之后就解決了。
全部環(huán)境安裝完成之后直接命令行切到主目錄然后輸入python detect.py執(zhí)行,如果下載速度很慢可以提前去yolov5官方倉庫把yolov5s.pt下載到主目錄,沒有報錯就會在run/detect/exp目錄下生成兩張圖片,這就成功了。

tensorRT加速

tensorRT本質上就是把模型壓縮,變得更快,因為jetson nano算力不夠所以需要加速。官方倉庫在這里我參考的倉庫里面的README.md文檔,按照他的指令轉化成wts以及engine格式的模型文件。
另外還包括以下幾篇文章的tensor加速部分。但是以下文章的該部分僅供參考,要確保自己的yolo以及各項版本和你下載的tensorRT一致(實際上很有可能不一致,也就是說即使生成了engine文件也用不了)。
Jetson nano上部署自己的Yolov5模型(TensorRT加速)onnx模型轉engine文件
Jetson Nano部署YOLOv5與Tensorrtx加速——(自己走一遍全過程記錄)
之所以說僅供參考是因為

1. 里面的部分內容與實際情況不一致
比如修改訓練好的模型數(shù)量,默認是80我們不需要修改,但如果是自己訓練的模型就需要修改,修改地址并非他們所說的tensorrtx/yolov5/yololayer.h,而是應該參考官方文檔README里面的這樣一句話:

 cd [PATH-TO-TENSORRTX]/yolov5/
 # Update kNumClass in src/config.h if your model is trained on custom dataset

上面的注釋中提到了如果要修改分類數(shù)量應該在src/config.h文件中更新kNumClass變量
【jetson nano】jetson nano環(huán)境配置+yolov5部署+tensorRT加速模型
但是還是有可能報錯,TensorRT生成engine文件異常([TRT] Network::addScale::434, condition: shift.count > 0 ?)(這是可能出現(xiàn)的問題之一,我還遇到了其他的錯誤,比如生成了engine文件卻不能適配等),如果用下面的方法就不會出現(xiàn)這個問題。

2. 其實并不需要用上述方法,如果你是跑yolo模型
實際上yolov5主目錄里有export.py,可以直接調用tensorRT包實現(xiàn)把模型從xx.pt到xx.engine的轉換,非常方便,不需要其他操作。并且jetson nano有自帶的tensorRT包,我們只需要和我們的conda環(huán)境里的包的安裝目錄建立軟連接即可。具體方法見下節(jié)

Jetson Nano的conda 虛擬環(huán)境中使用TensorRT

建立軟鏈接

TensorRT的系統(tǒng)安裝路徑為:/usr/lib/python3.6/dist-packages/tensorrt/(這個是大家都一樣不變的)
執(zhí)行以下命令,建立虛擬環(huán)境(自己的虛擬環(huán)境)對應的軟鏈接(注意自己的archiconda的安裝目錄,這是本人目錄僅供參考/home/alen123/archiconda3/envs/yolov5/lib/python3.6/site-packages

sudo ln -s /usr/lib/python3.6/dist-packages/tensorrt* /home/alen123/archiconda3/envs/yolov5/lib/python3.6/site-packages

查看版本

>>> python
>>> import tensorrt
>>> tensorrt.__version__

運行export.py和detect.py

完成上步工作之后,tensorRT已經(jīng)作為一個包可以直接調用了,然后直接在終端執(zhí)行以下代碼:

python export.py --weights yolov5.pt --include engine -- device 0 

可能會報錯,告訴你部分包未安裝,這時候別著急安裝,先cat requirements.txt,查找對應的包,以onnx為例,找到requirements.txt里面onnx對應的版本,直接在命令行下載文件要求的最低版本,默認應該是被注釋掉了,在Export里面,我的是

# onnx>=1.9.0  # ONNX export

所以直接

pip install onnx==1.9.0

其他包同樣如此。
重新執(zhí)行

python export.py --weights yolov5.pt --include engine -- device 0 

會生成一個engine文件。如果想要在開發(fā)板上跑時有更快的速度可以加--half,降低精度的,同時可以顯著提高速度,我跑自己的模型時沒用tensorRT加速速度是>100ms每幀。加速后,但加--half前速度大約是50ms每幀,加了--half之后是30ms每幀。

python export.py --weights yolov5.pt --include engine --half -- device 0

然后就會生成一個xx.engine文件,再執(zhí)行detect.py,可以在文件里改,如果懶得改也可以直接命令行改模型:

python detect.py --weights yolov5.engine

這樣就大功告成了,如果換成自己訓練好的模型也是一樣的,注意模型名字,數(shù)據(jù)路徑什么的變化。

其他錯誤

其實一遍下來還有很多其他瑣碎的錯誤,但有些在調試過程中解決了就沒有全記錄下來,接下來想到可能會慢慢補充。

KeyError: ‘names’

  File "detect.py", line 368, in <module>
    main(opt)
  File "detect.py", line 262, in main
    run(**vars(opt))
  File "/home/alen123/archiconda3/envs/yolov5/lib/python3.6/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context
    return func(*args, **kwargs)
  File "detect.py", line 98, in run
    model = DetectMultiBackend(weights, device=device, dnn=dnn, data=data, fp16=half)
  File "/home/alen123/yolov5-7.0/models/common.py", line 500, in __init__
    names = yaml_load(data)['names'] if data else {i: f'class{i}' for i in range(999)}
KeyError: 'names'

在跑自己的模型時遇到的,原因是數(shù)據(jù)的yaml文件里面沒有模型類別名字,在自己訓練的模型的yaml文件最后加上即可。我的模型只有開關兩類,所以我要加上下面的內容。

names:
  0: open
  1: closed

總結

花了3個小時寫的,內容有點倉促,可能會慢慢補充,大家可以和我交流,如有錯誤之處懇請指正。總得來說在業(yè)界jetson nano的配置和使用都比較完善,資料也比較齊全,所以費點時間都可以在網(wǎng)上找到,謹以此文做一個備份和記錄供大家參考。

其他可能有用的參考文章

Nvidia Jetson nano 安裝Archiconda、gpu版torch、踩坑記錄
win10 yolov5轉換Tensorrt的engine模型全流程安裝運行解讀(使用TRT的PythonApi)

圖片展示

【jetson nano】jetson nano環(huán)境配置+yolov5部署+tensorRT加速模型
【jetson nano】jetson nano環(huán)境配置+yolov5部署+tensorRT加速模型文章來源地址http://www.zghlxwxcb.cn/news/detail-410941.html

到了這里,關于【jetson nano】jetson nano環(huán)境配置+yolov5部署+tensorRT加速模型的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • yolov5 部署jetson nano(通用) 保姆級教學

    yolov5 部署jetson nano(通用) 保姆級教學

    官網(wǎng)的官方鏡像下載地址:https://developer.nvidia.com/embedded/downloads 不一定能下載的下來,所以我提供了百度云鏈接下載,下載地址如下: 鏈接:https://pan.baidu.com/s/1njWhDqNquyUqnDRCp31y8w 提取碼:6qqh 1.需要下載兩個燒錄的配置軟件,這里推薦下面兩個軟件,一個軟件是格式化SD卡(

    2024年02月04日
    瀏覽(20)
  • Jetson Nano配置YOLOv5并實現(xiàn)FPS=25

    Jetson Nano配置YOLOv5并實現(xiàn)FPS=25

    JetPack 4.6——2021.8 yolov5-v6.0版本 使用的為yolov5的yolov5n.pt,并利用tensorrtx進行加速推理,在調用攝像頭實時檢測可以達到FPS=25。 在打開的文檔的末尾添加如下: 保持并退出,終端執(zhí)行 1.打開終端輸入: 2.修改nvzramconfig.sh文件 3.重啟Jetson Nano 4.終端中輸入: 可查看到swap已經(jīng)變?yōu)?/p>

    2024年02月13日
    瀏覽(20)
  • 【目標檢測】YOLOv5推理加速實驗:TensorRT加速

    前兩篇博文分別討論了YOLOv5檢測算法的兩種加速思路:采用多進程或批量檢測,不過效果均收效甚微。本問將討論使用TensorRT加速以及半精度推理/模型量化等優(yōu)化策略對檢測加速的實際影響。 測試圖片分辨率:13400x9528 GPU:RTX4090 Cuda:11.7 YOLOv5版本:最新版(v7.0+) 檢測策略:將

    2024年02月05日
    瀏覽(23)
  • 使用圖傳設備實現(xiàn)yolov5的遠程監(jiān)控與控制(YOLOv5檢測+jetson nano+無人機+無線圖傳+vnc)

    使用圖傳設備實現(xiàn)yolov5的遠程監(jiān)控與控制(YOLOv5檢測+jetson nano+無人機+無線圖傳+vnc)

    目前想把模型加速部署好的jetson nano,放在自制無人機上,飛至高空用于檢測,而且地面可以監(jiān)控檢測效果。 我想的檢測方案: 1、使用socket,手動建立一個發(fā)射端,一個接收端,這個配置只需要導入socket庫,寫好ip和端口號就可以了,再打開多線程,速度也應該挺快,但是需

    2024年01月19日
    瀏覽(21)
  • 親測可用-jetson nano b01上配置cuda加速的opencv

    親測可用-jetson nano b01上配置cuda加速的opencv

    前面的文章已經(jīng)寫過如何安裝鏡像及基礎配置 親測可用-jetson nano B01鏡像安裝及配置 jetson nano的官方鏡像中自帶opencv,但是不支持顯卡加速 輸入命令 按下數(shù)字7查看INFO界面,可以看到 所以默認自帶的是不支持cuda加速(GPU)的,沒有辦法充分發(fā)揮jetson上GPU的性能 卸載自帶的op

    2024年02月03日
    瀏覽(20)
  • Jetson nano系統(tǒng)安裝和環(huán)境部署

    Jetson nano系統(tǒng)安裝和環(huán)境部署

    使用sdk-manager安裝CUDA,這個安裝可前面安裝JetPack系統(tǒng)操作類似,然后將板子上Micro USB通過數(shù)據(jù)線和電腦鏈接。如下圖: 這一步就不用接跳線了!選中紅框的所有文件,開始下載安裝。 安裝完成后會自動添加路徑,這點不錯,如果沒有自動添加則要手動添加。手動添加方式:

    2024年02月15日
    瀏覽(19)
  • [CV學習筆記]tensorrt加速篇之yolov5seg 實例分割

    [CV學習筆記]tensorrt加速篇之yolov5seg 實例分割

    1. 前言 yolov5-7.0版本繼續(xù)更新了實例分割的代碼,其分割的精度與速度令人驚訝,本文將yolov5-seg進行tensorrt加速,并利用矩陣的方法對進行部分后處理. 實例分割原理:yolact yolov5seg-cpp實現(xiàn)代碼:Yolov5-instance-seg-tensorrt cpp矩陣實現(xiàn):algorithm-cpp 本文測試代碼:https://github.com/Rex-LK/tenso

    2024年02月02日
    瀏覽(70)
  • 【AI】在NVIDIA Jetson Orin Nano上使用tensorrtx部署yolov8

    【AI】在NVIDIA Jetson Orin Nano上使用tensorrtx部署yolov8

    本人下載的yolov8n.pt yolov8n-cls.pt:用于分類 yolov8n-pose.pt:用于姿勢識別 yolov8n-seg.pt:用于對象分割 yolov8n-v8loader.pt:專用于人員檢測器??? yolov8n.pt:用于對象檢測 1)測試圖片

    2024年02月06日
    瀏覽(48)
  • 深度學習技巧應用32-在YOLOv5模型上使用TensorRT進行加速的應用技巧

    深度學習技巧應用32-在YOLOv5模型上使用TensorRT進行加速的應用技巧

    大家好,我是微學AI,今天給大家介紹一下深度學習技巧應用32-在YOLOv5模型上使用TensorRT進行加速的應用技巧,TensorRT是NVIDIA公司提供的一個深度學習推理(inference)優(yōu)化器和運行時庫。它專門為生產(chǎn)環(huán)境下的高性能深度學習推理提供優(yōu)化支持。TensorRT可以加速深度學習模型在

    2024年02月02日
    瀏覽(21)
  • 【TensorRT】TensorRT 部署Yolov5模型(C++)

    【TensorRT】TensorRT 部署Yolov5模型(C++)

    ? 該項目代碼在本人GitHub代碼倉庫開源,本人GitHub主頁為:GitHub ? 項目代碼: ? NVIDIA TensorRT? 是用于高性能深度學習推理的 SDK,可為深度學習推理應用提供低延遲和高吞吐量。詳細安裝方式參考以下博客: NVIDIA TensorRT 安裝 (Windows C++) ? 經(jīng)典的一個TensorRT部署模型步驟為

    2023年04月26日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包