当前位置:   article > 正文

jetson orin nano 使用yolov8导出engine_userwarning: specified provider 'cudaexecutionprov

userwarning: specified provider 'cudaexecutionprovider' is not in available

1. 导出onnx

经过前面训练,得到了best.pt模型,现在想要使用tensorrt进行推理,需要先导出为onnx格式,再转化为engine格式。

yolo export model=best.pt format=onnx opset=12 simplify=True
  • 1

2.解决错误

在导出过程中,可能会出现错误,

  1. cmake版本问题
    安装好后,默认cmake版本为3.16,需要对cmake进行升级
 sudo pip install --upgrade cmake==3.24.0 -i https://pypi.douban.com/simple
 hash -r
 使用cmake --version 查看最新版本号
  • 1
  • 2
  • 3
  1. 没有onnxruntime、onnxsim问题
    使用以下命令安装
 pip3 install  onnxsim onnxruntime -i https://pypi.douban.com/simple
  • 1

3.使用gpu进行预测

yolo task=pose mode=predict model=/home/nvidia/best.onnx source=0 show=True save=True device=0
  • 1

如果出现错误

onnxruntime_inference_collection.py:69: UserWarning: Specified provider 'CUDAExecutionProvider' is not in available provider names.Available providers: 'AzureExecutionProvider, CPUExecutionProvider'
  warnings.warn(
  • 1
  • 2

说明没有安装onnxruntime-gpu,无法使用gpu进行预测。
解决办法:
在jetson orin nano中,先卸载onnruntime,

pip3 uninstall   onnxruntime
  • 1

然后在https://elinux.org/Jetson_Zoo,根据自己的jetpack版本、cuda版本、python版本,选择对应的onnxruntime-gpu,在这里插入图片描述
例如,我的时jetpack5.1.1,cuda是11.4,python是3.8,所以选择onnxruntime1.12.1,
在官网https://onnxruntime.ai/docs/execution-providers/CUDA-ExecutionProvider.html查看cuda对应的onnruntime-gpu版本。
下载完成后,使用命令安装

pip3 install onnxruntime_gpu-1.12.1-cp38-cp38-linux_aarch64.whl
  • 1

4、导出为engine

首先设置tensorrt路径,打开~/.bashrc,添加

export PATH=/usr/src/tensorrt/bin:$PATH
  • 1

到文件末尾,执行

source ~/.bashrc
  • 1

更新后,可以执行

trtexec --onnx=/home/nvidia/best.onnx --saveEngine=/home/nvidia/best.engine
  • 1

等待5-10分钟后,转换完毕

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/423887
推荐阅读
相关标签
  

闽ICP备14008679号