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

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

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

Сетевое имяОписаниеcuDNNTensorRTБиблиотека ARM® Compute для Мали графический процессор

AlexNet

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

Синтаксис alexnet('Weights','none') не поддерживается для генерации кода.

Да

Да

Да

Сеть Caffe

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

Да

Да

Да

Даркнет 19

Cверточная нейронная сеть DarkNet-19. Для получения дополнительной информации смотрите darknet19 (Deep Learning Toolbox).

Синтаксис darknet19('Weights','none') не поддерживается для генерации кода.

Да

Да

Да

Даркнет 53

Cверточная нейронная сеть DarkNet-53. для получения дополнительной информации смотрите darknet53 (Deep Learning Toolbox).

Синтаксис darknet53('Weights','none') не поддерживается для генерации кода.

Да

Да

Да

DeepLab v3 +

DeepLab v3 + сверточная нейронная сеть. Для получения дополнительной информации смотрите deeplabv3plusLayers (Computer Vision Toolbox).

Да

Да

Нет

DenseNet-201

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

Синтаксис densenet201('Weights','none') не поддерживается для генерации кода.

Да

Да

Да

EfficientNet-b0

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

Синтаксис efficientnetb0('Weights','none') не поддерживается для генерации кода.

ДаДаДа

GoogLeNet

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

Синтаксис googlenet('Weights','none') не поддерживается для генерации кода.

Да

Да

Да

Inception-ResNet-v2

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

Да

Да

Нет

Inception-v3

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

Синтаксис inceptionv3('Weights','none') не поддерживается для генерации кода.

Да

Да

Да

Mobilenet-v2

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

Синтаксис mobilenetv2('Weights','none') не поддерживается для генерации кода.

Да

Да

Да

NASNet-большой

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

Да

Да

Нет

NASNet-мобильный

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

Да

Да

Нет

ResNet

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

Синтаксис resnetXX('Weights','none') не поддерживается для генерации кода.

Да

Да

Да

SegNet

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

Да

Да

Нет

SqueezeNet

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

Синтаксис squeezenet('Weights','none') не поддерживается для генерации кода.

Да

Да

Да

VGG-16

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

Синтаксис vgg16('Weights','none') не поддерживается для генерации кода.

Да

Да

Да

VGG-19

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

Синтаксис vgg19('Weights','none') не поддерживается для генерации кода.

Да

Да

Да

Xception

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

Синтаксис xception('Weights','none') не поддерживается для генерации кода.

Да

Да

Да

YOLO v2

Вы только смотрите однажды сверточная нейронная сеть версии 2 на основе детектора объектов. Для получения дополнительной информации смотрите yolov2Layers (Computer Vision Toolbox)

Да

Да

Да

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

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

Входные слои

Имя слояОписаниеcuDNNTensorRTARM вычисляет библиотеку для Мали графический процессор

imageInputLayer (Deep Learning Toolbox)

Изображение ввело входные параметры слоя 2D изображения к сети, и применяет нормализацию данных.

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

Да

Да

Да

sequenceInputLayer (Deep Learning Toolbox)

Последовательность ввела входные данные о последовательности слоя к сети.

cuDNN библиотека поддерживает векторные и 2D последовательности изображений. Библиотека TensorRT поддерживает только векторные входные последовательности.

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

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

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

Да

Да

Нет

Свертки и полносвязные слои

Имя слояОписаниеcuDNNTensorRTARM вычисляет библиотеку для Мали графический процессор

convolution2dLayer (Deep Learning Toolbox)

2D сверточный слой применяет скользящие сверточные фильтры к входу.

Да

Да

Да

fullyConnectedLayer (Deep Learning Toolbox)

Полносвязный слой умножает вход на матрицу веса и затем добавляет вектор смещения.

Да

Да

Нет

groupedConvolution2dLayer (Deep Learning Toolbox)

2D сгруппированный сверточный слой разделяет входные каналы на группы и применяет скользящие сверточные фильтры. Используйте сгруппированные сверточные слои для отделимого мудрого каналом (также известный мудрыми глубиной отделимый) свертка.

Генерация кода для графического процессора ARM Mali не поддерживается для 2D сгруппированного слоя свертки, который имеет NumGroups набор свойств как 'channel-wise' или значение, больше, чем два.

Да

Да

Да

transposedConv2dLayer (Deep Learning Toolbox)

