кодер. DeepLearningConfig

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

Синтаксис

deepLearningCfg = coder.DeepLearningConfig(targetlib)

Описание

пример

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

Примеры

свернуть все

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

Создайте функцию точки входа alexneteg, который использует функцию coder.loadDeepLearningNetwork, чтобы загрузить объект alexnet SeriesNetwork.

function out = alexneteg(in)

persistent mynet;
if isempty(mynet)
    mynet = coder.loadDeepLearningNetwork('alexnet', 'myalexnet');
end

out = predict(mynet,in);

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

Входной слой предварительно обученной сети AlexNet принимает изображения размера 227x227x3. Чтобы считать входное изображение из графического файла и изменить размер его к 227x227, используйте следующие строки кода:

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

Создайте объект настройки 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(227,227,3,'single')} -config cfg alexneteg

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

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

свернуть все

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

ЗначениеОписание
'arm-compute'

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

'mkldnn'

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

'cudnn'

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

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

'tensorrt'

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

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

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

свернуть все

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

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

Введенный в R2018b