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

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

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

СетьСетевое описаниеВводОдин тип данных (с поставкой потоков битов)Тип данных INT8 (с Поставкой Потоков битов)Область применения
   ZCU102ZC706Arria10 SoCZCU102ZC706Arria10 SoCКлассификация
AlexNet

Сверточная нейронная сеть AlexNet.

Серийная сетьДаДаДаДаДаДаКлассификация
LogoNet

Сеть распознавания логотипа (LogoNet) является разработанной идентификационной сетью логотипа MATLAB®. Для получения дополнительной информации смотрите Сеть Распознавания Логотипа.

Серийная сетьДаДаДаДаДаДаКлассификация
MNIST

Классификация цифр MNIST.

Серийная сетьДаДаДаДаДаДаРегрессия
Детектор линий разметки

Сверточная нейронная сеть LaneNet. Для получения дополнительной информации смотрите, Развертывают Сеть Передачи обучения для Обнаружения Маршрута

Серийная сетьДаДаДаДаДаДаКлассификация
VGG-16

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

Серийная сетьНет. Сеть превышает размер памяти DDR PLНет. Сеть превышает емкость памяти модуля FC.ДаДаНет. Сеть превышает емкость памяти модуля FC.ДаКлассификация
VGG-19

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

Серийная сетьНет. Сеть превышает размер памяти DDR PLНет. Сеть превышает емкость памяти модуля FC.ДаДаНет. Сеть превышает емкость памяти модуля FC.ДаКлассификация
Даркнет 19

Cверточная нейронная сеть DarkNet-19. Для предварительно обученного даркнета 19 моделей смотрите darknet19.

Серийная сетьДаДаДаНет. сеть содержит globalAveragePooling слой, который не поддерживается для квантования INT8.Нет. сеть содержит globalAveragePooling слой, который не поддерживается для квантования INT8.Нет. сеть содержит globalAveragePooling слой, который не поддерживается для квантования INT8.Классификация
Классификация радаровСверточная нейронная сеть, которая использует micro-Doppler подписи, чтобы идентифицировать и классифицировать объект. Для получения дополнительной информации смотрите Велосипедиста и Пешеходную Классификацию при помощи FPGA.Серийная сетьДаДаДаНет. сеть содержит AveragePooling слой, который не поддерживается для квантования INT8.Нет. сеть содержит AveragePooling слой, который не поддерживается для квантования INT8.Нет. сеть содержит AveragePooling слой, который не поддерживается для квантования INT8.Классификация и программно определяемое радио (SDR)
Дефектное обнаружение snet_defnetsnet_defnet пользовательская сеть AlexNet, используемая, чтобы идентифицировать и классифицировать дефекты. Для получения дополнительной информации смотрите Дефектное Обнаружение.Серийная сетьДаДаДаДаДаДаКлассификация
Дефектный Detectionsnet_blemdetnetsnet_blemdetnet пользовательская сверточная нейронная сеть, используемая, чтобы идентифицировать и классифицировать дефекты. Для получения дополнительной информации смотрите Дефектное Обнаружение.Серийная сетьДаДаДаДаДаДаКлассификация
Обнаружение YOLO v2 Транспортного средстваВы смотрите только, если (YOLO) детектор объектов, который декодирует предсказания от сверточной нейронной сети и генерирует ограничительные рамки вокруг объектов. Для получения дополнительной информации смотрите, что Обнаружение Транспортного средства Использует YOLO v2, Развернутый на FPGAСерийная Сеть базирующейсяДаДаДаДаДаДаОбнаружение объектов

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

Следующие слои поддерживаются Deep Learning HDL Toolbox.

Входные слои

Слой Оборудование типа слоя (HW) или программное обеспечение (SW)Описание и ограниченияСовместимый INT8

imageInputLayer

SW

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

Да. Запуски как один тип данных в SW.

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

Слой Оборудование типа слоя (HW) или программное обеспечение (SW)Описание и ограниченияСовместимый INT8

convolution2dLayer

HW

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