Транспонированный 2D слой свертки сверхдискретизировал карты функции.

Да

Да

Да

Слои последовательности

Имя слояОписаниеcuDNNTensorRTARM вычисляет библиотеку для Мали графический процессор

bilstmLayer (Deep Learning Toolbox)

Двунаправленный слой LSTM (BiLSTM) изучает двунаправленные долгосрочные зависимости между временными шагами данных о последовательности или временных рядов. Эти зависимости могут быть полезными, когда это необходимо, сеть, чтобы извлечь уроки из полных временных рядов на каждом временном шаге.

Для генерации кода, StateActivationFunction свойство должно быть установлено в 'tanh'.

Для генерации кода, GateActivationFunction свойство должно быть установлено в 'sigmoid'.

Да

Да

Нет

flattenLayer (Deep Learning Toolbox)

Сглаживать слой сворачивает пространственные размерности входа в размерность канала.

Да

Нет

Нет

gruLayer (Deep Learning Toolbox)

Слой ГРУ изучает зависимости между временными шагами в данных о последовательности и временных рядах.

Генерация кода поддерживает только 'after-multiplication' и 'recurrent-bias-after-multiplication' сбросьте режимы логического элемента.

Да

Да

Нет

lstmLayer (Deep Learning Toolbox)

Слой LSTM изучает долгосрочные зависимости между временными шагами в данных о последовательности и временных рядах.

Для генерации кода, StateActivationFunction свойство должно быть установлено в 'tanh'.

Для генерации кода, GateActivationFunction свойство должно быть установлено в 'sigmoid'.

Да

Да

Нет

sequenceFoldingLayer (Deep Learning Toolbox)

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

Да

Нет

Нет

sequenceInputLayer (Deep Learning Toolbox)

Последовательность ввела входные данные о последовательности слоя к сети.

cuDNN библиотека поддерживает векторные и 2D последовательности изображений. Библиотека TensorRT поддерживает только векторные входные последовательности.

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

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

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

Да

Да

Нет

sequenceUnfoldingLayer (Deep Learning Toolbox)

Слой разворачивания последовательности восстанавливает структуру последовательности входных данных после сворачивания последовательности.

Да

Нет

Нет

wordEmbeddingLayer (Text Analytics Toolbox)

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

Да

Да

Нет

Слои активации

Имя слояОписаниеcuDNNTensorRTARM вычисляет библиотеку для Мали графический процессор

clippedReluLayer (Deep Learning Toolbox)

Отсеченный слой ReLU выполняет пороговую операцию, где любое входное значение, меньше, чем нуль обнуляются и любое значение выше потолка усечения, установлено в тот потолок усечения.

Да

Да

Да

eluLayer (Deep Learning Toolbox)

Слой активации ELU выполняет единичную операцию на положительных входных параметрах и экспоненциальную нелинейность на отрицательных входных параметрах.

Да

Да

Нет

leakyReluLayer (Deep Learning Toolbox)

Текучий слой ReLU выполняет пороговую операцию, где любое входное значение меньше, чем нуль умножается на фиксированный скаляр.

Да

Да

Да

reluLayer (Deep Learning Toolbox)

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

Да

Да

Да

softplusLayer (Reinforcement Learning Toolbox)

SoftplusLayer слой глубокой нейронной сети, который реализует softplus активацию Y = журнал (1 + eX), который гарантирует, что выход всегда положителен

.

Да

Да

Нет

tanhLayer (Deep Learning Toolbox)

Гиперболическая касательная (tanh) слой активации применяет функцию tanh на входные параметры слоя.

Да

Да

Да

Нормализация, уволенный и слои обрезки

Имя слояОписаниеcuDNNTensorRTARM вычисляет библиотеку для Мали графический процессор

batchNormalizationLayer (Deep Learning Toolbox)

Слой нормализации партии. нормирует каждый входной канал через мини-пакет.

Да

Да

Да

crop2dLayer (Deep Learning Toolbox)

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

Да

Да

Да

crossChannelNormalizationLayer (Deep Learning Toolbox)

Мудрый каналом локальный ответ (межканальный) слой нормализации выполняет мудрую каналом нормализацию.

Да

Да

Да

dropoutLayer (Deep Learning Toolbox)

Слой уволенного случайным образом обнуляет входные элементы с данной вероятностью.

Да

Да

Да

