Сети и слои, поддержанные для генерации кода

MATLAB® Coder™ поддерживает генерацию кода для ряда, направленного графа без петель (DAG) и текущих сверточных нейронных сетей (CNNs или ConvNets). Можно сгенерировать код для любой обученной сверточной нейронной сети, слои которой поддерживаются для генерации кода. Смотрите Поддерживаемые Слои.

Поддерживаемые предварительно обученные сети

Следующие предварительно обученные сети, доступные в Deep Learning Toolbox™, поддерживаются для генерации кода.

Сетевое имяОписаниеARM® Вычислите библиотекуIntel® MKL-DNN
AlexNet

Сверточная нейронная сеть AlexNet. Для предварительно обученной модели AlexNet смотрите alexnet (Deep Learning Toolbox).

ДаДа
DarkNetДаркнет 19 и сверточные нейронные сети DarkNet-53. Для предварительно обученных моделей DarkNet смотрите darknet19 (Deep Learning Toolbox) и darknet53 (Deep Learning Toolbox).ДаДа
DenseNet-201

Сверточная нейронная сеть DenseNet-201. Для предварительно обученной модели DenseNet-201 смотрите densenet201 (Deep Learning Toolbox).

ДаДа
EfficientNet-b0

Сверточная нейронная сеть EfficientNet-b0. Для предварительно обученной модели EfficientNet-b0 смотрите efficientnetb0 (Deep Learning Toolbox).

ДаДа
GoogLeNet

Сверточная нейронная сеть GoogLeNet. Для предварительно обученной модели GoogLeNet смотрите googlenet (Deep Learning Toolbox).

ДаДа
Inception-ResNet-v2

Сверточная нейронная сеть Inception-ResNet-v2. Для предварительно обученной модели Inception-ResNet-v2 смотрите inceptionresnetv2 (Deep Learning Toolbox).

ДаДа
Inception-v3Сверточная нейронная сеть Inception-v3. Для предварительно обученной модели Inception-v3 смотрите inceptionv3 (Deep Learning Toolbox).ДаДа
MobileNet-v2

Сверточная нейронная сеть MobileNet-v2. Для предварительно обученной модели MobileNet-v2 смотрите mobilenetv2 (Deep Learning Toolbox).

ДаДа
NASNet-Large

NASNet-большая сверточная нейронная сеть. Для предварительно обученной NASNet-большой-модели смотрите nasnetlarge (Deep Learning Toolbox).

ДаДа
NASNet-Mobile

NASNet-мобильная сверточная нейронная сеть. Для предварительно обученной модели NASNet-Mobile смотрите nasnetmobile (Deep Learning Toolbox).

ДаДа
ResNet

ResNet-18, ResNet-50 и сверточные нейронные сети ResNet-101. Для предварительно обученных моделей ResNet смотрите resnet18 (Deep Learning Toolbox), resnet50 (Deep Learning Toolbox), и resnet101 (Deep Learning Toolbox).

ДаДа
SegNet

Мультикласс pixelwise сеть сегментации. Для получения дополнительной информации смотрите segnetLayers (Computer Vision Toolbox).

НетДа
SqueezeNet

Маленький, глубокая нейронная сеть. Для предварительно обученных моделей SqeezeNet смотрите squeezenet (Deep Learning Toolbox).

ДаДа
VGG-16

Сверточная нейронная сеть VGG-16. Для предварительно обученной модели VGG-16 смотрите vgg16 (Deep Learning Toolbox).

ДаДа
VGG-19

Сверточная нейронная сеть VGG-19. Для предварительно обученной модели VGG-19 смотрите vgg19 (Deep Learning Toolbox).

ДаДа
Xception

Сверточная нейронная сеть Xception. Для предварительно обученной модели Xception смотрите xception (Deep Learning Toolbox).

ДаДа

Поддерживаемые слои

Следующие слои поддерживаются для генерации кода MATLAB Coder для целевых библиотек глубокого обучения, заданных в таблице.

Если вы устанавливаете Интерфейс MATLAB Coder пакета поддержки для Библиотек Глубокого обучения, можно использовать coder.getDeepLearningLayers видеть список слоев, поддержанных для определенной библиотеки глубокого обучения. Например:

coder.getDeepLearningLayers('mkldnn')

Имя слояОписаниеARM вычисляет библиотекуIntel MKL-DNNТиповой C/C++
additionLayer (Deep Learning Toolbox)

Слой сложения

ДаДаДа
anchorBoxLayer (Computer Vision Toolbox)

Слой поля привязки

ДаДаНет
averagePooling2dLayer (Deep Learning Toolbox)

Слой субдискретизации по среднему

ДаДаНет
batchNormalizationLayer (Deep Learning Toolbox)

Слой пакетной нормировки

ДаДаНет
bilstmLayer (Deep Learning Toolbox)Двунаправленный слой LSTMДаДаДа
classificationLayer (Deep Learning Toolbox)

Создайте классификацию выходной слой

ДаДаДа
clippedReluLayer (Deep Learning Toolbox)

Отсеченный ReLU

ДаДаДа
concatenationLayer (Deep Learning Toolbox)

Слой конкатенации

ДаДаДа
convolution2dLayer (Deep Learning Toolbox)

2D слой свертки

  • Для генерации кода, PaddingValue параметр должен быть равен 0, который является значением по умолчанию.

Да

Да

Да
crop2dLayer (Deep Learning Toolbox)

Слой, который применяет 2D обрезку к входу

ДаДаНет
CrossChannelNormalizationLayer (Deep Learning Toolbox)

Слой нормализации локального отклика по каналам

ДаДаНет

Пользовательские слои

Пользовательские слои, с или без настраиваемых параметров, которые вы задаете для своей проблемы.

См.:

Выходные параметры пользовательского слоя должны быть массивами фиксированного размера.

Пользовательские слои в сетях последовательности не поддерживаются для генерации кода.

Для генерации кода пользовательские слои должны содержать %#codegen прагма.

Можно передать dlarray к пользовательским слоям, если:

  • Пользовательский слой находится в dlnetwork.

  • Пользовательский слой находится в DAG или серийной сети, и любой наследовался nnet.layer.Formattable или не имеет никакого обратного распространения.

Для неподдерживаемого dlarray методы, затем необходимо извлечь базовые данные из dlarray, выполните расчеты и восстановите данные назад в dlarray для генерации кода. Например,

function Z = predict(layer, X)

if coder.target('MATLAB')
   Z = doPredict(X);
else
   if isdlarray(X)
      X1 = extractdata(X);
      Z1 = doPredict(X1);
      Z = dlarray(Z1);
  else
      Z = doPredict(X);
  end
end

end

Да

ДаДа

Пользовательские выходные слои

Все выходные слои включая пользовательскую классификацию или регрессию выводят слои, созданные при помощи nnet.layer.ClassificationLayer или nnet.layer.RegressionLayer.

Для примера, показывающего, как задать пользовательскую классификацию выходной слой и задать функцию потерь, смотрите, Задают Пользовательскую Классификацию Выходной Слой (Deep Learning Toolbox).

Для примера, показывающего, как задать пользовательскую регрессию выходной слой и задать функцию потерь, смотрите, Задают Пользовательскую Регрессию Выходной Слой (Deep Learning Toolbox).

Да

Да

Да
depthConcatenationLayer (Deep Learning Toolbox)

Слой конкатенации по глубине

Да

Да

Нет
depthToSpace2dLayer (Image Processing Toolbox)2D глубина, чтобы расположить слой с интерваламиДаДаДа
dicePixelClassificationLayer (Computer Vision Toolbox)

Слой классификации пикселей Dice обеспечивает категориальную метку для каждого пикселя изображения, или воксель с помощью обобщил Dice Loss.

ДаДаНет
dropoutLayer (Deep Learning Toolbox)

Слой Dropout

ДаДаДа
eluLayer (Deep Learning Toolbox)

Слой экспоненциальных линейных единиц (ELU)

ДаДаДа
featureInputLayer (Deep Learning Toolbox)

Свойства входного слоя

ДаДаДа
flattenLayer (Deep Learning Toolbox)

Слой Flatten

ДаДаНет
focalLossLayer (Computer Vision Toolbox)Фокальный слой потерь предсказывает классы объектов с помощью фокальной потери.ДаДаНет
fullyConnectedLayer (Deep Learning Toolbox)

Полносвязный слой

ДаДаДа
globalAveragePooling2dLayer (Deep Learning Toolbox)

