‘‘ object has no attribute ‘max_workspace_size‘ 【YOLOV10 TensorRT模型转换推理一条龙】

时间:2024-10-22 10:40:41

报错‘‘ object has no attribute ‘max_workspace_size‘ 

可能是没有TensorRT安装好,打开下面网站,选择自己的环境的zip下载。我是windows10,cuda12.3,就按我下面这样选。

一、下载TensorRT压缩包

https:///nvidia-tensorrt-8x-download

 二、复制文件到cuda目录

 下好后,打开lib和include文件夹,全选,复制到cuda安装目录对应的bin和include文件夹

我的目录是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.3\bin

 复制到这里

 三、在python环境中安装TensorRT

然后打开TensorRT压缩包里的python文件夹,选择适合自己python版本的,我是python3.10就选cp310,如果是python3.9就选cp39.将这个文件复制到yolov10根目录

 复制到这

 在pycharm终端输入安装

 pip install tensorrt-8.6.1-cp310-none-win_amd64.whl  

 出现下图所示就是安装成功了

 

四、 pt模型转换engine(可选)

将你的pt模型复制到yolov10根目录,我这里的是默认权重

 在终端输入

yolo export model=yolov10 format=engine half=True simplify opset=13 workspace=16

出现下图就成功了 

 五、YOLOV10默认权重下载地址

YOLOv10-N:/jameslahm/yolov10/releases/download/v1.0/
YOLOv10-S:/jameslahm/yolov10/releases/download/v1.0/
YOLOv10-M:/jameslahm/yolov10/releases/download/v1.0/
YOLOv10-B:/jameslahm/yolov10/releases/download/v1.0/
YOLOv10-L:/jameslahm/yolov10/releases/download/v1.0/
YOLOv10-X:/jameslahm/yolov10/releases/download/v1.0/

六、使用TensrRT推理例子 

 

  1. import cv2
  2. from ultralytics import YOLO
  3. # 加载YOLO模型
  4. model = YOLO("../") # 根据你的实际模型路径来修改
  5. # 预测图像
  6. frame = "../ultralytics/assets/" # 根据你的实际图片路径来修改
  7. # 使用模型推理
  8. results = model(frame)
  9. # 将检测结果画在帧上
  10. annotated_frame = results[0].plot()
  11. # 显示结果
  12. ("YOLOv10 Object Detection", annotated_frame)
  13. while True:
  14. # 如果按下'q'键,退出循环
  15. if (1) == ord("q"):
  16. break

七、效果评测 

使用PT

使用TensorRT后

屏蔽这些输出在推理时加个参数,verbose=False

results = (source='0', verbose=False)

八、参考资料

导出 -Ultralytics YOLO 文档

ONNX -Ultralytics YOLO 文档

TensorRT -Ultralytics YOLO 文档

 API - Python API 文档 ()

预测 -Ultralytics YOLO 文档

Neural Magic -Ultralytics YOLO 文档

 python - Hide Ultralytics' Yolov8 () output from terminal - Stack Overflow