PyTorch模型部署性能基准:CPU vs GPU vs TPU推理测试
在实际生产环境中,选择合适的硬件平台对模型推理性能至关重要。本文基于ResNet50模型,在不同计算设备上进行推理性能测试,为部署决策提供数据支持。
测试环境
- 模型:ResNet50(torchvision.models.resnet50)
- 输入尺寸:3x224x224
- 批处理大小:32
- 硬件平台:Intel Xeon Platinum 8358P (CPU)、NVIDIA A100 40GB (GPU)、Google TPU v3
测试代码
import torch
import time
from torchvision import models
device = 'cuda' # 切换为 'cpu' 或 'tpu'
model = models.resnet50(pretrained=True).to(device)
model.eval()
# 准备输入数据
input_tensor = torch.randn(32, 3, 224, 224).to(device)
# 预热
with torch.no_grad():
for _ in range(5):
output = model(input_tensor)
# 性能测试
latencies = []
with torch.no_grad():
for _ in range(100):
start_time = time.time()
output = model(input_tensor)
end_time = time.time()
latencies.append(end_time - start_time)
avg_latency = sum(latencies) / len(latencies)
print(f'平均延迟: {avg_latency:.4f} 秒')
测试结果(平均延迟)
- CPU: 0.185s
- GPU (A100): 0.012s
- TPU (v3): 0.009s
GPU和TPU的性能优势显著,TPU在处理深度学习任务时比CPU快约20倍。对于需要低延迟推理的应用场景,建议优先考虑GPU或TPU部署方案。
复现步骤
- 确保安装torch、torchvision
- 修改
device变量为对应平台 - 运行测试代码
- 记录并对比平均延迟数据

讨论