主要内容

编码器。DeepLearningConfig

创建深度学习代码生成配置对象

描述

例子

deepLearningCfg=编码器。DeepLearningConfig (TargetLibrary =targetlib创建一个深度学习配置对象,其中包含特定于库的参数codegen用于为深度神经网络生成代码。将此深度学习配置对象分配给DeepLearningConfig属性创建的代码配置对象coder.config.将代码配置对象传递给codegen函数,使用配置选择。

例子

全部折叠

设置代码配置参数并生成一个c++代码ResNet-50系列网络。生成的代码使用英特尔®mml - dnn深度学习库。

创建一个入口点函数resnet_predict它使用coder.loadDeepLearningNetwork函数加载resnet50(深度学习工具箱)SeriesNetwork对象。

函数Out = resnet_predict(in)持续的mynet;如果mynet = code . loaddeeplearningnetwork (mynet)“resnet50”“myresnet”);结束Out = predict(mynet,in);

持久化对象避免在后续调用函数时重构和重新加载网络对象预测方法。

预训练的输入层ResNet-50网络接受大小的图像224年x224x3.从图形文件中读取输入图像并将其大小调整为224年x224,使用以下几行代码:

In = imread(“peppers.png”);In = imresize(In,[224,224]);

创建一个coder.config配置对象用于生成MEX代码并设置目标语言为c++。在配置对象上,设置DeepLearningConfigtargetlib作为“mkldnn”.使用配置选项codegen函数传递此代码配置对象。的codegen函数必须确定MATLAB的大小、类和复杂度®函数的输入。使用arg游戏选项指定入口点函数的输入大小。

CFG = code .config(墨西哥人的);cfg。TargetLang =“c++”;cfg。DeepLearningConfig =编码器。DeepLearningConfig(TargetLibrary =“mkldnn”);codegenarg游戏{(224224 3,“单”)}配置cfgresnet_predict

codegen命令将生成的所有文件放在codegen文件夹中。它包含入口点函数的c++代码resnet_predict.cpp,头文件和源文件,包含卷积神经网络(CNN)的c++类定义,权重和偏差文件。

输入参数

全部折叠

用于深度学习代码生成的目标库,指定为本表中的值之一。

价值 描述
“没有”

用于生成不使用任何第三方库的代码。

“arm-compute”

用于生成使用ARM的代码®计算库。

“mkldnn”

用于生成使用英特尔深度神经网络数学内核库(Intel MKL-DNN)的代码。

“cmsis-nn”

通用单片机软件接口标准-神经网络(CMSIS-NN)库。

要求MATLAB Coder™接口的深度学习库

“cudnn”

用于生成使用CUDA的代码®深度神经网络库(cuDNN)。

此选项需要GPU Coder™。

“tensorrt”

用于生成利用NVIDIA的代码®高性能深度学习推理优化器和运行时库。

该选项需要GPU Coder。

输出参数

全部折叠

基于输入参数中指定的目标库的配置对象。该对象包含在代码生成期间使用的特定于库的参数。

目标库 深度学习配置对象
“没有” 创建一个DeepLearningConfigBase配置对象。
“arm-compute” 创建一个ARMNEONConfig配置对象。
“mkldnn” 创建一个MklDNNConfig配置对象。
“cmsis-nn 创建一个CMSISNNConfig配置对象。
“cudnn” 创建一个CuDNNConfig配置对象。
“tensorrt” 创建一个TensorRTConfig配置对象。

版本历史

在R2018b中引入