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



我正在尝试从MATLAB导入DNN训练模型到PyTorch。

我已经找到了相反情况的解决方案(从PyTorch到MATLAB),但没有提出关于如何从MATLAB导入训练模型到PyTorch的解决方案。

有什么想法吗?

你可以先导出你的模型到ONNX格式,然后使用ONNX加载它;先决条件:

pip install onnx onnxruntime

,

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

在此之前,您仍然没有PyTorch模型。这可以通过各种方式实现,因为它不是本机支持的。


一个变通方法(通过只加载模型参数)

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)

注意:耗时

使用onnx2keras,然后MMdnn从Keras转换到PyTorch(示例)

相关内容

  • 没有找到相关文章

最新更新