Compare commits
3 Commits
b0ddb6ee1a
...
8bbf485f71
| Author | SHA1 | Date | |
|---|---|---|---|
| 8bbf485f71 | |||
| ab8fa80fba | |||
| 4103b503db |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1 +1,4 @@
|
||||
CHANGELOG.md
|
||||
.trae/documents/plan_20260129_104739.md
|
||||
.trae/rules/commit_rules.md
|
||||
.trae/documents/将 yolov8 替换为 yolo11n.md
|
||||
|
||||
@@ -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系列长期支持版 |
|
||||
|
||||
@@ -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 记录这次修改
|
||||
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user