最近遇到2080ti显卡的训练与部署环境,迁移到3090显卡的机子上面,由于30系显卡需要nvidia cuda11版本以上才支持,原先的驱动比较老了只能支持cuda10.2。根据当前的版本情况,本文记录一下pytorch转onnx,用onnxruntime-gpu进行部署的一些版本依赖。
linux环境、nvidia驱动、cuda、cudnn、pytorch之间的依赖,conda简易安装cuda、cudnn等环境,已在下文中写明:
1. cuda10.1的依赖
cuda版本:10.1.243
cudnn版本:7.6.5
onnxruntime-gpu版本:1.4.0
pytorch版本:1.7.1
这个配置的考虑:onnxruntime-gpu1.4.0支持cuda10.1, 如果不用30系的卡cuda11版本以下可用
以下附上linux操作系统cuda加速推理下的onnxruntime-gpu的版本依赖 :
简易安装步骤:
conda install cudatoolkit=10.1 cudnn==7.6.5 pytorch==1.7.1 -c pytorch --yes
pip install onnxruntime-gpu==1.4.0
2. cuda11.3的依赖
cuda版本:11.3.1
cudnn版本:8.2.1
pytorch版本:1.8.1
onnxruntime-gpu版本:1.9.0
这个配置的考虑:pytorch1.7只能支持到cuda11.0因此升级到1.8,conda的cudnn8.0.4没法直接安装,所以考虑到安装方便采用cuda11.3。这里对宿主机的nvidia驱动版本有要求,下有链接。
简易安装步骤:
conda install cudatoolkit=11.3 cudnn==8.2.1 pytorch==1.8.1 -c pytorch --yes
pip install onnxruntime-gpu==1.9
上面cuda10.1环境下pytorch pt文件转换的onnx文件,大都可在此cuda11.3的onnxruntime-gpu下正常运行。
将huggingface transformer构建的bert,转换为onnx且支持batch推理,BERT模型推理时加速,已在下文中写明:
pytorch构建的深度学习模型(pt文件)转换为onnx格式,并支持batch输入,以bert模型为例_chen10314的博客-CSDN博客