AIACC-Inference(AIACC推理加速)支持优化基于可导出ONNX格式的框架搭建的模型,能显著提升推理性能。本文介绍如何手动安装AIACC-Inference(AIACC推理加速) ONNX版并测试demo。
前提条件
- 已创建阿里云GPU实例:
- 实例规格:配备NVIDIA P100、V100或T4 GPU
说明 更多信息,请参见实例规格族。
- 实例镜像:Ubuntu 16.04 LTS或CentOS 7.x
- 实例规格:配备NVIDIA P100、V100或T4 GPU
- GPU实例已安装:
- Python 3.6
- CUDA 10.0、10.2或者11.0
- cuDNN 7.6或以上版本
- TensorRT 7.0.0.11(CUDA 10.0)或者7.1.3.4(CUDA 10.2、11.0)
背景信息
ONNX是一种开放式的文件格式,用于存储训练好的模型。通过ONNX可以将不同框架的模型数据存储成统一的格式,便于在同一环境下测试不同框架的模型。
AIACC-Inference(AIACC推理加速) ONNX版通过对模型计算图进行切割、执行层间融合,以及高性能OP实现,大幅提升推理性能。通过AIACC-Inference(AIACC推理加速) ONNX版提供的ONNX模型优化软件接口,您可以对基于PyTorch、MXNet及其它支持导出ONNX模型框架开发的深度学习模型进行推理优化。
AIACC-Inference(AIACC推理加速) ONNX版提供了FP32和FP16两种精度的模型优化选项,其中FP16精度的模型可以利用NVIDIA Volta和Turing架构下的Tensor Core硬件,进一步提升在V100、T4 GPU上的推理性能。
操作步骤
本文示例中基于ResNet50模型执行推理任务,随机生成一张图像并分类,将推理耗时从6.4 ms降低至1.5 ms以内。
采用的环境配置如下:
- 实例规格:配备T4 GPU的ecs.gn6i-c4g1.xlarge
- 实例镜像:Ubuntu 16.04 64位
- Python:3.6.12
- CUDA:10.0.130
- cuDNN:7.6.5
- TensorRT:7.0.0.11
使用AIACC-Inference(AIACC推理加速) ONNX版的操作步骤如下: