GPU Coder™ поддерживает генерацию кода для ряда и сверточных нейронных сетей направленного графа без петель (DAG) (CNNs или ConvNets). Можно сгенерировать код для любой обученной сверточной нейронной сети, слои которой поддерживаются для генерации кода. Смотрите Поддерживаемые Слои. Можно обучить сверточную нейронную сеть или на центральном процессоре, графическом процессоре или на нескольких графических процессорах при помощи Deep Learning Toolbox™ или использовать одну из перечисленных в таблице предварительно обученных сетей и сгенерировать код CUDA®.
Сетевое имя | Описание | cuDNN | TensorRT | Библиотека ARM® Compute для Мали графический процессор |
---|---|---|---|---|
AlexNet | Сверточная нейронная сеть AlexNet. Для предварительно обученной модели AlexNet смотрите Синтаксис | Да | Да | Да |
Сеть Caffe | Модели сверточной нейронной сети от Caffe. Для импорта предварительно обученной сети от Caffe смотрите | Да | Да | Да |
Даркнет 19 | Cверточная нейронная сеть DarkNet-19. Для получения дополнительной информации смотрите Синтаксис | Да | Да | Да |
Даркнет 53 | Cверточная нейронная сеть DarkNet-53. для получения дополнительной информации смотрите Синтаксис | Да | Да | Да |
DeepLab v3 + | DeepLab v3 + сверточная нейронная сеть. Для получения дополнительной информации смотрите | Да | Да | Нет |
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 смотрите Синтаксис | Да | Да | Да |
Mobilenet-v2 | Сверточная нейронная сеть MobileNet-v2. Для предварительно обученной модели MobileNet-v2 смотрите Синтаксис | Да | Да | Да |
NASNet-большой | NASNet-большая сверточная нейронная сеть. Для предварительно обученной NASNet-большой-модели смотрите | Да | Да | Нет |
NASNet-мобильный | NASNet-мобильная сверточная нейронная сеть. Для предварительно обученной модели NASNet-Mobile смотрите | Да | Да | Нет |
ResNet | ResNet-18, ResNet-50 и сверточные нейронные сети ResNet-101. Для предварительно обученных моделей ResNet смотрите Синтаксис | Да | Да | Да |
SegNet | Мультикласс pixelwise сеть сегментации. Для получения дополнительной информации смотрите | Да | Да | Нет |
SqueezeNet | Маленькая глубокая нейронная сеть. Для предварительно обученных моделей SqueezeNet смотрите Синтаксис | Да | Да | Да |
VGG-16 | Сверточная нейронная сеть VGG-16. Для предварительно обученной модели VGG-16 смотрите Синтаксис | Да | Да | Да |
VGG-19 | Сверточная нейронная сеть VGG-19. Для предварительно обученной модели VGG-19 смотрите Синтаксис | Да | Да | Да |
Xception | Сверточная нейронная сеть Xception. Для предварительно обученной модели Xception смотрите Синтаксис | Да | Да | Да |
YOLO v2 | Вы только смотрите однажды сверточная нейронная сеть версии 2 на основе детектора объектов. Для получения дополнительной информации смотрите | Да | Да | Да |
Следующие слои поддерживаются для генерации кода GPU Coder для целевых библиотек глубокого обучения, заданных в таблице.
Имя слоя | Описание | cuDNN | TensorRT | ARM вычисляет библиотеку для Мали графический процессор |
---|---|---|---|---|
| Изображение ввело входные параметры слоя 2D изображения к сети, и применяет нормализацию данных. Генерация кода не поддерживает | Да | Да | Да |
| Последовательность ввела входные данные о последовательности слоя к сети. cuDNN библиотека поддерживает векторные и 2D последовательности изображений. Библиотека TensorRT поддерживает только векторные входные последовательности. Для векторных входных параметров последовательности количество функций должно быть константой во время генерации кода. Для входных параметров последовательности изображений высота, ширина и количество каналов должны быть константой во время генерации кода. Генерация кода не поддерживает | Да | Да | Нет |
| Функция ввела входные данные о функции слоя к сети, и применяет нормализацию данных. | Да | Да | Да |
Имя слоя | Описание | cuDNN | TensorRT | ARM вычисляет библиотеку для Мали графический процессор |
---|---|---|---|---|
| 2D сверточный слой применяет скользящие сверточные фильтры к входу. | Да | Да | Да |
| Полносвязный слой умножает вход на матрицу веса и затем добавляет вектор смещения. | Да | Да | Нет |
| 2D сгруппированный сверточный слой разделяет входные каналы на группы и применяет скользящие сверточные фильтры. Используйте сгруппированные сверточные слои для отделимого мудрого каналом (также известный мудрыми глубиной отделимый) свертка. Генерация кода для графического процессора ARM Mali не поддерживается для 2D сгруппированного слоя свертки, который имеет | Да | Да | Да |
| Транспонированный 2D слой свертки сверхдискретизировал карты функции. | Да | Да | Да |
Имя слоя | Описание | cuDNN | TensorRT | ARM вычисляет библиотеку для Мали графический процессор |
---|---|---|---|---|
| Двунаправленный слой LSTM (BiLSTM) изучает двунаправленные долгосрочные зависимости между временными шагами данных о последовательности или временных рядов. Эти зависимости могут быть полезными, когда это необходимо, сеть, чтобы извлечь уроки из полных временных рядов на каждом временном шаге. Для генерации кода, Для генерации кода, | Да | Да | Нет |
| Сглаживать слой сворачивает пространственные размерности входа в размерность канала. | Да | Нет | Нет |
| Слой ГРУ изучает зависимости между временными шагами в данных о последовательности и временных рядах. Генерация кода поддерживает только | Да | Да | Нет |
| Слой LSTM изучает долгосрочные зависимости между временными шагами в данных о последовательности и временных рядах. Для генерации кода, Для генерации кода, | Да | Да | Нет |
| Слой сворачивания последовательности преобразует пакет последовательностей изображений к пакету изображений. Используйте слой сворачивания последовательности, чтобы выполнить операции свертки на временных шагах последовательностей изображений независимо. | Да | Нет | Нет |
| Последовательность ввела входные данные о последовательности слоя к сети. cuDNN библиотека поддерживает векторные и 2D последовательности изображений. Библиотека TensorRT поддерживает только векторные входные последовательности. Для векторных входных параметров последовательности количество функций должно быть константой во время генерации кода. Для входных параметров последовательности изображений высота, ширина и количество каналов должны быть константой во время генерации кода. Генерация кода не поддерживает | Да | Да | Нет |
| Слой разворачивания последовательности восстанавливает структуру последовательности входных данных после сворачивания последовательности. | Да | Нет | Нет |
| Слой встраивания слова сопоставляет словари с векторами. | Да | Да | Нет |
Имя слоя | Описание | cuDNN | TensorRT | ARM вычисляет библиотеку для Мали графический процессор |
---|---|---|---|---|
| Отсеченный слой ReLU выполняет пороговую операцию, где любое входное значение, меньше, чем нуль обнуляются и любое значение выше потолка усечения, установлено в тот потолок усечения. | Да | Да | Да |
| Слой активации ELU выполняет единичную операцию на положительных входных параметрах и экспоненциальную нелинейность на отрицательных входных параметрах. | Да | Да | Нет |
| Текучий слой ReLU выполняет пороговую операцию, где любое входное значение меньше, чем нуль умножается на фиксированный скаляр. | Да | Да | Да |
| Слой ReLU выполняет пороговую операцию к каждому элементу входа, где любое значение меньше, чем нуль обнуляется. | Да | Да | Да |
|
| Да | Да | Нет |
| Гиперболическая касательная (tanh) слой активации применяет функцию tanh на входные параметры слоя. | Да | Да | Да |
Имя слоя | Описание | cuDNN | TensorRT | ARM вычисляет библиотеку для Мали графический процессор |
---|---|---|---|---|
| Слой нормализации партии. нормирует каждый входной канал через мини-пакет. | Да | Да | Да |
| 2D слой обрезки применяет 2D обрезку к входу. | Да | Да | Да |
| Мудрый каналом локальный ответ (межканальный) слой нормализации выполняет мудрую каналом нормализацию. | Да | Да | Да |
| Слой уволенного случайным образом обнуляет входные элементы с данной вероятностью. | Да | Да | Да |
| Слой Scaling для агента или сети критика. Для генерации кода, значений для | Да | Да | Да |
Имя слоя | Описание | cuDNN | TensorRT | ARM вычисляет библиотеку для Мали графический процессор |
---|---|---|---|---|
| Средний слой объединения выполняет субдискретизацию путем деления входа на прямоугольные области объединения и вычисление средних значений каждой области. | Да | Да | Да |
| Глобальный средний слой объединения выполняет субдискретизацию путем вычисления среднего значения размерностей высоты и ширины входа. | Да | Да | Да |
| Глобальная переменная макс. объединение слоя выполняет субдискретизацию путем вычисления максимума размерностей высоты и ширины входа. | Да | Да | Да |
| Макс. слой объединения выполняет субдискретизацию путем деления входа на прямоугольные области объединения и вычисления максимума каждой области. | Да | Да | Да |
| Макс. слой необъединения не объединяет выход макс. слоя объединения. | Да | Да | Нет |
Имя слоя | Описание | cuDNN | TensorRT | ARM вычисляет библиотеку для Мали графический процессор |
---|---|---|---|---|
| Слой сложения добавляет входные параметры из нескольких поэлементных слоев нейронной сети. | Да | Да | Да |
| Слой конкатенации берет входные параметры и конкатенирует их в заданном измерении. | Да | Да | Нет |
| Слой конкатенации глубины берет входные параметры, которые имеют ту же высоту и ширину, и конкатенирует их по третьему измерению (размерность канала). | Да | Да | Да |
Имя слоя | Описание | cuDNN | TensorRT | ARM вычисляет библиотеку для Мали графический процессор |
---|---|---|---|---|
| Слой поля привязки хранит поля привязки для карты функции, используемой в сетях обнаружения объектов. | Да | Да | Да |
| Фокальный слой потерь предсказывает классы объектов с помощью фокальной потери. | Да | Да | Да |
| Пробел к слою глубины переставляет пространственные блоки входа в размерность глубины. Используйте этот слой, когда необходимо будет объединить карты функции различного размера, не отбрасывая данных о функции. | Да | Да | Да |
| Слой слияния SSD объединяет выходные параметры карт функции для последующей регрессии и расчета классификации потерь. | Да | Да | Нет |
| Слой регрессии поля совершенствовал местоположения ограничительной рамки при помощи сглаженной функции потерь L1. Используйте этот слой, чтобы создать Быстрое или сеть обнаружения объектов Faster R-CNN. | Да | Да | Да |
| Слой классификации сетей предложения по области (RPN) классифицирует области изображений или как объект или как фон при помощи функции потери перекрестной энтропии. Используйте этот слой, чтобы создать сеть обнаружения объектов Faster R-CNN. | Да | Да | Да |
| Создайте выходной слой для сети обнаружения объектов YOLO v2. | Да | Да | Да |
| Создайте слой перестройки для сети обнаружения объектов YOLO v2. | Да | Да | Да |
| Создайте преобразовывают слой для сети обнаружения объектов YOLO v2. | Да | Да | Да |
Имя слоя | Описание | cuDNN | TensorRT | ARM вычисляет библиотеку для Мали графический процессор |
---|---|---|---|---|
| Слой классификации вычисляет потерю перекрестной энтропии для многоклассовых задач классификации со взаимоисключающими классами. | Да | Да | Да |
| Слой классификации пикселей Dice обеспечивает категориальную метку для каждого пикселя изображения, или воксель с помощью обобщил Dice Loss. | Да | Да | Да |
| Фокальный слой потерь предсказывает классы объектов с помощью фокальной потери. | Да | Да | Да |
| Все выходные слои включая пользовательскую классификацию или регрессию выводят слои, созданные при помощи Для примера, показывающего, как задать пользовательскую классификацию выходной слой и задать функцию потерь, смотрите, Задают Пользовательскую Классификацию Выходной Слой (Deep Learning Toolbox). Для примера, показывающего, как задать пользовательскую регрессию выходной слой и задать функцию потерь, смотрите, Задают Пользовательскую Регрессию Выходной Слой (Deep Learning Toolbox). | Да | Да | Да |
| Слой классификации пикселей обеспечивает категориальную метку для каждого пикселя изображения или вокселя. | Да | Да | Да |
| Слой регрессии поля совершенствовал местоположения ограничительной рамки при помощи сглаженной функции потерь L1. Используйте этот слой, чтобы создать Быстрое или сеть обнаружения объектов Faster R-CNN. | Да | Да | Да |
| Слой регрессии вычисляет половину потери среднеквадратической ошибки для проблем регрессии. | Да | Да | Да |
| Слой классификации сетей предложения по области (RPN) классифицирует области изображений или как объект или как фон при помощи функции потери перекрестной энтропии. Используйте этот слой, чтобы создать сеть обнаружения объектов Faster R-CNN. | Да | Да | Да |
| Сигмоидальный слой применяет сигмоидальную функцию к входу. | Да | Да | Да |
| softmax слой применяет функцию softmax к входу. | Да | Да | Да |
Имя слоя | Описание | cuDNN | TensorRT | ARM вычисляет библиотеку для Мали графический процессор |
---|---|---|---|---|
| Сгладьте активации в 1D C-стиль принятия (упорядоченный по строкам) порядок. | Да | Да | Да |
| Глобальный средний слой объединения для пространственных данных. | Да | Да | Да |
| Сигмоидальный слой активации. | Да | Да | Да |
| Гиперболический слой активации касательной. | Да | Да | Да |
| Нулевой дополнительный слой для 2D входа. | Да | Да | Да |
| Слой, который выполняет поэлементное масштабирование входа, сопровождаемого сложением. | Да | Да | Да |
| Сглаживает пространственные размерности входного тензора к размерностям канала. | Да | Да | Да |
| Слой, который реализует единичный оператор ONNX. | Да | Да | Да |
Имя слоя | Описание | cuDNN | TensorRT | ARM вычисляет библиотеку для Мали графический процессор |
---|---|---|---|---|
| Пользовательские слои, с или без настраиваемых параметров, которые вы задаете для своей проблемы. Чтобы изучить, как задать пользовательские слои глубокого обучения, смотрите, Задают Пользовательские Слои Глубокого обучения (Deep Learning Toolbox) и Задают Пользовательский Слой Глубокого обучения для Генерации кода (Deep Learning Toolbox). Для примера о том, как сгенерировать код для сети с пользовательскими слоями, смотрите Генерацию кода Для Обнаружения объектов Используя глубокое обучение YOLO v3. Выходные параметры пользовательского слоя должны быть массивами фиксированного размера. Используя цели cuDNN поддерживают и упорядоченную по строкам и упорядоченную по столбцам генерацию кода для пользовательских слоев. Цели TensorRT поддерживают только упорядоченную по столбцам генерацию кода. Для генерации кода пользовательские слои должны содержать Генерация кода для сети последовательности, содержащей пользовательский слой и LSTM или слой ГРУ, не поддерживается. Генерация кода для нейронной сети для глубокого обучения с пользовательским слоем не поддерживается в Simulink®. | Да | Да | Нет |
Следующие классы поддерживаются для генерации кода GPU Coder для целевых библиотек глубокого обучения, заданных в таблице.
Имя | Описание | cuDNN | TensorRT | ARM вычисляет библиотеку для Мали графический процессор |
---|---|---|---|---|
DAGNetwork (Deep Learning Toolbox) | Сеть Directed acyclic graph (DAG) для глубокого обучения
| Да | Да | Да |
dlnetwork (Deep Learning Toolbox) | Нейронная сеть для глубокого обучения для пользовательских учебных циклов
| Да | Да | Нет |
SeriesNetwork (Deep Learning Toolbox) | Сеть Series для глубокого обучения
| Да | Да | Да |
ssdObjectDetector (Computer Vision Toolbox) | Объект обнаружить объекты с помощью основанного на SSD детектора.
| Да | Да | Нет |
yolov2ObjectDetector (Computer Vision Toolbox) | Обнаружьте объекты с помощью детектора объектов YOLO v2
| Да | Да | Да |
coder.CodeConfig
| coder.CuDNNConfig
| coder.EmbeddedCodeConfig
| coder.gpuConfig
| coder.gpuEnvConfig
| coder.TensorRTConfig