2

我正在尝试运行 ONNX 模型

import onnxruntime as ort
import onnxruntime.backend
model_path = "model.onnx"

#https://microsoft.github.io/onnxruntime/
ort_sess = ort.InferenceSession(model_path)


print( ort.get_device()  )

这打印出来

cpu

如何让它在我的 GPU 上运行?我如何确认它正在工作?

4

3 回答 3

6

您可能安装了 CPU 版本。尝试卸载 onnxruntime 并安装 GPU 版本,例如pip install onnxruntime-gpu.

然后:

>>> import onnxruntime as ort
>>> ort.get_device()
'GPU'
于 2020-10-22T01:04:47.247 回答
3

get_device() 命令将支持的设备提供给 onnxruntime。对于 CPU 和 GPU,有不同的运行时包可用。

目前您的 onnxruntime 环境仅支持 CPU,因为您已经安装了 onnxruntime 的 CPU 版本。

如果您想为 GPU 构建 onnxruntime 环境,请使用以下简单步骤。

第 1 步:卸载当前的 onnxruntime

>> pip uninstall onnxruntime

第二步:安装GPU版本的onnxruntime环境

>>pip install onnxruntime-gpu

步骤 3:验证设备对 onnxruntime 环境的支持

>> import onnxruntime as rt
>> rt.get_device()
'GPU'

第 4 步:如果您遇到任何问题,请检查您的 cuda 和 CuDNN 版本,它们必须相互兼容。请在此处参考此链接以了解 cuda 和 CuDNN 之间的版本兼容性。

于 2021-06-09T12:06:47.137 回答
1

您的 onnxruntime-gpu 版本应该与您的 cuda 和 cudnn 版本匹配,您可以从官方网站查看它们的关系: https ://onnxruntime.ai/docs/execution-providers/CUDA-ExecutionProvider.html

于 2021-11-15T11:44:11.583 回答