scalingLayer (Reinforcement Learning Toolbox)

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

Для генерации кода, значений для 'Scale' и 'Bias' свойства должны иметь ту же размерность.

Да

Да

Да

Объединение и необъединение слоев

Имя слояОписаниеcuDNNTensorRTARM вычисляет библиотеку для Мали графический процессор

averagePooling2dLayer (Deep Learning Toolbox)

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

Да

Да

Да

globalAveragePooling2dLayer (Deep Learning Toolbox)

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

Да

Да

Да

globalMaxPooling2dLayer (Deep Learning Toolbox)

Глобальная переменная макс. объединение слоя выполняет субдискретизацию путем вычисления максимума размерностей высоты и ширины входа.

Да

Да

Да

maxPooling2dLayer (Deep Learning Toolbox)

Макс. слой объединения выполняет субдискретизацию путем деления входа на прямоугольные области объединения и вычисления максимума каждой области.

Да

Да

Да

maxUnpooling2dLayer (Deep Learning Toolbox)

Макс. слой необъединения не объединяет выход макс. слоя объединения.

Да

Да

Нет

Слои комбинации

Имя слояОписаниеcuDNNTensorRTARM вычисляет библиотеку для Мали графический процессор

additionLayer (Deep Learning Toolbox)

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

Да

Да

Да

concatenationLayer (Deep Learning Toolbox)

Слой конкатенации берет входные параметры и конкатенирует их в заданном измерении.

Да

Да

Нет

depthConcatenationLayer (Deep Learning Toolbox)

Слой конкатенации глубины берет входные параметры, которые имеют ту же высоту и ширину, и конкатенирует их по третьему измерению (размерность канала).

Да

Да

Да

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

Имя слояОписаниеcuDNNTensorRTARM вычисляет библиотеку для Мали графический процессор

anchorBoxLayer (Computer Vision Toolbox)

Слой поля привязки хранит поля привязки для карты функции, используемой в сетях обнаружения объектов.

Да

Да

Да

focalLossLayer (Computer Vision Toolbox)

Фокальный слой потерь предсказывает классы объектов с помощью фокальной потери.

Да

Да

Да

spaceToDepthLayer (Computer Vision Toolbox)

Пробел к слою глубины переставляет пространственные блоки входа в размерность глубины. Используйте этот слой, когда необходимо будет объединить карты функции различного размера, не отбрасывая данных о функции.

Да

Да

Да

ssdMergeLayer (Computer Vision Toolbox)

Слой слияния SSD объединяет выходные параметры карт функции для последующей регрессии и расчета классификации потерь.

Да

Да

Нет

rcnnBoxRegressionLayer (Computer Vision Toolbox)

Слой регрессии поля совершенствовал местоположения ограничительной рамки при помощи сглаженной функции потерь L1. Используйте этот слой, чтобы создать Быстрое или сеть обнаружения объектов Faster R-CNN.

Да

Да

Да

rpnClassificationLayer (Computer Vision Toolbox)

Слой классификации сетей предложения по области (RPN) классифицирует области изображений или как объект или как фон при помощи функции потери перекрестной энтропии. Используйте этот слой, чтобы создать сеть обнаружения объектов Faster R-CNN.

Да

Да

Да

YOLOv2OutputLayer (Computer Vision Toolbox)

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

Да

Да

Да

YOLOv2ReorgLayer (Computer Vision Toolbox)

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

Да

Да

Да

YOLOv2TransformLayer (Computer Vision Toolbox)

Создайте преобразовывают слой для сети обнаружения объектов YOLO v2.

Да

Да

Да

Выходной слой

Имя слояОписаниеcuDNNTensorRTARM вычисляет библиотеку для Мали графический процессор

classificationLayer (Deep Learning Toolbox)

Слой классификации вычисляет потерю перекрестной энтропии для многоклассовых задач классификации со взаимоисключающими классами.

Да

Да

Да

dicePixelClassificationLayer (Computer Vision Toolbox)

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

Да

Да

Да

focalLossLayer (Computer Vision Toolbox)

Фокальный слой потерь предсказывает классы объектов с помощью фокальной потери.

Да

Да

Да

Output Layer (Deep Learning Toolbox)

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

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

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

Да

Да

Да

pixelClassificationLayer (Computer Vision Toolbox)

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

Да

Да

Да

rcnnBoxRegressionLayer (Computer Vision Toolbox)

