选择Function导入ONNX预训练网络
深度学习工具箱™ONNX™模型格式转换器提供了三个函数来导入预训练的ONNX(开放神经网络交换)网络:importONNXNetwork
,importONNXLayers
,importONNXFunction
.
这个流程图说明了哪个导入函数最适合不同的场景。
请注意
默认情况下,importONNXNetwork
而且importONNXLayers
当软件无法将ONNX操作符转换为等效的内置MATLAB时,尝试生成自定义层®层。有关软件支持转换的运算符列表,请参见金宝appONNX操作符支持转换为内置M金宝appATLAB层.
importONNXNetwork
而且importONNXLayers
将生成的自定义层保存在包中+
在当前文件夹中。PackageName
importONNXNetwork
而且importONNXLayers
不会为每个不支持转换为内置MATLAB层的ONNX操作符自动生成自定义层。金宝app
决定
该表描述了选择ONNX导入函数的工作流程中的每个决策。
决定 | 描述 |
---|---|
是否所有的ONNX操作符都支持转换为等效的内置MATL金宝appAB层或软件可以自动生成自定义层? |
|
是否部署导入的网络? | 如果你使用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