Deep Learning HDL Toolbox™ поддерживает генерацию кода для последовательных сверточных нейронных сетей (CNNs или ConvNets). Можно сгенерировать код для любой обученной сверточной нейронной сети, вычислительные слои которой поддерживаются для генерации кода. См. «Поддерживаемые слои». Вы можете использовать одну из предварительно обученных сетей, перечисленных в таблице, и сгенерировать код для вашей целевой Intel® или Xilinx® Платы ПЛИС.
Сеть | Описание сети | Напечатать | Один тип данных (с битовыми потоками доставки) | INT8 тип данных (с битовыми потоками доставки) | Область применения | ||||
ZCU102 | ZC706 | Arria10 СнК | ZCU102 | ZC706 | Arria10 СнК | Классификация | |||
AlexNet | Сверточная нейронная сеть AlexNet. | Последовательная сеть | Да | Да | Да | Да | Да | Да | Классификация |
LogoNet | Сеть распознавания логотипов (LogoNet) является MATLAB® разработанная сеть идентификации логотипа. Для получения дополнительной информации смотрите Сеть распознавания логотипов. | Последовательная сеть | Да | Да | Да | Да | Да | Да | Классификация |
MNIST | Классификация цифр MNIST. Смотрите Создание Простой Сети Глубокого Обучения для Классификации | Последовательная сеть | Да | Да | Да | Да | Да | Да | Классификация |
Обнаружение маршрута | LaneNet сверточная нейронная сеть. Для получения дополнительной информации смотрите Развертывание сети Передача Обучения для обнаружения маршрута | Последовательная сеть | Да | Да | Да | Да | Да | Да | Классификация |
VGG-16 | VGG-16 сверточную нейронную сеть. Для предварительно обученной модели VGG-16 смотрите | Последовательная сеть | Нет. Сеть превышает размер памяти PL DDR | Нет. Сеть превышает размер памяти модуля FC. | Да | Да | Нет. Сеть превышает размер памяти модуля FC. | Да | Классификация |
VGG-19 | VGG-19 сверточную нейронную сеть. Для предварительно обученной модели VGG-19 смотрите | Последовательная сеть | Нет. Сеть превышает размер памяти PL DDR | Нет. Сеть превышает размер памяти модуля FC. | Да | Да | Нет. Сеть превышает размер памяти модуля FC. | Да | Классификация |
Darknet-19 | Darknet-19 сверточную нейронную сеть. Для предварительно обученной модели darknet-19 смотрите | Последовательная сеть | Да | Да | Да | Да | Да | Да | Классификация |
Радиолокационная классификация | Сверточная нейронная сеть, которая использует микродопплеровские сигнатуры для идентификации и классификации объекта. Для получения дополнительной информации смотрите Классификацию бициклистов и пешеходов при помощи FPGA. | Последовательная сеть | Да | Да | Да | Да | Да | Да | Классификация и Программно определяемое радио (SDR) |
Определение дефектов snet_defnet | snet_defnet является пользовательской сетью AlexNet, используемой для идентификации и классификации дефектов. Для получения дополнительной информации см. «Обнаружение дефектов». | Последовательная сеть | Да | Да | Да | Да | Да | Да | Классификация |
Определение дефектов snet_blemdetnet | snet_blemdetnet является пользовательской сверточной нейронной сетью, используемой для идентификации и классификации дефектов. Для получения дополнительной информации см. «Обнаружение дефектов». | Последовательная сеть | Да | Да | Да | Да | Да | Да | Классификация |
Транспортное средство YOLO v2 | Вы смотрите только один раз (YOLO) является детектором объектов, который декодирует предсказания от сверточной нейронной сети и генерирует ограничительные рамки вокруг объектов. Для получения дополнительной информации смотрите Обнаружение транспортного средства с использованием YOLO v2, развернутого в FPGA | Основанные на последовательной сети | Да | Да | Да | Да | Да | Да | Обнаружение объектов |
DarkNet-53 | Darknet-53 сверточную нейронную сеть. Для предварительно обученной модели DarkNet-53 смотрите darknet53 . | Ориентированная сеть ациклического графика (DAG), основанная | Нет. Сеть превышает размер памяти PL DDR. | Нет. Сеть превышает размер памяти PL DDR. | Да | Да | Да | Да | Классификация |
ResNet-18 | ResNet-18 сверточную нейронную сеть. Для предварительно обученной модели ResNet-18 смотрите resnet18 . | Ориентированная сеть ациклического графика (DAG), основанная | Да | Да | Да | Да | Да | Классификация | |
ResNet-50 | ResNet-50 сверточную нейронную сеть. Для предварительно обученной модели ResNet-50 смотрите resnet50 . | Ориентированная сеть ациклического графика (DAG), основанная | Нет. Сеть превышает размер памяти PL DDR. | Нет. Сеть превышает размер памяти PL DDR. | Да | Да | Да | Да | Классификация |
YOLO v2 на основе ResNet | Вы смотрите только один раз (YOLO) является детектором объектов, который декодирует предсказания от сверточной нейронной сети и генерирует ограничительные рамки вокруг объектов. Для получения дополнительной информации смотрите Обнаружение транспортных средств с использованием DAG Network Based YOLO v2 Deployed to FPGA. | Ориентированная сеть ациклического графика (DAG), основанная | Да | Да | Да | Да | Да | Да | Обнаружение объектов |
MobileNetV2 | MobileNet-v2 сверточную нейронную сеть. Для предварительно обученной модели MobileNet-v2 смотрите mobilenetv2 . | Ориентированная сеть ациклического графика (DAG), основанная | Да | Да | Да | Нет | Нет | Нет | Классификация |
Следующие слои поддерживаются Deep Learning HDL Toolbox.
Слой | Оборудование (HW) или программное обеспечение (SW) | Описание и ограничения | INT8 совместимый |
Коротковолновый | Входной слой изображений вводит 2-D изображения в сеть и применяет нормализацию данных. | Да. Выполняется как один тип данных в SW. |
Слой | Оборудование (HW) или программное обеспечение (SW) | Выход слоя | Описание и ограничения | INT8 совместимый |
HW | Свертка (Conv) | Сверточный слой 2-D применяет сверточные фильтры скольжения к входу. Эти ограничения применяются при генерации кода для сети, использующей этот слой:
| Да | |
HW | Свертка (Conv) | Сгруппированный 2-D сверточный слой разделяет входные каналы на группы и применяет скользящие сверточные фильтры. Используйте сгруппированные сверточные слои для разделяемой по каналу (также известной как разделяемая по глубине) свертки. Генерация кода теперь поддерживается для 2-D сгруппированного слоя свертки, который имеет Эти ограничения применяются при генерации кода для сети, использующей этот слой:
| Да | |
HW | Полномасштабное подключение (FC) | A полносвязного слоя умножает вход на весовую матрицу, а затем добавляет вектор смещения. Эти ограничения применяются при генерации кода для сети, использующей этот слой:
| Да |
Слой | Оборудование (HW) или программное обеспечение (SW) | Выход слоя | Описание и ограничения | INT8 совместимый |
HW | Слой слит. | Слой ReLU выполняет операцию порога каждому элементу входа, где любое значение, меньше нуля, установлено в ноль. Слой ReLU поддерживается только тогда, когда ему предшествует любой из следующих слоев:
| Да | |
HW | Слой слит. | Утечка слоя ReLU выполняет операцию порога, где любое значение входа, меньше нуля, умножается на фиксированный скаляр. Утечка слоя ReLU поддерживается только тогда, когда ему предшествует любой из следующих слоев:
| Да | |
HW | Слой слит. | Обрезанный слой ReLU выполняет операцию порога, в которой любое значение входа, меньше нуля, устанавливается в нуль, а любое значение выше усечения потолка устанавливается в это усечение значение потолка. Подрезанный слой ReLU поддерживается только тогда, когда ему предшествует любой из следующих слоев:
| Да |
Слой | Оборудование (HW) или программное обеспечение (SW) | Выход слоя | Описание и ограничения | INT8 совместимый |
HW | Слой слит. | Слой нормализации партии . нормализует каждый входной канал через мини-пакет. Слой нормализации партии . поддерживается только тогда, когда ему предшествует слой свертки. | Да | |
HW | Свертка (Conv) | Слой нормализации локального отклика (перекрестного канала) канала выполняет нормализацию канала. The | Да. Запускается как один тип данных в HW. | |
NoOP при выводе | NoOP при выводе | Выпадающий слой случайным образом устанавливает элементы входа для нуля с заданной вероятностью. | Да |
Слой | Оборудование (HW) или программное обеспечение (SW) | Выход слоя | Описание и ограничения | INT8 совместимый |
HW | Свертка (Conv) | Максимальный слой объединения выполняет понижающую дискретизацию, разделяя вход на прямоугольные области объединения и вычисляя максимальное значение каждой области. Эти ограничения применяются при генерации кода для сети, использующей этот слой:
| Да | |
HW | Свертка (Conv) | Средний слой объединения выполняет понижающую дискретизацию, разделяя вход на прямоугольные области объединения и вычисляя средние значения каждой области. Эти ограничения применяются при генерации кода для сети, использующей этот слой:
| Да | |
HW | Свертки (Conv) или полносвязные (FC). Когда размер активации входа ниже порога памяти, выходным форматом слоя является FC. | Глобальный средний слой объединения выполняет понижающую дискретизацию, вычисляя среднее значение размерностей высоты и ширины входа. Эти ограничения применяются при генерации кода для сети, использующей этот слой:
| Да |
Слой | Оборудование (HW) или программное обеспечение (SW) | Выход слоя | Описание и ограничения | INT8 совместимый |
HW | Наследовать от входа. | Слой сложения добавляет входов из нескольких слоев нейронной сети поэлементно. Эти ограничения применяются при генерации кода для сети, использующей этот слой:
| Да | |
HW | Наследовать от входа. | Слой конкатенации глубин принимает входы, которые имеют ту же высоту и ширину и конкатенирует их вдоль третьей размерности (размерность канала). Эти ограничения применяются при генерации кода для сети, использующей этот слой:
| Нет |
Слой | Оборудование (HW) или программное обеспечение (SW) | Описание и ограничения | INT8 совместимый |
Коротковолновый | Слой softmax применяет функцию softmax к входу. | Да. Выполняется как один тип данных в SW. | |
Коротковолновый | Классификационный слой вычисляет потери перекрестной энтропии для вопросов классификации нескольких классов с взаимоисключающими классами. | Да | |
Коротковолновый | Регрессионный слой вычисляет полусреднюю потерю в квадратичной невязке для проблем регрессии. | Да |
Слой | Оборудование (HW) или программное обеспечение (SW) | Выход слоя | Описание и ограничения | INT8 совместимый |
nnet.keras.layer.FlattenCStyleLayer | HW | Слой будет сплавлен | Сплющите активации в 1-D слои в порядке C-стиля (основная строка). A | Да |
nnet.keras.layer.ZeroPadding2dLayer | HW | Слой будет сплавлен. | Нулевой слой заполнения для 2-D входа. A | Да |
Эти платы поддерживаются Deep Learning HDL Toolbox:
Xilinx Zynq®- 7 000 ZC706.
Программа Intel Arria® 10 СнК.
Xilinx Zynq UltraScale+™ MPSoC ZCU102.
Deep Learning HDL Toolbox был протестирован с:
Xilinx Vivado Проекта Набора 2020.1
Intel Quartus Prime 18.1