""" RTX 3050 TensorRT vs PyTorch 推理性能对比测试 测试目标: - 对比 TensorRT 和 PyTorch 推理方式的性能差异 - 评估最大同时接入摄像头路数 - 测试单路与整体系统的最大稳定帧率 - 生成详细的可视化分析报告 测试环境: - GPU: RTX 3050 (8GB) - 模型: YOLOv8n - 分辨率: 320x320, 480x480 - 精度: FP16, FP32 """ import sys import os import json import time from pathlib import Path from datetime import datetime # 添加当前目录到路径 sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) def main(): print("=" * 80) print("RTX 3050 TensorRT vs PyTorch 推理性能对比测试") print("=" * 80) # 检查环境 print("\n🔍 检查测试环境...") check_environment() # 运行对比测试 print("\n🚀 开始对比测试...") run_comparison_tests() print("\n✅ 对比测试完成!") def check_environment(): """检查测试环境""" try: import torch print(f"✅ PyTorch: {torch.__version__}") if torch.cuda.is_available(): print(f"✅ CUDA: {torch.version.cuda}") print(f"✅ GPU: {torch.cuda.get_device_name(0)}") print(f"✅ 显存: {torch.cuda.get_device_properties(0).total_memory // 1024**3}GB") else: print("❌ CUDA 不可用") except ImportError: print("❌ PyTorch 未安装") try: import tensorrt print(f"✅ TensorRT: {tensorrt.__version__}") except (ImportError, FileNotFoundError): print("⚠️ TensorRT: 不可用,将使用 Ultralytics 优化模式") try: import ultralytics print(f"✅ Ultralytics: {ultralytics.__version__}") except ImportError: print("❌ Ultralytics 未安装") def run_comparison_tests(): """运行对比测试""" from benchmark.comparison_runner import ComparisonRunner MODEL_PATH = "C:/Users/16337/PycharmProjects/Security_project/yolov8n.pt" OUTPUT_DIR = "./comparison_results" runner = ComparisonRunner(MODEL_PATH, OUTPUT_DIR) runner.run_full_comparison() if __name__ == "__main__": main()