GPU测试
This commit is contained in:
79
run_comparison_benchmark.py
Normal file
79
run_comparison_benchmark.py
Normal file
@@ -0,0 +1,79 @@
|
||||
"""
|
||||
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()
|
||||
Reference in New Issue
Block a user