TensorRT测试
This commit is contained in:
81
run_complete_batch_test.py
Normal file
81
run_complete_batch_test.py
Normal file
@@ -0,0 +1,81 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
完整的动态批次性能测试流程
|
||||
1. 构建动态批次 TensorRT 引擎
|
||||
2. 运行批次性能测试
|
||||
3. 生成可视化报告
|
||||
"""
|
||||
|
||||
import os
|
||||
import sys
|
||||
import subprocess
|
||||
|
||||
def run_command(cmd, description):
|
||||
"""运行命令并显示进度"""
|
||||
print(f"\n{'='*60}")
|
||||
print(f"🚀 {description}")
|
||||
print(f"{'='*60}")
|
||||
|
||||
result = subprocess.run(cmd, shell=True)
|
||||
|
||||
if result.returncode != 0:
|
||||
print(f"❌ {description} 失败")
|
||||
return False
|
||||
|
||||
print(f"✅ {description} 完成")
|
||||
return True
|
||||
|
||||
def main():
|
||||
"""主函数"""
|
||||
print("完整的动态批次 TensorRT 性能测试流程")
|
||||
print("="*60)
|
||||
|
||||
# 检查 conda 环境
|
||||
print("\n📋 执行步骤:")
|
||||
print(" 1. 构建动态批次 TensorRT 引擎")
|
||||
print(" 2. 运行批次性能测试")
|
||||
print(" 3. 生成可视化报告")
|
||||
|
||||
input("\n按 Enter 键开始...")
|
||||
|
||||
# 步骤 1: 构建动态批次引擎
|
||||
engine_path = "C:/Users/16337/PycharmProjects/Security/yolo11n_dynamic.engine"
|
||||
|
||||
if not os.path.exists(engine_path):
|
||||
print("\n🔧 步骤 1: 构建动态批次 TensorRT 引擎")
|
||||
if not run_command("conda activate yolov11 && python dynamic_batch_tensorrt_builder.py",
|
||||
"构建动态批次 TensorRT 引擎"):
|
||||
return
|
||||
else:
|
||||
print(f"\n✅ 动态批次引擎已存在: {engine_path}")
|
||||
print("跳过步骤 1")
|
||||
|
||||
# 步骤 2: 运行批次性能测试
|
||||
print("\n📊 步骤 2: 运行批次性能测试")
|
||||
if not run_command("conda activate yolov11 && python run_batch_performance_test.py",
|
||||
"运行批次性能测试"):
|
||||
return
|
||||
|
||||
# 步骤 3: 生成可视化报告
|
||||
print("\n🎨 步骤 3: 生成可视化报告")
|
||||
if not run_command("conda activate yolov11 && python visualize_batch_results.py",
|
||||
"生成可视化报告"):
|
||||
return
|
||||
|
||||
print("\n" + "="*60)
|
||||
print("🎉 完整测试流程执行完成!")
|
||||
print("="*60)
|
||||
print("\n📁 查看结果:")
|
||||
print(" - 测试数据: batch_test_results/")
|
||||
print(" - 可视化图表: batch_test_results/visualizations/")
|
||||
print(" - 总结报告: batch_test_results/visualizations/batch_performance_summary.txt")
|
||||
|
||||
if __name__ == "__main__":
|
||||
try:
|
||||
main()
|
||||
except KeyboardInterrupt:
|
||||
print("\n\n⏹️ 测试被用户中断")
|
||||
except Exception as e:
|
||||
print(f"\n❌ 执行过程中发生错误: {e}")
|
||||
import traceback
|
||||
traceback.print_exc()
|
||||
Reference in New Issue
Block a user