dlarrayМассив глубокого обучения хранит данные с необязательными метками формата данных для пользовательских циклов обучения и позволяет функциям вычислять и использовать производные с помощью автоматического дифференцирования. Дополнительные сведения о пользовательских циклах обучения, автоматическом различении и массивах глубокого обучения см. в разделе Индивидуальные контуры обучения глубокого обучения (панель инструментов глубокого обучения).
Создание кода поддерживает как форматированные, так и неформатированные массивы глубокого обучения. dlarray объекты, содержащие gpuArrays также поддерживаются для генерации кода. При использовании массивов глубокого обучения с генерацией кода CPU и GPU соблюдайте следующие ограничения:
dlarray для создания кодаДля создания кода используйте dlarray (Deep Learning Toolbox) используется для создания массивов глубокого обучения. Например, предположим, что у вас есть предварительно обученный dlnetwork (Deep Learning Toolbox) сетевой объект в mynet.mat MAT-файл. Чтобы предсказать ответы для этой сети, создайте функцию начального уровня в 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, поскольку 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 использование с MATLAB Coder™ см. раздел Создание цифровых изображений с помощью вариационного автокодера на процессорах Intel.
dlarray Функции объекта с поддержкой генерации кодаДля создания кода доступны только функции объектов массива глубокого обучения, перечисленные в этой таблице.
| Метки размеров для |
| Извлечь данные из |
| Поиск размеров с указанной меткой |
| Удалить |
dlarray Поддержка создания кода| Функция | Описание |
|---|---|
fullyconnect (инструментарий для глубокого обучения) | Операция полного соединения умножает входной сигнал на весовую матрицу и затем добавляет вектор смещения. |
sigmoid (инструментарий для глубокого обучения) | Операция активации сигмоида применяет сигмоидальную функцию к входным данным. |
softmax (инструментарий для глубокого обучения) | Операция активации 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 | Если вход |