Глобальный средний слой объединения для пространственных данных

Да

Да

Нет
globalMaxPooling2dLayer (Deep Learning Toolbox)

2D глобальная переменная макс. объединение слоя

ДаДаНет

groupedConvolution2dLayer (Deep Learning Toolbox)

2D сгруппированный сверточный слой

  • Для генерации кода, PaddingValue параметр должен быть равен 0, который является значением по умолчанию.

Да

  • Если вы задаете целое число для numGroups, затем значение должно быть меньше чем или равно 2.

Да

Нет

groupNormalizationLayer (Deep Learning Toolbox)

Слой групповой нормировки

Да

Да

Да

gruLayer (Deep Learning Toolbox)

Слой Gated recurrent unit (GRU)

Да

Да

Да
imageInputLayer (Deep Learning Toolbox)

Отобразите входной слой

  • Генерация кода не поддерживает 'Normalization' заданное использование указателя на функцию.

ДаДаДа
leakyReluLayer (Deep Learning Toolbox)

Протекающий ReLU (ReLU)"

ДаДаДа
lstmLayer (Deep Learning Toolbox)

Слой Long short-term memory (LSTM)

ДаДаДа
maxPooling2dLayer (Deep Learning Toolbox)

Слой субдискретизации по максимуму

ДаДаДа
maxUnpooling2dLayer (Deep Learning Toolbox)

Слой обратной субдискретизации по максимуму

НетДаНет
multiplicationLayer (Deep Learning Toolbox)

Слой умножения

ДаДаДа
pixelClassificationLayer (Computer Vision Toolbox)

Создайте слой классификации пикселей для семантической сегментации

ДаДаНет
rcnnBoxRegressionLayer (Computer Vision Toolbox)

Слой регрессии поля для Быстрого и Faster R-CNN

ДаДаНет
rpnClassificationLayer (Computer Vision Toolbox)

Слой Classification для сетей предложения по области (RPNs)

ДаДаНет
regressionLayer (Deep Learning Toolbox)

Создайте регрессию выходной слой

ДаДаДа
reluLayer (Deep Learning Toolbox)

Слой выпрямленных линейных единиц (ReLU)

ДаДаДа
resize2dLayer (Image Processing Toolbox)2D изменяют размер слояДаДаДа
scalingLayer (Reinforcement Learning Toolbox)Слой Scaling для агента или сети критикаДаДаДа
sigmoidLayer (Deep Learning Toolbox)Сигмоидальный слойДаДаДа
sequenceFoldingLayer (Deep Learning Toolbox)Слой сворачивания последовательностиДаДаНет
sequenceInputLayer (Deep Learning Toolbox)

Последовательность ввела слой

  • Для векторных входных параметров последовательности количество функций должно быть константой во время генерации кода.

  • Генерация кода не поддерживает 'Normalization' заданное использование указателя на функцию.

ДаДаДа
sequenceUnfoldingLayer (Deep Learning Toolbox)Слой разворачивания последовательностиДаДаНет
softmaxLayer (Deep Learning Toolbox)

Слой Softmax

Да

Да

Да
softplusLayer (Reinforcement Learning Toolbox)

Слой Softplus для агента или сети критика

ДаДаДа
spaceToDepthLayer (Image Processing Toolbox)

Пробел к слою глубины

ДаДаНет
ssdMergeLayer (Computer Vision Toolbox)

Слой слияния SSD для обнаружения объектов

ДаДаНет
swishLayer (Deep Learning Toolbox)

Слой Swish

ДаДаДа

nnet.keras.layer.FlattenCStyleLayer

Сглаживает активации в 1D C-стиль принятия (упорядоченный по строкам) порядок

Да

Да

Нет
nnet.keras.layer.GlobalAveragePooling2dLayer

Глобальный средний слой объединения для пространственных данных

Да

Да

Нет

nnet.keras.layer.SigmoidLayer

Сигмоидальный слой активации

Да

Да

Да

nnet.keras.layer.TanhLayer

Гиперболический слой активации касательной

Да

Да

Да

nnet.keras.layer.ZeroPadding2dLayer

Нулевой дополнительный слой для 2D входа

Да

Да

Нет
nnet.onnx.layer.ElementwiseAffineLayer

