主要内容

coder.deeplearningconfig

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

描述

例子

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

例子

全部折叠

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

创建一个入口函数resnet_predict使用coder.loadDeepLearningNetwork装载的功能Reset50(深度学习工具箱)SeriesNetwork目的。

函数OUT = RESNET_PREDICT(IN)持续的mynet;如果isempty(mynet)mynet = coder.loaddeeplearningnetwork(“resnet50”“myresnet”);结束=预测(mynet,);

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

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

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

创建一个coder.configMEX代码生成的配置对象并将目标语言设置为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.,包含Convoluted神经网络(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