主要内容

选择要导入ONNX预审慎网络的函数

Deep Learning Toolbox™转换器ONNX™型号格式提供三个函数来导入验证的ONNX(开放神经网络交换)网络:experiponnxnetwork,,,,ExpientOnnXlayers, 和experconnxfunction

该流程图说明了哪些导入功能最适合不同的方案。

选择ONNX导入功能的流程图

笔记

默认,experiponnxnetworkExpientOnnXlayers当软件无法将ONNX运算符转换为等效的内置MATLAB时,请尝试生成自定义层®层。有关软件支持转换的操作员列表,请参见金宝app支持转换为内置MATLAB层的金宝appONNX操作员

experiponnxnetworkExpientOnnXlayers将生成的自定义层保存在软件包中+包裹名字在当前文件夹中。

experiponnxnetworkExpientOnnXlayers请勿自动为每个ONX运算符生成一个自定义层,该层不支持转换为内置MATLAB层。金宝app

决定

该表描述了工作流中的每个决定,以选择ONNX导入函数。

决定 描述
是否支持所有ONX运算符转换为同等的内置MATLAB层金宝app,或者软件可以自动生成自定义层?
  • 如果导入的网络包含不支持转换为内置MATLAB层的ONNX操作员(请参阅金宝app支持转换为内置MATLAB层的金宝appONNX操作员) 和experiponnxnetwork不生成自定义层,然后experiponnxnetwork返回错误。

  • 如果导入的网络包含不支持转换为内置MATLAB层的ONNX操作员,并且金宝appExpientOnnXlayers不生成自定义层,然后ExpientOnnXlayers将占位符层插入不受支持的层。金宝app

  • experconnxfunction金宝app支持大多数ONNX操作员。有关更多信息,请参阅EmportOnnxFunction支持的ONNX操作员金宝app

您会部署导入的网络吗? 如果您使用experiponnxnetwork或者ExpientOnnXlayers,您可以为导入网络生成代码。创建一个dagnetwork代码生成的对象,请参阅加载预告片的网络以生成代码(MATLAB编码器)
您会使用深层网络设计器加载导入的网络吗? 如果您使用experiponnxnetwork或者ExpientOnnXlayers,您可以加载导入的网络深网设计师应用程序。
如果您重新培训导入的网络,您会使用自定义培训循环吗?
  • 如果您使用experconnxfunction,您只能使用自定义培训循环来重新训练导入的网络。例如,请参阅使用自定义培训循环导入的火车在ONNX功能

  • 利用experiponnxnetworktargetNetwork指定为“ dlnetwork”将网络导入到一个dlnetwork目的。一个dlnetwork支持使用自动差异金宝app化对定制培训循环的支持。

  • 利用ExpientOnnXlayerstargetNetwork指定为“ dlnetwork”将网络导入到一个LayerGraph对象与dlnetwork目的。然后将图层图转换为dlnetwork通过使用dlnetwork

  • 有关培训选项的更多信息,请参阅在MATLAB中训练深度学习模型

动作

该表描述了工作流中的每个动作,以选择ONNX导入函数。

行动 描述
利用experiponnxnetwork experiponnxnetwork返回adagnetwork或者dlnetwork准备用于预测的对象(有关更多信息,请参阅targetNetwork名称值参数)。通过使用分类dagnetwork对象或预测dlnetwork目的。
利用ExpientOnnXlayers ExpientOnnXlayers返回aLayerGraph对象与dagnetwork或者dlnetwork对象(有关更多信息,请参见targetNetwork名称值参数)。ExpientOnnXlayers插入占位符的层,取而代之的层。金宝app查找并更换占位符层。然后,您可以使用汇编工作,返回dagnetwork对象,或将图层图转换为dlnetwork通过使用对象dlnetwork
利用experconnxfunction experconnxfunction返回OnnxParameters包含网络参数和模型功能的对象(请参阅导入ONNX模型功能),其中包含网络体系结构。这OnnxParameters对象和模型函数已准备好用于预测。例如,请参阅使用导入的ONNX函数预测
查找并更换占位符层 要在导入网络中找到占位符层的名称和索引,请使用Findplaceholderlayers功能。然后,您可以用定义的新层替换占位符层。要替换一层,请使用替代者

也可以看看

||||||

相关话题