Main Content

coder.MklDNNConfig

Parameters to configure deep learning code generation with the Intel Math Kernel Library for Deep Neural Networks

Description

The coder.MklDNNConfig object contains the Intel® MKL-DNN specific parameters that codegen uses for generating C++ code for deep neural networks.

To use a coder.MklDNNConfig object for code generation, assign it to the DeepLearningConfig property of a code generation configuration object that you pass to codegen.

Creation

Create an MKL-DNN configuration object by using the coder.DeepLearningConfig function with target library set as 'mkldnn'.

Properties

expand all

Name of target library, specified as a character vector.

Examples

collapse all

Create an entry-point function resnet_predict that uses the coder.loadDeepLearningNetwork function to load the dlnetwork object that contains the ResNet-50 network. For more information, see 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);

Create a coder.config configuration object for MEX code generation.

cfg = coder.config('mex');

Set the target language to C++.

cfg.TargetLang = 'C++';

Create a coder.MklDNNConfig deep learning configuration object. Assign it to the DeepLearningConfig property of the cfg configuration object.

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

Use the -config option of the codegen function to pass the cfg configuration object. The codegen function must determine the size, class, and complexity of MATLAB® function inputs. Use the -args option to specify the size of the input to the entry-point function.

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

The codegen command places all the generated files in the codegen folder. The folder contains the C++ code for the entry-point function resnet_predict.cpp, header, and source files containing the C++ class definitions for the neural network, weight, and bias files.

Version History

Introduced in R2018b