Files
Test_AI/run_comparison_benchmark.py
2026-01-20 10:54:30 +08:00

79 lines
2.1 KiB
Python

"""
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()