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

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

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

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

Сетевое имяОписаниеБиблиотека ARM® ComputeIntel® 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
additionLayer (Deep Learning Toolbox)

Слой Addition

ДаДа
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)

Отсеченный слой Rectified Linear Unit (ReLU)

ДаДа
concatenationLayer (Deep Learning Toolbox)

Слой Concatenation

ДаДа
convolution2dLayer (Deep Learning Toolbox)

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

Да

Да

crop2dLayer (Deep Learning Toolbox)

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

ДаДа
CrossChannelNormalizationLayer (Deep Learning Toolbox)

Мудрый каналом локальный слой нормализации ответа

ДаДа

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

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

См.:

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

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

Да

  • Сгенерированный код использует упорядоченное по столбцам размещение для ваших данных массива. Генерация кода, который использует упорядоченное по строкам размещение массивов, не поддерживается.

Да

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

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

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

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

Да

Да

depthConcatenationLayer (Deep Learning Toolbox)

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

Да

Да

dicePixelClassificationLayer (Computer Vision Toolbox)

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

ДаДа
dropoutLayer (Deep Learning Toolbox)

Слой Dropout

ДаДа
eluLayer (Deep Learning Toolbox)

Слой Exponential linear unit (ELU)

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

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

ДаДа
globalAveragePooling2dLayer (Deep Learning Toolbox)

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

Да

Да

globalMaxPooling2dLayer (Deep Learning Toolbox)

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

ДаДа

groupedConvolution2dLayer (Deep Learning Toolbox)

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

Да

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

Да

gruLayer (Deep Learning Toolbox)

Слой Gated recurrent unit (GRU)

Да

Да

imageInputLayer (Deep Learning Toolbox)

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

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

ДаДа
leakyReluLayer (Deep Learning Toolbox)

"Слой ""с утечкой"" Rectified Linear Unit (ReLU)"

ДаДа
lstmLayer (Deep Learning Toolbox)

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

ДаДа
maxPooling2dLayer (Deep Learning Toolbox)

Слой объединения Max

ДаДа
maxUnpooling2dLayer (Deep Learning Toolbox)

Слой необъединения Max

НетДа
multiplicationLayer (Deep Learning Toolbox)

Слой Multiplication

ДаДа
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)

Слой Rectified Linear Unit (ReLU)

ДаДа
scalingLayer (Reinforcement Learning Toolbox)Слой Scaling для агента или сети критикаДаДа
sigmoidLayer (Deep Learning Toolbox)Сигмоидальный слойДаДа
sequenceInputLayer (Deep Learning Toolbox)

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

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

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

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

ДаДа
softmaxLayer (Deep Learning Toolbox)

Слой Softmax

Да

Да

softplusLayer (Reinforcement Learning Toolbox)

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

ДаДа
spaceToDepthLayer (Computer Vision Toolbox)

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

ДаДа
ssdMergeLayer (Computer Vision Toolbox)

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

ДаДа

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

yolov2ObjectDetector (Computer Vision Toolbox)

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

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

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

  • labels выход detect возвращен как массив ячеек из символьных векторов, например, {'car','bus'}.

Да

Да

ssdObjectDetector (Computer Vision Toolbox)

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

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

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

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

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

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

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

Да

Да

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

Похожие темы