analyzeNetworkForCodegen
分析深度学习网络代码生成
描述
例子
检查网络代码生成兼容性
本示例展示如何使用工具检查MobileNet-v2网络的代码生成兼容性analyzeNetworkForCodegen
函数。
你可以使用theanalyzeNetworkForCodegen
函数,当针对各种CPU和GPU深度学习库目标时,可以确定网络和层兼容性问题。
下载MobileNet-v2支持包金宝app
此示例使用预先训练过的MobileNet-v2版本MobileNet-v2网络的深度学习工具箱™模型金宝app支持包。
MobileNet-v2是一个53层的卷积神经网络。网络的预训练版本使用ImageNet数据库中的100多万张图像进行训练。预训练网络的图像输入大小为224 × 224,可以将图像分类为1000个对象类别,例如键盘、鼠标、铅笔和许多动物。
mobilenetv2
ans = DAGNetwork with properties: Layers: [154x1 nnet.cnn.layer.Layer] Connections: [163x2 table] InputNames: {'input_1'} OutputNames: {'ClassificationLayer_Logits'}
如果未安装MobileNet-v2网络支持包的深度学习工具箱模型,则该函数将在Add-On资源管理器中提供到所需支持包的金宝app链接。要安装支持包,请单击链接,然后金宝app单击安装.
分析网络代码生成
运行analyzeNetworkForCodegen
函数mobilenetv2
,指定要分析的目标库。的analyzeNetworkForCodegen
函数要求MATLAB®Coder™深度学习库接口和GPU Coder™深度学习库接口金宝app支持包。要安装所需的支持包,请使用Add-On资源管理器金宝app。
targetLibraries = {“cudnn”,“tensorrt”,“arm-compute-mali”,...“arm-compute”,“mkldnn”,“没有”,“cmsis-nn”};S = analyzeNetworkForCodegen(mobilenetv2,TargetLibrary = targetLibraries);
金宝app支持LayerDiagnostics _________ _________________________________________________________________________________________________________________________________________________________________________________ cudnn“是的”“tensorrt“是的”“arm-compute-mali“是的”“arm-compute“是的”“mkldnn“是”“”没有“不”“发现1不支持的层类型(s)。查看不兼容的层类型" cmsis-nn "No" "发现6个不支持的层类型。金宝app查看不兼容的层类型。”
要访问CMSIS-NN目标的分析结果,使用以下命令。
disp (S (7))
TargetLibrary: ' cmis -nn'金宝app支持:0 NetworkDiagnostics: [0x0 table] LayerDiagnostics: [150x3 table] IncompatibleLayerTypes: [6x1 string]
显示CMSIS-NN代码生成不支持的层类型。金宝app
(7)。IncompatibleLayerTypes
ans =6 x1字符串"AdditionLayer" "BatchNormalizationLayer" "ClippedReLULayer" "Convolution2DLayer" "GlobalAveragePooling2DLayer" "GroupedConvolution2DLayer"
输入参数
网
- - - - - -深度学习网络分析
SeriesNetwork
对象|DAGNetwork
对象|dlnetwork
对象
网络分析,用于代码生成。网络可以是一个SeriesNetwork
,DAGNetwork
,或dlnetwork
对象用于自定义训练循环或自定义修剪循环。
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字
在报价。
例子:resultStruct = analyzeNetworkForCodegen(mobilenetv2, TargetLibrary = ["mkldnn", "none"]);
TargetLibrary
- - - - - -代码生成目标库
特征向量|字符串标量
用于深度学习代码生成的目标库,指定为本表中的值之一。
价值 | 描述 |
---|---|
“没有” |
用于生成不使用任何第三方库的代码。 |
“arm-compute” |
用于生成使用ARM的代码®计算库。 |
“mkldnn” |
用于生成使用英特尔的代码®深度神经网络的数学内核库(Intel MKL-DNN)。 |
“cmsis-nn” |
通用单片机软件接口标准-神经网络(CMSIS-NN)库。 要求MATLAB®Coder™深度学习库接口. |
“cudnn” |
用于生成使用CUDA的代码®深度神经网络库(cuDNN)。 此选项需要GPU Coder™。 |
“tensorrt” |
用于生成利用NVIDIA的代码®高性能深度学习推理优化器和运行时库。 该选项需要GPU Coder。 |
安静的
- - - - - -抑制报告显示
假
(默认)|真正的
标量布尔
值抑制报表显示。默认情况下,该函数以详细模式显示分析结果。
输出参数
结果
-分析输出
结构数组
检查深度学习网络代码生成兼容性的结果,返回为1
——- - - - - -N
结构,N
要检查的目标库的数量。
版本历史
R2022b中引入
Abrir比如
Tiene una versión modificada de este ejemplo。¿Desea abrir este ejemplo con sus modificaciones?
MATLAB突击队
Ha hecho clic en unenlace que对应一个este commando de MATLAB:
弹射突击队introduciéndolo en la ventana de commandos de MATLAB。Los navegadores web no permission comandos de MATLAB。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。