onnxruntime调用GPU
时间: 2025-01-04 09:27:00 浏览: 12
### 配置和使用 ONNXRuntime 调用 GPU 进行推理加速
为了利用 GPU 来加速模型推理过程,需要安装支持 GPU 的 ONNX Runtime 版本 `onnxruntime-gpu` 并确保环境已正确设置。
#### 安装 onnxruntime-gpu
首先,通过 pip 或 conda 安装适用于 GPU 的 ONNX Runtime:
对于 pip 用户:
```bash
pip install onnxruntime-gpu
```
对于 Conda 用户:
```bash
conda install -c conda-forge onnxruntime-gpu
```
确认 CUDA 和 cuDNN 已经正确安装并配置好,因为这些库是运行基于 GPU 推理所必需的[^1]。
#### 使用 Python API 设置 GPU 提供者
一旦安装完成,在加载 ONNX 模型之前指定要使用的执行提供程序。默认情况下,如果检测到了可用的 NVIDIA GPU 设备,则会自动优先选择它;但是也可以显式地定义这一点来确保行为一致性和可移植性。
下面是一个简单的例子展示怎样创建 Session 对象时指明使用 GPU Provider:
```python
import onnxruntime as ort
import numpy as np
# 创建 session 时候传入 ['CUDAExecutionProvider'] 参数表示启用GPU计算资源
session = ort.InferenceSession("model.onnx", providers=['CUDAExecutionProvider'])
input_name = session.get_inputs()[0].name
output_name = session.get_outputs()[0].name
dummy_input = np.random.randn(1, 3, 224, 224).astype(np.float32)
result = session.run([output_name], {input_name: dummy_input})
print(result)
```
这段代码片段展示了如何初始化一个带有特定设备类型的 InferenceSession 实例,并传递输入数据给模型以获取预测结果。
阅读全文