廣告設(shè)計專業(yè)自我介紹北京網(wǎng)站優(yōu)化公司
使用AI目標(biāo)檢測進(jìn)行缺陷檢測時,部署到Jetson上即小巧算力還高,將訓(xùn)練好的模型轉(zhuǎn)為tensorRT再部署到Jetson 上供http或GRPC調(diào)用。
1 Jetson nx 刷機(jī)
找個ubuntu 系統(tǒng)NVIDIA官網(wǎng)下載安裝Jetson 的sdkmanager一步步刷機(jī)即可。
本文刷的是JetPack 5.1, 其中包含
CUDA 11.4
cuDNN 8.6.0
TensorRT 8.5.2.2
Python 3.8.10
Ubuntu 20.04
2 下載解壓/安裝/測試Triton Server
其實(shí)triton server 不用安裝,直接下載解壓開箱即用,要安裝的是一堆依賴。
下載triton server 軟件包,Release 2.35.0 corresponding to NGC container 23.06
找到下面tritonserver2.35.0-jetpack5.1.2.tgz下載到Jetson并解壓到home。
根據(jù)jetson.md安裝triton server 的依賴包,如果不在jetson上使用triton 客戶端可以不裝triton client 的依賴。
將Triton server main分支下的docs文件夾下載后放到home/tritonserver2.35.0-jetpack5.1.2/tritonserver中,
$ cd docs/examples
$ ./fetch_models.sh
下載示例模型,cd 到home/tritonserver2.35.0-jetpack5.1.2/tritonserver/bin
$./tritonserver --model-repository=…/docs/examples/model_repository --backend-directory=…/backends
如果看到下圖8001/8000/8002 說明示例打開成功,triton server 安裝成功。
3 Train yolov5 model
使用ultralytics的yolov5 模型train 一個自己的model, 我選用的是yolov5l6,略微大一些, best.pt 153.1MB。
4 .pt 轉(zhuǎn)ONNX 轉(zhuǎn)TensorRT
個人認(rèn)為只有使用TensorRT模型部署NVIDIA顯卡才是推理速度最極致的體驗(yàn)。
Jetson 上官網(wǎng)下載一個Pycharm 軟件壓縮包,新建python環(huán)境。
安裝yolov5的依賴,參考Deploy on NVIDIA Jetson using TensorRT and DeepStream SDK
安裝到pytorch 和torchvision 即可,
再使用yolov5文件夾內(nèi)export.py
修改615行 --weights default ROOT / ‘best.py’
修改619行增加default=True使用半精度
修改638行default=[‘engine’]
Terminal $python3 export.py 可以看到log是先生成best.onnx再生成best.engine
半小時后轉(zhuǎn)化完畢。
5部署yolov5 到triton sever
在examples文件夾下新建自己的模型倉庫文件夾zz_model_repository
新建模型文件夾yolov5l6再新建名稱為1 的文件夾將best.engine copy進(jìn)來改名為model.plan
在yolov5l6下新建文件config.pbtxt輸入以下內(nèi)容:
name: "yolov5l6"
platform: "tensorrt_plan"
max_batch_size: 1
input [{name: 'images'data_type: TYPE_FP16format: FORMAT_NCHWdims: [3, 640, 640]}
]
output [{name: 'output0'data_type: TYPE_FP16dims: [25500, 8]}
]
backend: 'tensorrt'
同樣cd 到home/tritonserver2.35.0-jetpack5.1.2/tritonserver/bin
$./tritonserver --model-repository=…/docs/examples/zz_model_repository --backend-directory=…/backends
出現(xiàn)下圖說明模型加載成功。
6Triton client 調(diào)用模型
這一部分就是開發(fā)相機(jī),圖像前處理,調(diào)用模型,圖像后處理部分了,略過。