dlarray
Массив глубокого обучения хранит данные с метками формата дополнительных данных для пользовательских учебных циклов и позволяет функциям вычислить и использовать производные посредством автоматического дифференцирования. Чтобы узнать больше о пользовательских учебных циклах, автоматическое дифференцирование и массивы глубокого обучения, видят Глубокое обучение Пользовательские Учебные Циклы (Deep Learning Toolbox).
Генерация кода поддерживает и отформатированные и восстановленные после форматирования массивы глубокого обучения. dlarray
объекты, содержащие gpuArrays
также поддерживаются для генерации кода. Когда вы используете массивы глубокого обучения с генерацией кода центрального процессора и графического процессора, придерживаетесь этих ограничений:
dlarray
для генерации кодаДля генерации кода используйте dlarray
(Deep Learning Toolbox) функция, чтобы создать массивы глубокого обучения. Например, предположите, что у вас есть предварительно обученный dlnetwork
(Deep Learning Toolbox) сетевой объект в mynet.mat
Matfile. Чтобы предсказать ответы для этой сети, создайте функцию точки входа в MATLAB®.
Существует две возможности:
Примечание
Для генерации кода, dlarray
введите к predict
метод dlnetwork
объектом должен быть single
тип данных.
В этом примере проекта, вводе и выводе к функции точки входа, foo
имеют dlarray
типы. Этот тип функции точки входа не рекомендуется для генерации кода потому что в MATLAB, dlarray
осуществляет порядок, маркирует 'SCBTU'
. Это поведение реплицировано для генерации кода MEX. Однако для автономной генерации кода, такой как статические, динамические библиотеки или исполняемые файлы, формат данных следует спецификации fmt
аргумент dlarray
объект. В результате, если вводом или выводом функции точки входа является dlarray
возразите и его порядком меток не является 'SCBTU'
, затем формат данных будет отличаться между средой MATLAB и автономным кодом.
function dlOut = foo(dlIn) persistent dlnet; if isempty(dlnet) dlnet = coder.loadDeepLearningNetwork('mynet.mat'); end dlOut = predict(dlnet, dlIn); end
В этом примере проекта, вводе и выводе к foo
имеют примитивные типы данных и dlarray
объект создается в функции. extractdata
(Deep Learning Toolbox) метод dlarray
объект возвращает данные в dlarray
dlA
как выход foo
. Выход a
имеет совпадающий тип данных как базовый тип данных в dlA
.
Когда по сравнению с Design 1
, этот проект точки входа имеет следующие преимущества:
Более легкая интеграция с автономными рабочими процессами генерации кода, такими как статические, динамические библиотеки или исполняемые файлы.
Формат данных выхода от extractdata
функция имеет тот же порядок ('SCBTU'
) и в среде MATLAB и в сгенерированном коде.
Улучшает производительность для рабочих процессов MEX.
Упрощает рабочие процессы Simulink® с помощью блоков MATLAB Function, когда Simulink исходно не поддерживает dlarray
объекты.
function a = foo(in) dlIn = dlarray(in, 'SSC'); persistent dlnet; if isempty(dlnet) dlnet = coder.loadDeepLearningNetwork('mynet.mat'); end dlA = predict(dlnet, dlIn); a = extractdata(dlA); end
Видеть пример dlnetwork
и dlarray
использование с GPU Coder™, смотрите, Генерируют Изображения Цифры на NVIDIA графический процессор Используя Вариационный Автоэнкодер.
dlarray
Функции объекта с поддержкой генерации кодаДля генерации кода вы ограничиваетесь функциями объекта глубокого обучения массивов, перечисленными в этой таблице.
| Размерность помечает для |
| Извлеките данные из |
| Найдите размерности с заданной меткой |
| Удалите |
dlarray
Поддержка генерации кодаФункция | Описание |
---|---|
fullyconnect (Deep Learning Toolbox) | Полностью операция connect умножает вход на матрицу веса и затем добавляет вектор смещения. |
sigmoid (Deep Learning Toolbox) | Сигмоидальная операция активации применяет сигмоидальную функцию к входным данным. |
softmax (Deep Learning Toolbox) | softmax операция активации применяет функцию softmax к размерности канала входных данных. |
dlarray
Поддержка генерации кодаФункция | Примечания и ограничения |
---|---|
abs | Выход |
cos | Выход |
cosh | |
cot | |
csc | |
exp | |
log |
|
sec | Выход |
sign | |
sin | |
sinh | |
sqrt |
|
tan | Выход |
tanh | |
uplus , + | |
uminus , - |
Функция | Примечания и ограничения |
---|---|
ceil | Выход |
eps |
|
fix | Выход |
floor | Выход |
round |
|
Функция | Примечания и ограничения |
---|---|
isequal |
|
isequaln |
|
Функция | Примечания и ограничения |
---|---|
length | Нет данных |
ndims | Если вход |
numel | Нет данных |
size | Если вход |