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;

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

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

свернуть все

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

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

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

'arm-compute'

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

'mkldnn'

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

'cudnn'

Для генерации кода, который пользуется библиотекой CUDA® Deep Neural Network (cuDNN).

Эта опция требует GPU Coder™.

'tensorrt'

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

Эта опция требует GPU Coder.

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

свернуть все

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

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

Введенный в R2018b