且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何将深度学习模型从MATLAB导入PyTorch?

更新时间:2023-02-07 23:03:26

您可以首先 ONNX 加载模型;先决条件是:

You can first export your model to ONNX format, and then load it using ONNX; prerequisites are:

pip install onnx onnxruntime

然后

onnx.load('model.onnx')
# Check that the IR is well formed
onnx.checker.check_model(model)

到目前为止,您仍然没有PyTorch模型.由于它是本机不支持.

Until this point, you still don't have a PyTorch model. This can be done through various ways since it's not natively supported.

一种解决方法(仅通过加载 模型参数)

A workaround (by loading only the model parameters)

import onnx
onnx_model = onnx.load('model.onnx')

graph = onnx_model.graph
initalizers = dict()
for init in graph.initializer:
    initalizers[init.name] = numpy_helper.to_array(init)

for name, p in model.named_parameters():
    p.data = (torch.from_numpy(initalizers[name])).data


使用 onnx2pytorch

import onnx

from onnx2pytorch import ConvertModel

onnx_model = onnx.load('model.onnx')
pytorch_model = ConvertModel(onnx_model)


注意:消耗时间


Note: Time Consuming

使用 onnx2keras ,然后使用(示例)