[ultralytics/yolov5]如何将使用yolov5n训练出来的best.pt转换成C++可以用的权重格式呢?

2024-03-05 864 views
9

作者你好。我使用v6.0版本代码,导入yolov5-nano模型训练了自己的数据集。现在因为项目需要,需要把best.pt转换成能在C++环境下使用的格式。有什么方法可以做到了吗?你们有没有写类似的专题?如果有相关的教程可以分享给我吗?谢谢

额外的

针对v6.0版本

回答

7

这个问题由几个因素决定,最典型的是你的硬件设备(例如,你是否有 GPU,或者是否有 NPU 增强)。

4

我有一个 RTX3090 GPU。

5

有没有办法将best.pt转换为可以在windows10下的C++环境(如Visual Studio2019)中使用的形式?如果该方法仅限于 Ubuntu 则没问题

8

我想你可以尝试 TensorRT 作为后端。

9

你知道libtorch吗?目前是否适用于yolov5-6.0版本的yolov5n权重转换?

6

@Wanghe1997 你可以按照这个步骤:pt-->onnx-->weights

4

如果你用的是vs2017以上的版本,首先支持MSVC 14.1以上的,那配置就很多了,像libTorch,tensorRT,ONNXRuntime,OpencCV等都,教程也多,但是可以如果是vs2015或者以前的版本( MSVC<=14.0),那么基本上只有opencv可以走了,libTorch也只能使用不超过1.3的版本希望,而yolov5最低也要torch1.7,这部分知道说使用libtorch1.3能部署不能约洛夫5

5

现在的libtorch的教程好像都是针对以前的YOLOv5版本,比如3.0-5.0,不知道是否不适用于最新的v6.0,是不是要过程中要修改一些代码或者参数?谢谢

1

您可以尝试将 pt 导出到 torchscript。