【Tensorrt】【笔记】转换及笔记

注:要选择相应的版本,执行对应的readme 中的内容,否则会报错。

顶部位置

具体内容

1. readme 翻译

TensorRTx旨在通过TensorRT网络定义API实现流行的深度学习网络。
为什么我们不使用解析器(ONNX解析器、UFF解析器、caffe解析器等),而是使用复杂的API从头开始构建网络?我总结了以下方面的优势。
- 灵活、易于修改网络、添加/删除层或输入/输出张量、替换层、合并层、将预处理和后处理集成到网络中等。
- 可调试,以增量开发方式构建整个网络,易于获得中间层结果。
- 有机会学习,在这一发展过程中了解网络结构,而不是将一切视为黑箱。

TensorRTx的基本工作流程是:
- 从pytorch、mxnet或tensorflow等获取经过训练的模型。一些pytorch模型可以在我的repo pytorchx中找到,其余的来自流行的开源repo。
- 将权重导出到纯文本文件–.wts文件。
- 在TensorRT中加载权重,定义网络,构建TensorRT引擎。
- 加载TensorRT引擎并运行推理。

2. git 链接

返回顶部

注:新的代码没有执行成功

- 已经解决,原因是版本没有对应上。

3. yolov5 旧代码,成功执行记录

返回顶部

自己运行后代码

百度云链接:https://pan.baidu.com/s/1VVB3u9yyI0JECHPWyNYxmg?pwd=6666 提取码:6666

一、使用.pt从pytorch生成.wts,或从model zoo下载.wts

    1. 下载 yolov5-5.0 的源码(https://github.com/ultralytics/yolov5/releases/tag/v5.0)
    2. 下载 tensorrtx 的源码,并将其中的 tensorrtx/yolov5/gen_wts.py 复制到 yolov5-5.0/weights/ 的文件夹下。(https://github.com/wang-xinyu/tensorrtx)
    1. 下载 yolov5 的权重文件(我下载的是 5.0 的权重文件),并将权重文件放到 yolov5-5.0/weights/ 的文件夹下。(下载地址,同 1 中的链接)
    1. 在 Terminal 中找到 yolov5 源码的位置,
      并执行:python gen_wts.py -w ./weights/yolov5s.pt -o ./weights/yolov5s.wts

二、【 在 盒子中运行 】构建tensorrtx/yolov5并运行(Windows 下 不能进行编译)(新代码没有运行成功)

    1. 进入到 tensorrtx/yolov5 文件夹下,运行mkdir build 创建文件夹。
    1. 复制 一.4 中生成的 yolov5s.wts 到 tensorrtx/yolov5/weights 文件夹中
    1. cd build ,进入到新创建的文件夹中。
      • 3.1 修改类别数量,在 yololayer.h 文件中
      • 3.2 cmake …
      • 3.3 make (成功的话,会在 build 文件夹下出现 yolov5 的 二进制文件)
      • 3.4 执行 sudo ./yolov5 -s …/weights/yolov5s.wts …/weights/yolov5s.engine s (最后的 s 指代原模型的类型是 s/m/l/x 中的哪种)
        成功的话,会在 指定的位置生成了对应 yolov5s.engine and build/libmyplugins.so(build 文件夹中) 文件
        在这里插入图片描述
    1. 修改 yolov5/yolov5_trt.py 中的四个路径:
      yolov5s.engine
      build/libmyplugins.so
      outputs 检测图片输出结果
      images 原图片存放位置
      执行 python yolov5/yolov5_trt.py 进行检测图片

4. 内容4

返回顶部

在这里插入代码片

5. 内容5

返回顶部

在这里插入代码片

6. 内容6

返回顶部

在这里插入代码片

猜你喜欢

转载自blog.csdn.net/qq_32342205/article/details/128812044