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

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

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.

Серийная сетьДаДаДаДаДаДаКлассификация
Классификация радаровСверточная нейронная сеть, которая использует micro-Doppler подписи, чтобы идентифицировать и классифицировать объект. Для получения дополнительной информации смотрите Велосипедиста и Пешеходную Классификацию при помощи FPGA.Серийная сетьДаДаДаДаДаДаКлассификация и программно определяемое радио (SDR)
Дефектное обнаружение snet_defnetsnet_defnet пользовательская сеть AlexNet, используемая, чтобы идентифицировать и классифицировать дефекты. Для получения дополнительной информации смотрите Дефектное Обнаружение.Серийная сетьДаДаДаДаДаДаКлассификация
Дефектное обнаружение snet_blemdetnetsnet_blemdetnet пользовательская сверточная нейронная сеть, используемая, чтобы идентифицировать и классифицировать дефекты. Для получения дополнительной информации смотрите Дефектное Обнаружение.Серийная сетьДаДаДаДаДаДаКлассификация
Обнаружение YOLO v2 Транспортного средстваВы смотрите только, если (YOLO) детектор объектов, который декодирует предсказания от сверточной нейронной сети и генерирует ограничительные рамки вокруг объектов. Для получения дополнительной информации смотрите, что Обнаружение Транспортного средства Использует YOLO v2, Развернутый на FPGAСерийная Сеть базирующейсяДаДаДаДаДаДаОбнаружение объектов
DarkNet-53Cверточная нейронная сеть DarkNet-53. Для предварительно обученной модели DarkNet-53 смотрите darknet53.Сеть Directed acyclic graph (DAG) базирующейсяНет. Сеть превышает размер памяти DDR PL.Нет. Сеть превышает размер памяти DDR PL.ДаДаДаДаКлассификация
ResNet-18Сверточная нейронная сеть ResNet-18. Для предварительно обученной модели ResNet-18 смотрите resnet18.Сеть Directed acyclic graph (DAG) базирующейсяДа ДаДаДаДаКлассификация
ResNet-50Сверточная нейронная сеть ResNet-50. Для предварительно обученной модели ResNet-50 смотрите resnet50.Сеть Directed acyclic graph (DAG) базирующейсяНет. Сеть превышает размер памяти DDR PL.Нет. Сеть превышает размер памяти DDR PL.ДаДаДаДаКлассификация
Находящийся в ResNet YOLO v2Вы смотрите только, если (YOLO) детектор объектов, который декодирует предсказания от сверточной нейронной сети и генерирует ограничительные рамки вокруг объектов. Для получения дополнительной информации смотрите, что Обнаружение Транспортного средства Использует Сетевой Основанный YOLO v2 DAG, Развернутый на FPGA.Сеть Directed acyclic graph (DAG) базирующейсяДаДаДаДаДаДаОбнаружение объектов
MobileNetV2Сверточная нейронная сеть MobileNet-v2. Для предварительно обученной модели MobileNet-v2 смотрите mobilenetv2.Сеть Directed acyclic graph (DAG) базирующейсяДаДаДаНетНетНетКлассификация

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

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

Входные слои

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

imageInputLayer

SW

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

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

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

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

convolution2dLayer

HWСвертка (Conv)

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

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

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

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

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

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

  • Дополнение значения не поддерживается.

Да

groupedConvolution2dLayer

HWСвертка (Conv)

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

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

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

  • Размер фильтра должен быть 1-14 и квадрат. Например [1 1] или [14 14]. Когда NumGroups установлен как 'channel-wise', размер фильтра должен быть 3-14.

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

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

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

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

Да

fullyConnectedLayer

HWПолностью соединенный (FC)

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

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

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

Да

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

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

reluLayer

HWСлой сплавлен.

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

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

  • слой свертки

  • полносвязный слой

  • слой сумматора

Да

leakyReluLayer

HWСлой сплавлен.

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

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

  • слой свертки

  • полносвязный слой

  • слой сумматора

Да

clippedReluLayer

HWСлой сплавлен.

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

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

  • слой свертки

  • полносвязный слой

  • слой сумматора

Да

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

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

batchNormalizationLayer

HWСлой сплавлен.

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

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

Да

crossChannelNormalizationLayer

HWСвертка (Conv)

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

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

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

dropoutLayer

NoOP на выводеNoOP на выводе

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

Да

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

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

maxPooling2dLayer

HWСвертка (Conv)

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

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

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

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

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

Да

averagePooling2dLayer

HWСвертка (Conv)

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

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

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

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

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

Да

globalAveragePooling2dLayer

HWСвертка (Conv) или Полностью соединенный (FC). Когда входной размер активации ниже, чем порог памяти, выходной формат слоя является FC.

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

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

  • Значение размера пула должно быть в области значений 1-14 для conv основанного на модуле глобального среднего слоя объединения и в области значений 1-12 для основанного на FC глобального среднего слоя объединения. Значение размера пула должно быть квадратным. Например, [1 1] или [12 12].

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

Да

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

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

additionLayer

HWНаследуйтесь входу.

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

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

  • Максимальное количество входных параметров к слою сложения равняется двум, когда тип входных данных является int8.

  • Оба входных слоя должны иметь тот же выходной формат слоя. Например, оба слоя должны иметь conv выходной формат или выходной формат ФК.

Да

depthConcatenationLayer

HWНаследуйтесь входу.

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

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

  • Входной номер функции активации должен быть кратным квадратному корню из ConvThreadNumber.

  • Входные параметры к слою конкатенации глубины должны быть исключительными к слою конкатенации глубины.

  • Слои, которые имеют conv выходной формат и слои, которые имеют выходной формат FC, не могут быть конкатенированы вместе.

Нет

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

СлойОборудование типа слоя (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.

Сторонние инструменты синтеза и поддержка версии

Deep Learning HDL Toolbox был протестирован с:

  • Набор проекта Xilinx Vivado 2020.1

  • Intel Куарт главные 18.1

Похожие темы