Слой, который выполняет поэлементное масштабирование входа, сопровождаемого сложением

ДаДаНет

nnet.onnx.layer.FlattenLayer

Сгладьте слой для сети ONNX™

Да

Да

Нет

nnet.onnx.layer.IdentityLayer

Слой, который реализует единичный оператор ONNX

Да

Да

Да

tanhLayer (Deep Learning Toolbox)

Гиперболический тангенс (tanh) слой

Да

Да

Да

transposedConv2dLayer (Deep Learning Toolbox)

Транспонированный 2D слой свертки

Генерация кода не поддерживает асимметричную обрезку входа. Например, задавая векторный [t b l r] для 'Cropping' параметр, чтобы обрезать верхнюю часть, нижнюю часть, оставленную, и право на вход, не поддерживается.

Да

Да

Нет

wordEmbeddingLayer (Text Analytics Toolbox)

Слой встраивания слова сопоставляет словари с векторами

Да

Да

Нет

yolov2OutputLayer (Computer Vision Toolbox)

Выведите слой для сети обнаружения объектов YOLO v2

Да

Да

Нет

yolov2ReorgLayer (Computer Vision Toolbox)

Слой Reorganization для сети обнаружения объектов YOLO v2

Да

Да

Нет

yolov2TransformLayer (Computer Vision Toolbox)

Преобразуйте слой для сети обнаружения объектов YOLO v2

Да

Да

Нет

Поддерживаемые классы

Класс

Описание

ARM вычисляет библиотеку

Intel MKL-DNN

Типовой C/C++

DAGNetwork (Deep Learning Toolbox)

Сеть Directed acyclic graph (DAG) для глубокого обучения

  • Только activations, predict, и classify методы поддерживаются.

Да

Да

Да

dlnetwork (Deep Learning Toolbox)

Нейронная сеть для глубокого обучения для пользовательских учебных циклов

  • Генерация кода поддерживает только InputNames и OutputNames свойства.

  • Генерация кода не поддерживает dlnetwork объекты без входных слоев.

  • Генерация кода поддерживает только predict объектная функция. dlarray введите к predict методом должен быть single тип данных.

  • Можно сгенерировать код для dlnetwork это имеет векторные входные параметры последовательности. Поскольку ARM Вычисляет, dlnetwork может иметь последовательность и входные слои пробела. Для Intel MKL-DNN входные слои должны быть всеми входными слоями последовательности. Поддержка генерации кода включает:

    • dlarray содержа векторные последовательности, которые имеют 'CT' или 'CBT' форматы данных.

    • dlnetwork объект, который имеет несколько входных параметров. Для сетей RNN несколько вводят, не поддерживается.

  • Генерация кода поддерживает MIMO dlnetworks.

Да

Да

Нет

SeriesNetwork (Deep Learning Toolbox)

Сеть Series для глубокого обучения

  • Только activations, classify, predict, predictAndUpdateState, classifyAndUpdateState, и resetState поддерживаются объектные функции.

Да

Да

Да

yolov2ObjectDetector (Computer Vision Toolbox)

  • Только detect (Computer Vision Toolbox) метод yolov2ObjectDetector поддерживается для генерации кода.

  • roi аргумент к detect метод должен быть постоянной генерацией кода (coder.const()) и 1x4 вектор.

  • Только Threshold, SelectStrongest, MinSize, и MaxSize пары "имя-значение" для detect поддерживаются.

Да

Да

Нет

ssdObjectDetector (Computer Vision Toolbox)

Объект обнаружить объекты с помощью основанного на SSD детектора.

  • Только detect (Computer Vision Toolbox) метод ssdObjectDetector поддерживается для генерации кода.

  • roi аргумент к detect метод должен быть codegen константой (coder.const()) и 1x4 вектор.

  • Только Threshold, SelectStrongest, MinSize, MaxSize, и MiniBatchSize Пары "имя-значение" поддерживаются. Все Пары "имя-значение" должны быть константами времени компиляции.

  • Канал и пакетный размер входного изображения должны быть фиксированным размером.

  • labels выходной параметр возвращен как категориальный массив.

  • В сгенерированном коде вход перемасштабируется к размеру входного слоя сети. Но ограничительная рамка, что detect возвраты метода в отношении исходного входного размера.

Да

Да

Нет

Смотрите также

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте