主要内容

编码器。DeepLearningConfig

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

描述

例子

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

例子

全部折叠

的代码配置参数和生成c++代码ResNet-50系列网络。生成的代码使用Intel®MKL-DNN深度学习库。

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

函数= resnet_predict(中)持续的mynet;如果isempty(mynet) mynet = code . loaddeeplearningnetwork (“resnet50”“myresnet”);结束=预测(mynet,);

对象的后续调用过程中,持久对象避免重新构造和重新加载网络对象预测方法的输入。

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

在= imread (“peppers.png”);在= imresize(在[224224]);

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

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

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

输入参数

全部折叠

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

价值 描述
“没有”

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

“arm-compute”

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

“mkldnn”

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

“cudnn”

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

此选项需要GPU编码器™。

“tensorrt”

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

此选项需要GPU编码器。

输出参数

全部折叠

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

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

介绍了R2018b