【Windows/C++/yolo开发部署04】使用CLI 和 python进行推理
【完整项目下载地址】:
【TensorRT部署YOLO项目:实例分割+目标检测】+【C++和python两种方式】+【支持linux和windows】资源-CSDN文库
经过前面的几个步骤,我们终于得到了模型文件best.engine。
那么,这个模型是否能用呢?我们需要使用CLI 和 python对其进行推理。如果CLI 和 python通过了,我们还需要对其进行c++推理。两个都没有问题的情况下,我们的这个系列文章,才结束。
那么,我们首先使用CLI 和 python推理。
目录
1. 使用 CLI 进行推理
1.1 查看帮助信息
1.2 运行命令推理
参数的详细解释
输出结果
2. 使用 Python 进行推理
2.1 运行命令推理
2.2 推理结果
1. 使用 CLI 进行推理
1.1 查看帮助信息
使用 tensorrt_yolo
库的 trtyolo
命令行工具进行推理。运行以下命令:
trtyolo infer --help
1.2 运行命令推理
trtyolo infer -e models/best.engine -m 3 -i images -o output -l labels.txt
推理结果将保存至 output
文件夹,并生成可视化结果。
参数的详细解释
-
trtyolo infer
主命令,表示使用 TRT YOLO 进行模型推理。 -
-e models/yolo11n-seg.engine
-e
(或--engine
):指定 TensorRT 引擎文件的路径。-
models/yolo11n-seg.engine
是预编译的 TensorRT 引擎文件,用于加速推理(可能是 YOLOv8 实例分割模型的 TensorRT 版本)。
-
-
-m 3
-m
(或--mode
):通常表示推理模式或输入尺寸的缩放倍数,具体含义需参考工具文档。-
常见可能性:
-
模式选择:如
3
可能代表同时保存结果并显示(不同工具定义不同)。 -
尺寸倍数:若模型默认输入为
640x640
,-m 3
可能将输入调整为1920x1920
(即640*3
)。
-
-
-
-i images
-i
(或--input
):指定输入图像的路径。-
images
是包含待推理图片的目录(也支持单张图片路径,如image.jpg
)。
-
-
-o output
-o
(或--output
):指定输出目录,保存检测后的图像/结果文件。-
结果可能包括标注框、分割掩膜的可视化图片及检测文本(如坐标、类别、置信度)。
-
-
-l labels.txt
-l
(或--labels
):指定类别标签文件。
labels.txt
是文本文件,每行一个类别名称(如person
,car
),用于将模型输出的类别 ID 映射为可读名称。
注意事项:
-
-m
的具体含义需结合工具文档确认,可能是自定义参数(如多线程、预处理配置等)。 -
确保
labels.txt
的类别顺序与模型训练时一致,否则标签解析会错误。
输出结果
(tensorrt_yolo_export_pt_2_onnx--2) PS E:\ultralytics-main\runs\segment\train4\weights> trtyolo infer -e models/best.engine -m 3 -i images -o output -l labels.txt
[I] Successfully found necessary library paths:
{
"nvinfer": "C:\\Program Files\\NVIDIA GPU Computing Toolkit\\TensorRT\\v8.6\\lib",
"cudnn": "C:\\Program Files\\NVIDIA GPU Computing Toolkit\\cuDNN\\v8.5\\bin",
"cudart": "C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.7\\bin"
}
WARNING: TensorRT was linked against cuDNN 8.9.0 but loaded cuDNN 8.5.0
WARNING: TensorRT was linked against cuDNN 8.9.0 but loaded cuDNN 8.5.0
[I] Infering data in images
Processing batches ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
[S] Finished Inference.
[S] === Performance summary ===
[S] Throughput: 44.4127 qps
[S] CPU Latency: min = 22.5161 ms, max = 22.5161 ms, mean = 22.5161 ms, median = 22.5161 ms, percentile(90%) = 22.5161 ms, percentile(95%) = 22.5161 ms, percentile(99%) = 22.5161 ms
[S] GPU Latency: min = 22.3913 ms, max = 22.3913 ms, mean = 22.3913 ms, median = 22.3913 ms, percentile(90%) = 22.3913 ms, percentile(95%) = 22.3913 ms, percentile(99%) = 22.3913 ms
(tensorrt_yolo_export_pt_2_onnx--2) PS E:\ultralytics-main\runs\segment\train4\weights>
2. 使用 Python 进行推理
使用 tensorrt_yolo
库运行示例脚本 segment.py
进行推理。
2.1 运行命令推理
python segment.py -e models/best.engine -i images -o output -l labels.txt