选择要导入的函数ONNX Pretrained网络
Deep Learning Toolbox™ Converter for ONNX™ Model Formatprovides three functions to import a pretrained ONNX (Open Neural Network Exchange) network:importONNXNetwork
,importONNXLayers
, andimportONNXFunction
.
This flow chart illustrates which import function best suits different scenarios.
Note
By default,importONNXNetwork
andimportONNXLayers
try to generate a custom layer when the software cannot convert an ONNX operator into an equivalent built-in MATLAB®layer. For a list of operators for which the software supports conversion, seeONNX Operators Supported for Conversion into Built-In MATLAB Layers.
importONNXNetwork
andimportONNXLayers
save the generated custom layers in the package+
in the current folder.PackageName
importONNXNetwork
andimportONNXLayers
do not automatically generate a custom layer for each ONNX operator that is not supported for conversion into a built-in MATLAB layer.
Decisions
This table describes each decision in the workflow for selecting an ONNX import function.
Decision | Description |
---|---|
Are all the ONNX operators supported for conversion into equivalent built-in MATLAB layers or can the software automatically generate custom layers? |
|
Will you deploy the imported network? | If you useimportONNXNetwork orimportONNXLayers , you can generate code for the imported network. To create aDAGNetwork object for code generation, seeLoad Pretrained Networks for Code Generation(MATLAB Coder). |
Will you load the imported network with Deep Network Designer? | If you useimportONNXNetwork orimportONNXLayers , you can load the imported network with theDeep Network Designer应用程序。 |
If you retrain the imported network, will you use a custom training loop? |
|
Actions
This table describes each action in the workflow for selecting an ONNX import function.
Action | Description |
---|---|
UseimportONNXNetwork |
importONNXNetwork 返回一个DAGNetwork ordlnetwork object that is ready to use for prediction (for more information, see theTargetNetwork name-value argument). Predict class labels by using theclassify function on theDAGNetwork object or thepredict function on thedlnetwork object. |
UseimportONNXLayers |
importONNXLayers 返回一个LayerGraph object compatible with aDAGNetwork ordlnetwork object (for more information, see theTargetNetwork name-value argument).importONNXLayers 插入占位符p层lace of unsupported layers. Find and replace the placeholder layers. Then, you can assemble the layer graph by usingassembleNetwork , which returns aDAGNetwork object, or convert the layer graph to adlnetwork object by usingdlnetwork . |
UseimportONNXFunction |
importONNXFunction 返回一个nONNXParameters object, which contains the network parameters, and a model function (seeImported ONNX Model Function), which contains the network architecture. TheONNXParameters object and the model function are ready to use for prediction. For an example, seePredict Using Imported ONNX Function. |
Find and replace the placeholder layers | To find the names and indices of the placeholder layers in the imported network, use thefindPlaceholderLayers function. You then can replace a placeholder layer with a new layer that you define. To replace a layer, usereplaceLayer . |
See Also
importONNXNetwork
|importONNXLayers
|importONNXFunction
|DAGNetwork
|dlnetwork
|layerGraph
|ONNXParameters