主要内容

coder.MklDNNConfig

用于通过 Intel Math Kernel Library for Deep Neural Networks 配置深度学习代码生成的参数

说明

coder.MklDNNConfig 对象包含 codegen 用于为深度神经网络生成 C++ 代码的特定于 Intel® MKL-DNN 的参数。

要使用 coder.MklDNNConfig 对象进行代码生成,请将其赋给传递给 DeepLearningConfig 的代码生成配置对象的 codegen 属性。

创建对象

通过使用 coder.DeepLearningConfig 函数并将目标库设置为 'mkldnn' 来创建 MKL-DNN 配置对象。

属性

全部展开

目标库的名称,指定为字符向量。

示例

全部折叠

创建一个入口函数 resnet_predict,该入口函数使用 coder.loadDeepLearningNetwork 函数加载包含 dlnetwork 网络的 ResNet-50 对象。有关详细信息,请参阅Code Generation for dlarray

function out = resnet_predict(in)

dlIn = dlarray(in, 'SSCB');
persistent dlnet;
if isempty(dlnet)
    dlnet = imagePretrainedNetwork('resnet50');
end

dlOut = predict(dlnet, dlIn);
out = extractdata(dlOut);

为 MEX 代码生成创建一个 coder.config 配置对象。

cfg = coder.config('mex');

将目标语言设置为 C++。

cfg.TargetLang = 'C++';

创建一个 coder.MklDNNConfig 深度学习配置对象。将其赋给 cfg 配置对象的 DeepLearningConfig 属性。

cfg.DeepLearningConfig = coder.DeepLearningConfig('mkldnn');

使用 codegen 函数的 -config 选项来传递 cfg 配置对象。codegen 函数必须确定 MATLAB® 函数输入的大小、类和复/实性。使用 -args 选项指定入口函数的输入大小。

codegen -args {ones(224,224,3,'single')} -config cfg resnet_predict

codegen 命令将所有生成的文件放在 codegen 文件夹中。该文件夹包含入口函数 resnet_predict.cpp 的 C++ 代码、包含神经网络的 C++ 类定义的头文件和源文件、权重以及偏置文件。

版本历史记录

在 R2018b 中推出