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