Слой регрессии поля совершенствовал местоположения ограничительной рамки при помощи сглаженной функции потерь L1. Используйте этот слой, чтобы создать Быстрое или сеть обнаружения объектов Faster R-CNN.

Да

Да

Да

regressionLayer (Deep Learning Toolbox)

Слой регрессии вычисляет половину потери среднеквадратической ошибки для проблем регрессии.

Да

Да

Да

rpnClassificationLayer (Computer Vision Toolbox)

Слой классификации сетей предложения по области (RPN) классифицирует области изображений или как объект или как фон при помощи функции потери перекрестной энтропии. Используйте этот слой, чтобы создать сеть обнаружения объектов Faster R-CNN.

Да

Да

Да

sigmoidLayer (Deep Learning Toolbox)

Сигмоидальный слой применяет сигмоидальную функцию к входу.

Да

Да

Да

softmaxLayer (Deep Learning Toolbox)

softmax слой применяет функцию softmax к входу.

Да

Да

Да

Keras и ONNX Layers

Имя слояОписаниеcuDNNTensorRTARM вычисляет библиотеку для Мали графический процессор

nnet.keras.layer.FlattenCStyleLayer (Deep Learning Toolbox)

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

Да

Да

Да

nnet.keras.layer.GlobalAveragePooling2dLayer (Deep Learning Toolbox)

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

Да

Да

Да

nnet.keras.layer.SigmoidLayer (Deep Learning Toolbox)

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

Да

Да

Да

nnet.keras.layer.TanhLayer (Deep Learning Toolbox)

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

Да

Да

Да

nnet.keras.layer.ZeroPadding2dLayer (Deep Learning Toolbox)

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

Да

Да

Да

nnet.onnx.layer.ElementwiseAffineLayer (Deep Learning Toolbox)

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

Да

Да

Да

nnet.onnx.layer.FlattenLayer (Deep Learning Toolbox)

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

Да

Да

Да

nnet.onnx.layer.IdentityLayer (Deep Learning Toolbox)

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

Да

Да

Да

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

Имя слояОписаниеcuDNNTensorRTARM вычисляет библиотеку для Мали графический процессор

Custom layers

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

Чтобы изучить, как задать пользовательские слои глубокого обучения, смотрите, Задают Пользовательские Слои Глубокого обучения (Deep Learning Toolbox) и Задают Пользовательский Слой Глубокого обучения для Генерации кода (Deep Learning Toolbox).

Для примера о том, как сгенерировать код для сети с пользовательскими слоями, смотрите Генерацию кода Для Обнаружения объектов Используя глубокое обучение YOLO v3.

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

Используя 'unified' как MallocMode в coder.gpuConfig требует продвижения копий дополнительной памяти к более медленной эффективности. Для пользовательских слоев рекомендуется использовать 'discrete' режим. Для получения дополнительной информации о выделении памяти графического процессора смотрите Дискретные и Режимы автоматического управления

цели cuDNN поддерживают и упорядоченную по строкам и упорядоченную по столбцам генерацию кода для пользовательских слоев. Цели TensorRT поддерживают только упорядоченную по столбцам генерацию кода.

Генерация кода для сети последовательности, содержащей пользовательский слой и LSTM или слой ГРУ, не поддерживается.

Генерация кода для нейронной сети для глубокого обучения с пользовательским слоем не поддерживается в Simulink®.

Да

Да

Нет

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

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

ИмяОписаниеcuDNNTensorRTARM вычисляет библиотеку для Мали графический процессор
DAGNetwork (Deep Learning Toolbox)

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

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

Да

Да

Да

SeriesNetwork (Deep Learning Toolbox)

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

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

Да

Да

Да

ssdObjectDetector (Computer Vision Toolbox)

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

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

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

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

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

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

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

  • Ограничительные рамки не могут численно совпадать с результатами симуляции.

Да

Да

Нет

yolov2ObjectDetector (Computer Vision Toolbox)

Обнаружьте объекты с помощью детектора объектов YOLO v2

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

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

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

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

  • Минимальное пакетное значение размера, переданное, чтобы обнаружить метод, должно быть фиксированным размером.

  • Метки выход возвращены как массив ячеек из символьных векторов, такой как {'автомобиль', 'шина'}.

Да

Да

Да

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

Функции

Объекты

Похожие темы