我们不能 运行 将 onnx 模型导入到 pytorch 吗?

Can't we run an onnx model imported to pytorch?

我一直在尝试从 onnx 格式导入模型以使用 pytorch。我发现很难找到相同的例子。由于互联网上的大多数资源都在谈论将 pytorch 模型导出到 onnx。

我发现torch.onnx()只能导出模型,还没有实现导入方法。直接安装 onnx 库,帮我做 onnx.load("model_name.onnx")。如何将此模型与 pytorch 一起使用?我无法使用 model.to(device="GPU")

将模型移动到 GPU

PyTorch 目前不支持导入 onnx 模型。在撰写此答案时,它是 open feature request.

虽然不能保证有效,但一个可能的解决方案是使用 Microsoft 开发的名为 MMdnn 的工具(不,它不只是 windows!),它支持与各种框架之间的转换。不幸的是,onnx 只能是转换的目标,而不是源。也就是说,您 可能 能够将您的模型导入另一个框架,然后使用 MMdnn 从该框架转换为 pytorch。显然这并不理想,成功的可能性将取决于其他框架如何使用 onnx,这可能不适合 MMdnn 的工作方式。

有一个名为 onnx2pytorch 的库可以帮助您将 onnx 模型转换为 PyTorch。