有什么新的互操作性TensorFlow PyTorch
深度学习、MATLAB允许用户创建和火车模型在MATLAB或杠杆模型训练在开源通过模型转换。MATLAB R2022b之前,支持模型的转换包万博1manbetx括:进口和出口到ONNX™,和进口TensorFlow™。我们兴奋地分享,MATLAB R2022b,用户现在可以出口模型TensorFlow作为Python®代码,可以导入模型从PyTorch®(从对图像分类的支持)。万博1manbetx
我在这里展示的基本工作流如何出口TensorFlow深入学习网络,负载TensorFlow模型,并将其保存在SavedModel格式。
DarkNet19包包含四个文件:
您可能已经注意到在上面的代码输入维度PyTorch和MATLAB的顺序不同。有关更多信息,请参见输入维度排序深度学习平台。更多细节关于如何导入一个PyTorch模型,如何初始化导入的模型,以及如何执行工作流(如预测和培训)导入的模型中,看到的例子的importNetworkTFromPyTorch文档页面。
出口到TensorFlow
|
MATLAB代码:加载一个pretrained网络。的Pretrained深层神经网络文档页面显示您如何获得pretrained网络的所有选项。您也可以创建自己的网络。网= darknet19;出口网络净TensorFlow。的exportNetworkToTensorFlow函数可以节省DarkNet19 TensorFlow模型在Python包。 exportNetworkToTensorFlow(净,“DarkNet19”) |
- _init_。py文件,它定义了DarkNet19文件夹作为常规的Python包。
- 该模型。py文件,其中包含的代码定义了未经训练的TensorFlow-Keras模型。
- README。txt文件,它提供了说明如何加载TensorFlow模型并将其保存在HDF5或SavedModel格式。
- 权重。h5 HDF5格式的文件包含模型权重。
图:导出TensorFlow DarkNet19模型保存在常规的Python包。
Python代码:加载出口从DarkNet19 TensorFlow模型方案。进口DarkNet19模型= DarkNet19.load_model ()SavedModel格式保存导出的模型。 model.save (“DarkNet19_savedmodel”) |
从PyTorch进口
Python代码:加载一个pretrained图像的分类模型TorchVision图书馆。从torchvision进口进口火炬模型模型= models.mnasnet1_0 (pretrained = True)跟踪PyTorch模型。为更多的信息关于如何跟踪PyTorch模型,去火炬文档:跟踪一个函数。 X = torch.rand (3224224) traced_model = torch.jit.trace (model.forward X)保存该PyTorch模型。 traced_model.save (“traced_mnasnet1_0.pt”) |
MATLAB代码:PyTorch模型导入MATLAB使用importNetworkTFromPyTorch函数。作为一个未初始化的函数导入模型dlnetwork对象没有一个输入层。网= importNetworkFromPyTorch (“traced_mnasnet1_0.pt”);指定的输入规模进口网络和创建一个图像输入层。然后,添加图像输入层网络和初始化网络通过使用进口addInputLayer在R2022b函数(新)。 InputSize = (224 224 3);InputLayer = imageInputLayer (InputSize正常化= "没有");网= addInputLayer(净、InputLayer初始化= true); |
互操作性能力总结
- 找到所有可用的导入和导出功能(和他们的文档)深度学习进出口。
- 了解更多关于如何进出口网络,看到的深度学习工具箱之间的互操作性,TensorFlow PyTorch, ONNX。
- 关于进口车型的常见问题的答案,明白了建议从TensorFlow进口模型,PyTorch ONNX。
- 如果你工作在MATLAB中,你可以找到一个合适的网络在不断更新模型库:MATLAB深学习模型中心。
- 看看我们以前的博客文章从TensorFlow进口模型,PyTorch ONNX;你会发现有用的技巧在导入和一个例子你可以下载(重点从TensorFlow进口)。
- 类别:
- 深度学习
评论
要发表评论,请点击此处登录到您的MathWorks帐户或创建一个新帐户。