MATLAB® Coder™ поддерживает генерацию кода для последовательного, ориентированного ациклического графика (DAG) и рекуррентных сверточных нейронных сетей (CNNs или ConvNets). Можно сгенерировать код для любой обученной сверточной нейронной сети, слои которой поддерживаются для генерации кода. См. «Поддерживаемые слои».
Для генерации кода поддерживаются следующие предварительно обученные сети, доступные в Deep Learning Toolbox™.
Имя сети | Описание | РУКА® Вычислительная библиотека | Intel® MKL-DNN |
---|---|---|---|
AlexNet | Сверточная нейронная сеть AlexNet. Для предварительно обученной модели AlexNet см. | Да | Да |
DarkNet | DarkNet-19 и DarkNet-53 сверточные нейронные сети. Для предварительно обученных моделей DarkNet см. darknet19 (Deep Learning Toolbox) и darknet53 (Deep Learning Toolbox). | Да | Да |
DenseNet-201 | DenseNet-201 сверточную нейронную сеть. Для предварительно обученной модели DenseNet-201 см. | Да | Да |
EfficientNet-b0 | EfficientNet-b0 сверточную нейронную сеть. Для предварительно обученной модели EfficientNet-b0 см. | Да | Да |
GoogLeNet | Сверточная нейронная сеть GoogLeNet. Для предварительно обученной модели GoogLeNet см. | Да | Да |
Inception-ResNet-v2 | Inception-ResNet-v2 сверточную нейронную сеть. Для предварительно обученной модели Inception-ResNet-v2 см. | Да | Да |
Inception-v3 | Inception-v3 сверточную нейронную сеть. Для предварительно обученной модели Inception-v3 см. inceptionv3 (Deep Learning Toolbox). | Да | Да |
MobileNet-v2 | MobileNet-v2 сверточную нейронную сеть. Для предварительно обученной модели MobileNet-v2 см. | Да | Да |
NASNet-Large | NASNet - большая сверточная нейронная сеть. Для предварительно обученной модели NASNet-Large см. | Да | Да |
NASNet-Mobile | NASNet-Мобильная сверточная нейронная сеть. Для предварительно обученной модели NASNet-Mobile см. | Да | Да |
ResNet | ResNet-18, ResNet-50 и ResNet-101 сверточные нейронные сети. Для предварительно обученных моделей ResNet см. | Да | Да |
SegNet | Многоклассовая пиксельная сеть сегментации. Для получения дополнительной информации см. | Нет | Да |
SqueezeNet | Маленькая глубокая нейронная сеть. Для предварительно обученных моделей SqeezeNet смотрите | Да | Да |
VGG-16 | VGG-16 сверточную нейронную сеть. Для предварительно обученной модели VGG-16 см. | Да | Да |
VGG-19 | VGG-19 сверточную нейронную сеть. Для предварительно обученной модели VGG-19 см. | Да | Да |
Xception | Xception сверточная нейронная сеть. Для предварительно обученной модели Xception см. | Да | Да |
Следующие слои поддерживаются для генерации кода MATLAB Coder для целевых библиотек глубокого обучения, указанных в таблице.
После установки пакета поддержки MATLAB Coder Interface for Глубокое Обучение Libraries можно использовать 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) | Подрезанный слой Rectified Linear Unit (ReLU) | Да | Да | Нет |
concatenationLayer (Deep Learning Toolbox) | Слой конкатенации | Да | Да | Нет |
convolution2dLayer (Deep Learning Toolbox) | 2-D слой свертки
| Да | Да | Нет |
crop2dLayer (Deep Learning Toolbox) | Слой, который применяется 2-D обрезки к входу | Да | Да | Нет |
CrossChannelNormalizationLayer (Deep Learning Toolbox) | Слой нормализации локального отклика по каналам | Да | Да | Нет |
Пользовательские слои | Пользовательские слои с настраиваемыми параметрами или без них, которые вы задаете для своей задачи. См.:
Выходы пользовательского слоя должны быть массивами фиксированного размера. Пользовательские слои в сетях последовательности не поддерживаются для генерации кода. Для генерации кода пользовательские слои должны содержать | Да | Да | Да |
Пользовательские выходные слои | Все выходные слои, включая пользовательские слои классификации или регрессии, созданные при помощи Для примера, показывающего, как задать пользовательский выходной слой классификации и задать функцию потерь, смотрите Define Custom Classification Output Layer (Deep Learning Toolbox). Для примера, показывающего, как задать пользовательский выходной слой регрессии и задать функцию потерь, смотрите Define Custom Regression Output Layer (Deep Learning Toolbox). | Да | Да | Да |
depthConcatenationLayer (Deep Learning Toolbox) | Слой конкатенации глубин | Да | Да | Нет |
depthToSpace2dLayer (Набор Image Processing Toolbox) | 2-D глубину к пространственному слою | Да | Да | Да |
dicePixelClassificationLayer (Computer Vision Toolbox) | Слой классификации пикселей Dice обеспечивает категориальную метку для каждого пикселя изображения или воксель, используя обобщённый Dice Loss. | Да | Да | Нет |
dropoutLayer (Deep Learning Toolbox) | Выпадающий слой | Да | Да | Да |
eluLayer (Deep Learning Toolbox) | Экспоненциало линейного модуля (ELU) | Да | Да | Нет |
featureInputLayer (Deep Learning Toolbox) | Входной слой признака | Да | Да | Да |
flattenLayer (Deep Learning Toolbox) | Уплощенный слой | Да | Да | Нет |
focalLossLayer (Computer Vision Toolbox) | Слой очаговых потерь предсказывает классы объектов, используя очаговые потери. | Да | Да | Нет |
fullyConnectedLayer (Deep Learning Toolbox) | Полносвязный слой | Да | Да | Да |
globalAveragePooling2dLayer (Deep Learning Toolbox) | Глобальный средний слой объединения для пространственных данных | Да | Да | Нет |
globalMaxPooling2dLayer (Deep Learning Toolbox) | 2-D глобальный слой максимального объединения | Да | Да | Нет |
| 2-D сгруппированный сверточный слой
| Да
| Да | Нет |
| Стробированные периодические модули (GRU) слоя | Да | Да | Да |
imageInputLayer (Deep Learning Toolbox) | Входной слой изображения
| Да | Да | Да |
leakyReluLayer (Deep Learning Toolbox) | Утечка слоя Rectified Linear Unit (ReLU) | Да | Да | Нет |
lstmLayer (Deep Learning Toolbox) | Долгая краткосрочная память (LSTM) слоя | Да | Да | Да |
maxPooling2dLayer (Deep Learning Toolbox) | Максимальный слой объединения | Да | Да | Нет |
maxUnpooling2dLayer (Deep Learning Toolbox) | Максимальный слой отмены охлаждения | Нет | Да | Нет |
multiplicationLayer (Deep Learning Toolbox) | Слой умножения | Да | Да | Да |
pixelClassificationLayer (Computer Vision Toolbox) | Создайте слой классификации пикселей для семантической сегментации | Да | Да | Нет |
rcnnBoxRegressionLayer (Computer Vision Toolbox) | Слой регрессии коробки для быстрого и быстрого R-CNN | Да | Да | Нет |
rpnClassificationLayer (Computer Vision Toolbox) | Классификационные слои для сетей области предложений (RPN) | Да | Да | Нет |
regressionLayer (Deep Learning Toolbox) | Создайте регрессионный выходной слой | Да | Да | Да |
reluLayer (Deep Learning Toolbox) | Слой Rectified Linear Unit (ReLU) | Да | Да | Да |
resize2dLayer (Набор Image Processing Toolbox) | 2-D изменения размера слоя | Да | Да | Да |
scalingLayer (Набор Reinforcement Learning Toolbox) | Слой масштабирования для сети актёра или критика | Да | Да | Нет |
sigmoidLayer (Deep Learning Toolbox) | Сигмоидный слой | Да | Да | Да |
sequenceFoldingLayer (Deep Learning Toolbox) | Последовательность складывания слоя | Да | Да | Нет |
sequenceInputLayer (Deep Learning Toolbox) | Входной слой последовательности
| Да | Да | Да |
sequenceUnfoldingLayer (Deep Learning Toolbox) | Слой развертывания последовательности | Да | Да | Нет |
softmaxLayer (Deep Learning Toolbox) | Слой Softmax | Да | Да | Да |
softplusLayer (Набор Reinforcement Learning Toolbox) | Слой Softplus для сети актёра или критика | Да | Да | Да |
spaceToDepthLayer (Набор Image Processing Toolbox) | Пространство на слой глубины | Да | Да | Нет |
ssdMergeLayer (Computer Vision Toolbox) | Слой слияния твердотельных накопителей для обнаружения объектов | Да | Да | Нет |
| Сведение активаций в 1-D с учетом порядка в стиле C (основная строка) | Да | Да | Нет |
nnet.keras.layer.GlobalAveragePooling2dLayer | Глобальный средний слой объединения для пространственных данных | Да | Да | Нет |
| Слой активации сигмоида | Да | Да | Нет |
| Слой активации гиперболического тангенса | Да | Да | Нет |
| Нулевой слой заполнения для 2-D входа | Да | Да | Нет |
nnet.onnx.layer.ElementwiseAffineLayer | Слой, который выполняет поэлементное масштабирование входа с последующим сложением | Да | Да | Нет |
| Плоский слой для ONNX™ сети | Да | Да | Нет |
| Слой, который реализует оператор тождеств ONNX | Да | Да | Нет |
| Слой гиперболического тангенса (танх) | Да | Да | Да |
| Транспонированный 2-D слой свертки Генерация кода не поддерживает асимметричное обрезание входа. Для примера укажите вектор | Да | Да | Нет |
| Слой встраивания слов сопоставляет индексы слов с векторами | Да | Да | Нет |
| Выходной слой для сети обнаружения объектов YOLO v2 | Да | Да | Нет |
| Слой реорганизации для сети обнаружения объектов YOLO v2 | Да | Да | Нет |
| Слой преобразования для сети обнаружения объектов YOLO v2 | Да | Да | Нет |
Класс | Описание | Вычислительная библиотека ARM | Intel MKL-DNN | Типовой C/C + + |
---|---|---|---|---|
DAGNetwork (Deep Learning Toolbox) | Ориентированная сеть ациклического графика (DAG) для глубокого обучения
| Да | Да | Да |
dlnetwork (Deep Learning Toolbox) | Нейронная сеть для глубокого обучения для пользовательских циклов обучения
| Да | Да | Нет |
SeriesNetwork (Deep Learning Toolbox) | Сеть серии для глубокого обучения
| Да | Да | Да |
|
| Да | Да | Нет |
ssdObjectDetector (Computer Vision Toolbox) | Объект для обнаружения объектов с помощью детектора на основе SSD.
| Да | Да | Нет |