选择“功能导入ONNX预训练网络”
深度学习工具箱™转换器的ONNX™模型格式提供三个功能来导入经过训练的ONNX(开放神经网络交换)网络:importONNXNetwork
,importONNXLayers
,importONNXFunction
.
这个流程图说明了哪个导入函数最适合不同的场景。
请注意
默认情况下,importONNXNetwork
和importONNXLayers
当软件不能将ONNX操作符转换成等效的内置MATLAB时,尝试生成一个自定义层®层。有关软件支持转换的操作符列表,请参见金宝appONNX操作符支持转换到内置的金宝appMATLAB层.
importONNXNetwork
和importONNXLayers
将生成的自定义层保存在包中+
在当前文件夹中。PackageName
importONNXNetwork
和importONNXLayers
不自动生成每个ONNX操作符的自定义层,不支持转换到内置的MATLAB层。金宝app
决定
这个表描述了工作流中选择ONNX导入函数的每个决策。
决定 | 描述 |
---|---|
是否支持所有的ONNX操作符转换成等效的内置MATLA金宝appB层,或者软件可以自动生成自定义层? |
|
您会部署导入的网络吗? | 如果你使用importONNXNetwork 或importONNXLayers ,您可以为导入的网络生成代码。创建一个DAGNetwork 对象以生成代码,请参见加载预训练的代码生成网络(MATLAB编码器). |
你会用深度网络设计器加载导入的网络吗? | 如果你使用importONNXNetwork 或importONNXLayers ,可以使用深层网络设计师应用程序。 |
如果您重新培训导入的网络,您会使用自定义的培训循环吗? |
|
行动
这个表描述了工作流中选择ONNX导入函数的每个操作。
行动 | 描述 |
---|---|
使用importONNXNetwork |
importONNXNetwork 返回一个DAGNetwork 或dlnetwork 对象,该对象可以用于预测(有关更多信息,请参见TargetNetwork 名称-值参数)。类来预测类标签分类 功能上的DAGNetwork 对象或预测 功能上的dlnetwork 对象。 |
使用importONNXLayers |
importONNXLayers 返回一个LayerGraph 对象兼容DAGNetwork 或dlnetwork 对象(有关更多信息,请参见TargetNetwork 名称-值参数)。importONNXLayers 在不支持的层的位置插入占位符层。金宝app找到并替换占位符层。然后,使用assembleNetwork ,返回DAGNetwork 对象,或将层图形转换为dlnetwork 对象的使用dlnetwork . |
使用importONNXFunction |
importONNXFunction 返回一个ONNXParameters 对象,该对象包含网络参数和模型函数(请参见导入的ONNX模型功能),其中包含网络架构。的ONNXParameters 对象和模型函数都可以用于预测。例如,请参见使用导入的ONNX函数进行预测. |
找到并替换占位符层 | 要查找导入网络中的占位符层的名称和索引,请使用findPlaceholderLayers 函数。然后,您可以将占位符层替换为您定义的新层。要替换一个层,使用replaceLayer . |
另请参阅
importONNXNetwork
|importONNXLayers
|importONNXFunction
|DAGNetwork
|dlnetwork
|layerGraph
|ONNXParameters