Эти ограничения применяются при генерации кода для сети с помощью этого слоя:

  • Размер фильтра должен быть 1-12 и квадрат. Например [1 1] или [12 12].

  • Размер шага должен быть 1,2 или 4 и квадрат.

  • Дополнение размера должно быть в области значений 0-8.

  • Коэффициент расширения должен быть [1 1].

Да

groupedConvolution2dLayer

HW

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

Эти ограничения применяются при генерации кода для сети с помощью этого слоя:

  • Размер фильтра должен быть 1-12 и квадрат. Например [1 1] или [12 12].

  • Размер шага должен быть 1,2 или 4 и квадрат.

  • Дополнение размера должно быть в области значений 0-8.

  • Коэффициент расширения должен быть [1 1].

  • Количество групп должно быть 1 или 2.

Да

fullyConnectedLayer

HW

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

Эти ограничения применяются при генерации кода для сети с помощью этого слоя:

  • Размер ввода и вывода слоя ограничивается значениями, заданными в InputMemorySize и OutputMemorySize.

Да

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

СлойОборудование типа слоя (HW) или программное обеспечение (SW)ОписаниеСовместимый INT8

reluLayer

HW

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

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

Да

leakyReluLayer

HW

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

Текучий слой ReLU поддерживается только, когда ему предшествует слой свертки.

Нет

clippedReluLayer

HW

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

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

Нет

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

СлойОборудование типа слоя (HW) или программное обеспечение (SW)ОписаниеСовместимый INT8

batchNormalizationLayer

HW

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

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

Да

crossChannelNormalizationLayer

HW

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

WindowChannelSize должен быть в области значений 3-9 для генерации кода.

Да. Запуски как один тип данных в HW.

dropoutLayer

NoOP на выводе

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

Да

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

СлойОборудование типа слоя (HW) или программное обеспечение (SW)ОписаниеСовместимый INT8

maxPooling2dLayer

HW

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

Эти ограничения применяются при генерации кода для сети с помощью этого слоя:

  • Размер пула должен быть 1-12and квадратом. Например [1 1] или [12 12].

  • Размер шага должен быть 1-7 и квадрат.

  • Дополнение размера должно быть в области значений 0-2. Дополнение размера может только использоваться, когда размер пула имеет размер 3х3.

Да

averagePooling2dLayer

HW

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

Эти ограничения применяются при генерации кода для сети с помощью этого слоя:

  • Размер пула должен быть 1-12 и квадрат. Например [3 3]

  • Размер шага должен быть 1-7 и квадрат.

  • Дополнение размера должно быть в области значений 0-2. Дополнение размера может только использоваться, когда размер пула имеет размер 3х3.

Нет

globalAveragePooling2dLayer

HW

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

Эти ограничения применяются при генерации кода для сети с помощью этого слоя:

  • Объедините значение размера, должен быть в области значений 1-12 и быть квадратным. Например, [1 1] или [12 12].

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

Нет

Выведите слой

СлойОборудование типа слоя (HW) или программное обеспечение (SW)ОписаниеСовместимый INT8

softmax

SW

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

Да. Запуски как один тип данных в SW.

classificationLayer

SW

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

Да

regressionLayer

SW

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

Да

Keras и ONNX Layers

СлойОборудование типа слоя (HW) или программное обеспечение (SW)ОписаниеСовместимый INT8
nnet.keras.layer.FlattenCStyleLayerHW

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

nnet.keras.layer.FlattenCStyleLayer только поддерживается только, когда это сопровождается полносвязным слоем.

Да

nnet.keras.layer.ZeroPadding2dLayerHW

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

nnet.keras.layer.ZeroPadding2dLayer только поддерживается только, когда это сопровождается слоем свертки или maxpool слоем.

Да

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

Эти платы поддерживаются Deep Learning HDL Toolbox:

  • Xilinx Zynq®-7000 ZC706.

  • Intel Arria® 10 SoC.

  • Xilinx Zynq UltraScale +™ MPSoC ZCU102.

Похожие темы