coder.DeepLearningConfig

Создайте объекты строения генерации кода глубокого обучения

Описание

пример

deepLearningCfg = coder.DeepLearningConfig(TargetLibrary = targetlib) создает объект строения глубокого обучения, содержащий специфические для библиотеки параметры, которые codegen использует, чтобы сгенерировать код для глубоких нейронных сетей. Присвойте этот объект строения глубокого обучения DeepLearningConfig свойство объекта строения кода, созданное при помощи coder.config. Передайте объект строения кода в codegen функция при помощи -config опция.

Примеры

свернуть все

Установите параметры конфигурации кода и сгенерируйте код С++ для ResNet-50 последовательная сеть. Сгенерированный код использует Intel® Библиотеки глубокого обучения MKL-DNN.

Создайте функцию точки входа resnet_predict который использует coder.loadDeepLearningNetwork функцию для загрузки resnet50 (Deep Learning Toolbox) SeriesNetwork объект.

function out = resnet_predict(in)

persistent mynet;
if isempty(mynet)
    mynet = coder.loadDeepLearningNetwork('resnet50', 'myresnet');
end

out = predict(mynet,in);

Постоянный объект избегает восстановления и перезагрузки сетевого объекта во время последующих вызовов функции, чтобы вызвать predict метод на входе.

Слой входа предварительно обученного ResNet-50 сеть принимает изображения размера 224x224x3. Чтобы считать вход изображение из графического файла и изменить его размер на 224x224, используйте следующие строки кода:

in = imread('peppers.png');
in = imresize(in,[224,224]);

Создайте coder.config объект строения для генерации кода MEX и установите целевой язык на C++. На объекте строения задайте DeepLearningConfig с targetlib как 'mkldnn'. Используйте -config опция codegen функция для передачи этого объекта строения кода. codegen функция должна определять размер, класс и сложность MATLAB® входные параметры функции. Используйте -args опция для задания размера входного параметра функции точки входа.

cfg = coder.config('mex');
cfg.TargetLang = 'C++';
cfg.DeepLearningConfig = coder.DeepLearningConfig('mkldnn'); 
codegen -args {ones(224,224,3,'single')} -config cfg resnet_predict;

The codegen команда помещает все сгенерированные файлы в codegen папка. Он содержит код С++ для функции точки входа resnet_predict.cpp, заголовок и исходные файлы, содержащие определения классов C++ для свернутых файлов нейронной сети (CNN), веса и смещения.

Входные параметры

свернуть все

Целевая библиотека для генерации кода глубокого обучения, заданная как одно из значений в этой таблице.

ЗначениеОписание
'none'

Для генерации кода, который не использует какую-либо стороннюю библиотеку.

'arm-compute'

Для генерации кода, который использует ARM® Вычислите библиотеку.

'mkldnn'

Для генерации кода, который использует библиотеку Intel Math Kernel Library for Глубокие Нейронные Сети (Intel MKL-DNN).

'cudnn'

Для генерации кода, который использует CUDA® Библиотека Глубоких Нейронных Сетей (cuDNN).

Для этой опции требуется GPU Coder™.

'tensorrt'

Для генерации кода, который использует преимущества NVIDIA® TensorRT - оптимизатор вывода эффективности глубокого обучения и библиотека во время выполнения.

Для этой опции требуется GPU Coder.

Выходные аргументы

свернуть все

Строение объект на основе целевой библиотеки, указанной в входной параметр. Этот объект содержит специфичные для библиотеки параметры, которые используются во время генерации кода.

Целевая библиотекаОбъект строения глубокого обучения
'none'Создание DeepLearningConfigBase объект строения.
'arm-compute'Создание ARMNEONConfig объект строения.
'mkldnn'Создание MklDNNConfig объект строения.
'cudnn'Создает CuDNNConfig объект строения.
'tensorrt'Создает TensorRTConfig объект строения.

Введенный в R2018b