当前位置: 首页 > 知识库问答 >
问题:

Onnxruntime vs PyTorch

巴照
2023-03-14

我已经训练活在当下-v3微小在我的自定义数据集使用PyTorch。为了比较推论时间,我在CPU上尝试了onnxruntime以及PyTorch GPU和PyTorch CPU。平均运行时间约为:

onnxruntime cpu:110毫秒-cpu使用率:60%Pytorch GPU:50毫秒Pytorch cpu:165毫秒-cpu使用率:40%,所有型号都使用批量大小为1的产品。

然而,我不明白onnxruntime与PyTorch CPU相比如何更快,因为我没有使用onnxruntime的任何优化选项。我只是用了这个:

onnx_model = onnxruntime.InferenceSession('model.onnx')
onnx_model.run(None,{onnx_model.get_inputs()[0].name: input_imgs })

有人能给我解释一下为什么没有任何优化它会更快吗?以及为什么在使用onnxruntime时CPU使用率更高。有什么办法可以控制住它吗?

提前谢谢。

共有1个答案

施冠玉
2023-03-14

ONNX运行时使用静态的ONNX图形,因此它具有图形的完整视图,并且可以执行许多Pyrotch不可能/更难执行的优化。在某种意义上,它类似于编译的编程语言实现与解释的编程语言实现。

 类似资料:

相关问答

相关文章

相关阅读