MATLAB® Coder™ поддерживает генерацию кода для ряда, направленного графа без петель (DAG) и текущих сверточных нейронных сетей (CNNs или ConvNets). Можно сгенерировать код для любой обученной сверточной нейронной сети, слои которой поддерживаются для генерации кода. Смотрите Поддерживаемые Слои.
Следующие предварительно обученные сети, доступные в Deep Learning Toolbox™, поддерживаются для генерации кода.
Сетевое имя | Описание | ARM® Вычислите библиотеку | Intel® MKL-DNN |
---|---|---|---|
AlexNet | Сверточная нейронная сеть AlexNet. Для предварительно обученной модели AlexNet смотрите | Да | Да |
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-большой-модели смотрите | Да | Да |
NASNet-Mobile | NASNet-мобильная сверточная нейронная сеть. Для предварительно обученной модели NASNet-Mobile смотрите | Да | Да |
ResNet | ResNet-18, ResNet-50 и сверточные нейронные сети ResNet-101. Для предварительно обученных моделей ResNet смотрите | Да | Да |
SegNet | Мультикласс pixelwise сеть сегментации. Для получения дополнительной информации смотрите | Нет | Да |
SqueezeNet | Маленький, глубокая нейронная сеть. Для предварительно обученных моделей SqeezeNet смотрите | Да | Да |
VGG-16 | Сверточная нейронная сеть VGG-16. Для предварительно обученной модели VGG-16 смотрите | Да | Да |
VGG-19 | Сверточная нейронная сеть VGG-19. Для предварительно обученной модели VGG-19 смотрите | Да | Да |
Xception | Сверточная нейронная сеть Xception. Для предварительно обученной модели Xception смотрите | Да | Да |
Следующие слои поддерживаются для генерации кода 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 слой свертки
| Да | Да | Да |
crop2dLayer (Deep Learning Toolbox) | Слой, который применяет 2D обрезку к входу | Да | Да | Нет |
CrossChannelNormalizationLayer (Deep Learning Toolbox) | Слой нормализации локального отклика по каналам | Да | Да | Нет |
Пользовательские слои | Пользовательские слои, с или без настраиваемых параметров, которые вы задаете для своей проблемы. См.:
Выходные параметры пользовательского слоя должны быть массивами фиксированного размера. Пользовательские слои в сетях последовательности не поддерживаются для генерации кода. Для генерации кода пользовательские слои должны содержать Можно передать
Для неподдерживаемого 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 | Да | Да | Да |
Пользовательские выходные слои | Все выходные слои включая пользовательскую классификацию или регрессию выводят слои, созданные при помощи Для примера, показывающего, как задать пользовательскую классификацию выходной слой и задать функцию потерь, смотрите, Задают Пользовательскую Классификацию Выходной Слой (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 глобальная переменная макс. объединение слоя | Да | Да | Нет |
| 2D сгруппированный сверточный слой
| Да
| Да | Нет |
| Слой групповой нормировки | Да | Да | Да |
| Слой Gated recurrent unit (GRU) | Да | Да | Да |
imageInputLayer (Deep Learning Toolbox) | Отобразите входной слой
| Да | Да | Да |
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) | Последовательность ввела слой
| Да | Да | Да |
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 | Да | Да | Да |
| Сглаживает активации в 1D C-стиль принятия (упорядоченный по строкам) порядок | Да | Да | Нет |
nnet.keras.layer.GlobalAveragePooling2dLayer | Глобальный средний слой объединения для пространственных данных | Да | Да | Нет |
| Сигмоидальный слой активации | Да | Да | Да |
| Гиперболический слой активации касательной | Да | Да | Да |
| Нулевой дополнительный слой для 2D входа | Да | Да | Нет |
nnet.onnx.layer.ElementwiseAffineLayer | Слой, который выполняет поэлементное масштабирование входа, сопровождаемого сложением | Да | Да | Нет |
| Сгладьте слой для сети ONNX™ | Да | Да | Нет |
| Слой, который реализует единичный оператор ONNX | Да | Да | Да |
| Гиперболический тангенс (tanh) слой | Да | Да | Да |
| Транспонированный 2D слой свертки Генерация кода не поддерживает асимметричную обрезку входа. Например, задавая векторный | Да | Да | Нет |
| Слой встраивания слова сопоставляет словари с векторами | Да | Да | Нет |
| Выведите слой для сети обнаружения объектов YOLO v2 | Да | Да | Нет |
| Слой Reorganization для сети обнаружения объектов YOLO v2 | Да | Да | Нет |
| Преобразуйте слой для сети обнаружения объектов YOLO v2 | Да | Да | Нет |
Класс | Описание | ARM вычисляет библиотеку | Intel MKL-DNN | Типовой C/C++ |
---|---|---|---|---|
DAGNetwork (Deep Learning Toolbox) | Сеть Directed acyclic graph (DAG) для глубокого обучения
| Да | Да | Да |
dlnetwork (Deep Learning Toolbox) | Нейронная сеть для глубокого обучения для пользовательских учебных циклов
| Да | Да | Нет |
SeriesNetwork (Deep Learning Toolbox) | Сеть Series для глубокого обучения
| Да | Да | Да |
|
| Да | Да | Нет |
ssdObjectDetector (Computer Vision Toolbox) | Объект обнаружить объекты с помощью основанного на SSD детектора.
| Да | Да | Нет |