Compare commits

...

3 Commits

Author SHA1 Message Date
8bbf485f71 fix: 移除无用的 yolo11n.onnx 2026-01-29 18:56:56 +08:00
ab8fa80fba fix: 移除已废弃的 BENCHMARK flag
- BENCHMARK flag 在 TRT 8.5+ 已废弃
- tactic profiling 逻辑内部自动完成
2026-01-29 18:54:26 +08:00
4103b503db fix: 修复 tactic_sources 参数解析错误
- 支持数值格式 (+7) 和名称格式 (+CUBLAS,+CUDNN)
- 添加 tactic_values 常量说明文档
2026-01-29 18:48:27 +08:00
4 changed files with 32 additions and 32 deletions

3
.gitignore vendored
View File

@@ -1 +1,4 @@
CHANGELOG.md
.trae/documents/plan_20260129_104739.md
.trae/rules/commit_rules.md
.trae/documents/将 yolov8 替换为 yolo11n.md

View File

@@ -11,7 +11,7 @@
| 依赖 | 选择版本 | 理由 |
|------|---------|------|
| opencv-python | ==4.8.0 | 4.8系列首个稳定版,广泛验证 |
| opencv-python | ==4.8.0.74 | 4.8系列稳定版,广泛验证 |
| numpy | ==1.24.0 | Python 3.8-3.11完美兼容,成熟稳定 |
| paho-mqtt | ==1.6.1 | 1.6.x最终版企业级稳定 |
| sqlalchemy | ==2.0.23 | 2.0系列长期支持版 |

View File

@@ -1,24 +0,0 @@
# 将 yolov8 替换为 yolo11n 计划
## 需要修改的文件
| 文件 | 修改内容 |
|------|---------|
| **build_engine.py** | 8处 (模型名称、默认参数、帮助文本) |
| **CHANGELOG.md** | 6处 (示例命令、参数说明) |
| **__init__.py** | 1处 (使用说明) |
| **config/settings.py** | 2处 (默认模型路径) |
## 替换规则
- `yolov8s``yolo11n` (默认模型)
- `yolov8n, yolov8s, yolov8m, yolov8l, yolov8x``yolo11n, yolo11s, yolo11m, yolo11l, yolo11x`
- `./models/yolov8s.engine``./models/yolo11n.engine`
## 执行操作
1. 修改 `build_engine.py` - 更新所有模型名称和默认参数
2. 修改 `CHANGELOG.md` - 更新示例命令和参数表
3. 修改 `__init__.py` - 更新使用说明
4. 修改 `config/settings.py` - 更新默认模型路径
5. 更新 CHANGELOG 记录这次修改

View File

@@ -18,10 +18,15 @@ TensorRT Engine 生成脚本 (8GB显存优化版)
--opt-batch 优化Batch大小 (默认: 4) <-- TensorRT会针对此尺寸专门优化
--max-batch 最大Batch大小 (默认: 8)
--workspace 工作空间大小MB (默认: 6144即6GB)
--tactics 启用优化策略 (默认: +CUBLAS,+CUBLAS_LT,+CUDNN)
--tactics 优化策略 (默认: +7等价于 +CUBLAS,+CUBLAS_LT,+CUDNN)
--best 全局最优搜索 (默认: 启用)
--preview 预览特性 (默认: +faster_dynamic_shapes_0805)
"""
tactic_values:
CUBLAS = 1
CUBLAS_LT = 2
CUDNN = 4
+7 = 全部启用"""
import os
import sys
@@ -236,14 +241,30 @@ def build_engine(
config.set_flag(trt.BuilderFlag.TF32)
tactic_value = 0
for source in tactic_sources.split(','):
source = source.strip()
if not source:
continue
if source.startswith('+'):
config.set_tactic_sources(int(source[1:]))
elif source.startswith('-'):
config.set_tactic_sources(~int(source[1:]))
name = source[1:]
if name.isdigit():
tactic_value += int(name)
else:
name_upper = name.upper()
if name_upper == 'CUBLAS':
tactic_value += 1
elif name_upper == 'CUBLAS_LT':
tactic_value += 2
elif name_upper == 'CUDNN':
tactic_value += 4
if best:
config.set_flag(trt.BuilderFlag.BENCHMARK)
if tactic_value > 0:
config.set_tactic_sources(tactic_value)
# BENCHMARK flag 在 TRT 8.5+ 已废弃tactic profiling 逻辑内部自动完成
# config.set_flag(trt.BuilderFlag.BENCHMARK)
config.set_memory_pool_limit(trt.MemoryPoolType.WORKSPACE, workspace_mb * 1024 * 1024)