onnxruntime配置

本文介绍了如何在Python中安装和管理onnxruntime(包括CPU和GPU版本),重点关注conda环境下的安装步骤,以及如何在不同设备上进行推理过程示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1. onnxruntime 安装

2. onnxruntime-gpu 安装

2.1 举例:创建onnxruntime-gpu==1.14.1的conda环境


runtime指的是程序运行环境,是计算机系统中负责程序运行的组件。在编写程序时,需要考虑程序与运行环境之间的交互,以及程序在运行时所需的资源和环境。

在不同的编程语言中,runtime的实现方式也会有所不同。例如在Java中,runtime由Java虚拟机(JVM)实现,而在C++中,runtime可能由操作系统提供的动态链接库(DLL)实现。

通常情况下,程序员不需要直接操作runtime。但是,在调试程序或优化程序性能时,需要对runtime有一定的了解和掌握。此外,一些高级编程技术,如反射和动态加载,也需要使用runtime的相关功能。

1. onnxruntime 安装

onnx 模型在 CPU 上进行推理,在conda环境中直接使用pip安装即可

pip install onnxruntime

2. onnxruntime-gpu 安装

安装 onnxruntime-gpu 注意事项:

onnxruntime-gpu包含onnxruntime的大部分功能。如果已安装onnruntime要把onnruntime卸载掉。
安装时一定要注意与CUDA、cuDNN版本适配问题,具体适配列表参考:CUDA Execution Provider
 

>>> import onnxruntime
>>> onnxruntime.get_device()
'GPU'  #表示GPU可用
>>> onnxruntime.get_available_providers()
['TensorrtExecutionProvider', 'CUDAExecutionProvider', 'CPUExecutionProvider']

在 conda 环境中安装,不依赖于 本地主机 上已安装的 cuda 和 cudnn 版本,灵活方便。

  • python3.6, cudatoolkit10.2.89, cudnn7.6.5, onnxruntime-gpu1.4.0
  • python3.8, cudatoolkit11.3.1, cudnn8.2.1, onnxruntime-gpu1.14.1

如果需要其他的版本, 可以根据 onnxruntime-gpu, cuda, cudnn 三者对应关系自行组合测试。

2.1 举例:创建onnxruntime-gpu==1.14.1的conda环境

## 创建conda环境
conda create -n torch python=3.8

## 激活conda环境
source activate torch
conda install pytorch==1.10.0 torchvision==0.11.0 torchaudio==0.10.0 cudatoolkit=11.3 -c pytorch -c conda-forge
conda install cudnn==8.2.1
pip install onnxruntime-gpu==1.14.1
## pip install ... (根据需求,安装其他的包)

3.推理过程示例如下:

import onnxruntime
import numpy as np

device_name = 'cuda:0' # or 'cpu'
print(onnxruntime.get_available)

if device_name == 'cpu':
    providers = ['CPUExecutionProvider']
elif device_name == 'cuda:0':
    providers = ['CUDAExecutionProvider', 'CPUExecutionProvider']
# Create inference session
onnx_model = onnxruntime.InferenceSession('slowfast.onnx', providers=providers)
# Create the input(这里的输入对应slowfast的输入)
data = np.random.rand(1, 1, 3, 32, 256, 256).astype(np.float32)
# Inference
onnx_input = {onnx_model.get_inputs()[0].name: data}
outputs = onnx_model.run(None, onnx_input)

### 解决 Python 3.6 环境下 ONNX Runtime GPU 安装失败的方法 对于在 Python 3.6 环境中安装 `onnxruntime-gpu` 遇到的问题,可以采取以下措施来解决问题: #### 1. 检查环境配置 确保当前使用的 CUDA 和 cuDNN 版本与所要安装的 `onnxruntime-gpu` 的版本兼容。例如,在 Python 3.6 下推荐使用如下组合: - Python 3.6 - CUDA Toolkit 10.2.89 - cuDNN 7.6.5 - onnxruntime-gpu 1.4.0[^3] #### 2. 更新 pip 工具 为了防止因工具老旧而导致包下载或编译过程中的问题,建议先更新 pip 到最新版本。 ```bash python -m pip install --upgrade pip ``` #### 3. 创建新的 Conda 虚拟环境并激活 创建一个新的虚拟环境有助于隔离依赖项冲突,并保持项目的整洁有序。 ```bash conda create -n myenv python=3.6 conda activate myenv ``` #### 4. 安装特定版本的 onnxruntime-gpu 指定确切版本号来进行安装,避免自动匹配不合适的版本造成错误。 ```bash pip install onnxruntime-gpu==1.4.0 ``` 如果上述方法仍无法成功安装,则可能是因为本地缺少必要的构建工具或是网络连接不稳定等原因造成的。此时可尝试通过 conda 渠道获取预编译好的二进制文件,这通常能减少很多麻烦。 ```bash conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch conda install onnxruntime-gpu=1.4.0 ``` 以上操作应该能够帮助克服大多数情况下由于环境设置不当引起的安装难题。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈子迩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值