转换后的ONNX模型在CPU上运行,但不在GPU上运行



我使用以下命令将TensorFlow模型转换为ONNX:python -m tf2onnx.convert --saved-model tensorflow-model-path --opset 10 --output model.onnx转换成功,安装onnxruntime后,我可以在CPU上进行推理。

但当我创建一个新的环境,在上面安装onnxruntime-gpu并使用GPU进行推理时,我会根据模型得到不同的错误消息。例如,对于MobileNet,我收到W:onnxruntime:Default, cuda_execution_provider.cc:1498 GetCapability] CUDA kernel not supported. Fallback to CPU execution provider for Op type: Conv node name: StatefulPartitionedCall/mobilenetv2_1.00_224/Conv1/Conv2D

我尝试了不同的配方。有人知道为什么我在GPU 上运行时会出错吗

这不是错误。这是一个警告,它基本上告诉你特定的Conv节点将在CPU(而不是GPU(上运行。这很可能是因为GPU后端还不支持不对称填充,并且正在进行PR来缓解这个问题https://github.com/microsoft/onnxruntime/pull/4627.一旦合并了这个PR,这些警告应该会消失,这样的Conv节点将在GPU后端运行。

最新更新