exponenta event banner

кодер. DeepLearningConfig

Создание объектов конфигурации генерации кода глубокого обучения

Описание

пример

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

Примеры

свернуть все

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

Создание функции точки входа resnet_predict который использует coder.loadDeepLearningNetwork для загрузки resnet50 (инструментарий для глубокого обучения) 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 папка. Содержит код C++ для функции точки входа resnet_predict.cpp, заголовочные и исходные файлы, содержащие определения класса C++ для свернутых нейронных сетей (CNN), файлов веса и смещения.

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

свернуть все

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

СтоимостьОписание
'none'

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

'arm-compute'

Для создания кода, использующего вычислительную библиотеку ARM ®.

'mkldnn'

Для создания кода, использующего библиотеку Intel Math Kernel Library for Deep Neural Networks (Intel MKL-DNN).

'cudnn'

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

Для этого параметра требуется Coder™ графического процессора.

'tensorrt'

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

Для этого параметра требуется кодер графического процессора.

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

свернуть все

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

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

Представлен в R2018b