当前位置: 首页 > article >正文

【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 文件夹,并生成可视化结果。

参数的详细解释

  1. trtyolo infer
    主命令,表示使用 TRT YOLO 进行模型推理。

  2. -e models/yolo11n-seg.engine
    -e(或 --engine:指定 TensorRT 引擎文件的路径。

    • models/yolo11n-seg.engine 是预编译的 TensorRT 引擎文件,用于加速推理(可能是 YOLOv8 实例分割模型的 TensorRT 版本)。

  3. -m 3
    -m(或 --mode:通常表示推理模式或输入尺寸的缩放倍数,具体含义需参考工具文档。

    • 常见可能性:

      • 模式选择:如 3 可能代表同时保存结果并显示(不同工具定义不同)。

      • 尺寸倍数:若模型默认输入为 640x640-m 3 可能将输入调整为 1920x1920(即 640*3)。

  4. -i images
    -i(或 --input:指定输入图像的路径。

    • images 是包含待推理图片的目录(也支持单张图片路径,如 image.jpg)。

  5. -o output
    -o(或 --output:指定输出目录,保存检测后的图像/结果文件。

    • 结果可能包括标注框、分割掩膜的可视化图片及检测文本(如坐标、类别、置信度)。

  6. -l labels.txt
    -l(或 --labels:指定类别标签文件。

  • labels.txt 是文本文件,每行一个类别名称(如 personcar),用于将模型输出的类别 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

2.2 推理结果


http://www.kler.cn/a/542907.html

相关文章:

  • 【C++】——精细化哈希表架构:理论与实践的综合分析
  • 团结引擎 Shader Graph:解锁图形创作新高度
  • python-leetcode-单词搜索
  • STM32-知识
  • Oracle常用导元数据方法
  • win32汇编环境,对线程的创建与操作示例二
  • 理解UML中的四种关系:依赖、关联、泛化和实现
  • 美团智能外呼机器人意图训练全流程
  • docker发布自己的镜像
  • VSCode Cline 插件快速接入 DeepSeek API,提升本地深度学习效率
  • 讲解一下SpringBoot的RPC连接
  • Redis常见数据结构
  • 利用Python和SQLite进行数据处理与优化——从数据库操作到高级数据压缩
  • 除了try...catch,还有其他处理异步错误的方法吗?
  • clickhouse replicatedmergetree 恢复
  • 自制游戏——斗罗大陆
  • Unity使用iTextSharp导出PDF-02基础结构及设置中文字体
  • 2月10日QT
  • IGBT的两级关断
  • 线程池-抢票系统性能优化
  • python学opencv|读取图像(五十九)使用cv2.dilate()函数实现图像膨胀处理
  • 【Golang学习之旅】Go + MySQL 数据库操作详解
  • Pandas数据填充(fill)中的那些坑:避免机器学习中的数据泄露
  • react国际化配置react-i18next详解
  • 使用WebUI访问本地Deepseek(Ollama集成Open WebUI)
  • office 365 更新后打不开word问题