Deep Learning HDL Toolbox™ поддерживает генерацию кода для сверточных нейронных сетей серии (CNN или ConvNets). Можно создать код для любой обученной сверточной нейронной сети, вычислительные уровни которой поддерживаются для генерации кода. См. раздел Поддерживаемые слои. Вы можете использовать одну из предварительно подготовленных сетей, перечисленных в таблице, и создавать код для ваших целевых плат Intel ® или Xilinx ® FPGA.
| Сеть | Описание сети | Напечатать | Отдельный тип данных (с битовыми потоками отгрузки) | INT8 тип данных (с битовыми потоками доставки) | Область применения | ||||
| ZCU102 | ZC706 | Arria10 SoC | ZCU102 | ZC706 | Arria10 SoC | Классификация | |||
| AlexNet | Сверточная нейронная сеть AlexNet. | Сеть серии | Да | Да | Да | Да | Да | Да | Классификация |
| LogoNet | Сеть распознавания логотипов (LogoNet) - это разработанная компанией MATLAB ® сеть идентификации логотипов. Дополнительные сведения см. в разделе Сеть распознавания логотипов. | Сеть серии | Да | Да | Да | Да | Да | Да | Классификация |
| MNIST | Классификация цифр MNIST. См. раздел Создание простой сети глубокого обучения для классификации | Сеть серии | Да | Да | Да | Да | Да | Да | Классификация |
| Обнаружение полосы движения | LaneNet сверточная нейронная сеть. Дополнительные сведения см. в разделе Развертывание сети обучения переносу для определения полосы движения | Сеть серии | Да | Да | Да | Да | Да | Да | Классификация |
| VGG-16 | VGG-16 сверточная нейронная сеть. Для получения информации о предварительно подготовленной модели VGG-16 см. | Сеть серии | Нет. Сеть превышает размер памяти DDR PL | Нет. Сеть превышает размер памяти модуля FC. | Да | Да | Нет. Сеть превышает размер памяти модуля FC. | Да | Классификация |
| VGG-19 | VGG-19 сверточная нейронная сеть. Для получения информации о предварительно подготовленной модели VGG-19 см. | Сеть серии | Нет. Сеть превышает размер памяти DDR PL | Нет. Сеть превышает размер памяти модуля 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) | Нет. Сеть превышает размер памяти DDR PL. | Нет. Сеть превышает размер памяти DDR PL. | Да | Да | Да | Да | Классификация |
| ResNet-18 | ResNet-18 сверточная нейронная сеть. Для получения информации о предварительно подготовленной модели ResNet-18 см. resnet18. | Сеть на основе направленного ациклического графа (DAG) | Да | Да | Да | Да | Да | Классификация | |
| ResNet-50 | ResNet-50 сверточная нейронная сеть. Для получения информации о предварительно подготовленной модели ResNet-50 см. resnet50. | Сеть на основе направленного ациклического графа (DAG) | Нет. Сеть превышает размер памяти DDR PL. | Нет. Сеть превышает размер памяти DDR PL. | Да | Да | Да | Да | Классификация |
| YOLO v2 на основе ResNet | Вы смотрите только один раз (YOLO) - детектор объектов, который декодирует предсказания из сверточной нейронной сети и генерирует ограничивающие рамки вокруг объектов. Дополнительные сведения см. в разделе Обнаружение транспортных средств с использованием сетевой базы данных YOLO v2, развернутой в FPGA. | Сеть на основе направленного ациклического графа (DAG) | Да | Да | Да | Да | Да | Да | Обнаружение объектов |
| MobileNetV2 | MobileNet-v2 сверточная нейронная сеть. Для получения информации о предварительно подготовленной модели MobileNet-v2 см. mobilenetv2. | Сеть на основе направленного ациклического графа (DAG) | Да | Да | Да | Нет | Нет | Нет | Классификация |
Следующие слои поддерживаются панелью инструментов Deep Learning HDL Toolbox.
| Слой | Аппаратные средства уровня (HW) или программное обеспечение (SW) | Описание и ограничения | INT8 Совместимый |
| Коротковолновый | Уровень ввода изображения вводит 2-D изображения в сеть и применяет нормализацию данных. | Да. Выполняется как один тип данных в ПО. |
| Слой | Аппаратные средства уровня (HW) или программное обеспечение (SW) | Формат вывода слоев | Описание и ограничения | INT8 Совместимый |
| HW | Свертка (конвейер) | 2-D сверточный слой применяет скользящие сверточные фильтры к входу. Эти ограничения применяются при создании кода для сети с использованием этого уровня:
| Да | |
| HW | Свертка (конвейер) | 2-D сгруппированный сверточный слой разделяет входные каналы на группы и применяет скользящие сверточные фильтры. Используйте сгруппированные сверточные слои для разделяемых по каналам (также называемых разделяемыми по глубине) сверток. Создание кода теперь поддерживается для 2-D сгруппированного слоя свертки, который имеет Эти ограничения применяются при создании кода для сети с использованием этого уровня:
| Да | |
| HW | Полностью подключенный (FC) | Полностью связанный слой умножает входной сигнал на весовую матрицу, а затем добавляет вектор смещения. Эти ограничения применяются при создании кода для сети с использованием этого уровня:
| Да |
| Слой | Аппаратные средства уровня (HW) или программное обеспечение (SW) | Формат вывода слоев | Описание и ограничения | INT8 Совместимый |
| HW | Слой сплавлен. | Уровень ReLU выполняет пороговую операцию для каждого элемента входного сигнала, где любое значение, меньшее нуля, устанавливается равным нулю. Уровень ReLU поддерживается только тогда, когда ему предшествует любой из следующих уровней:
| Да | |
| HW | Слой сплавлен. | Уровень ReLU с утечкой выполняет пороговую операцию, где любое входное значение, меньшее нуля, умножается на фиксированный скаляр. Протекающий уровень ReLU поддерживается только тогда, когда ему предшествует любой из следующих уровней:
| Да | |
| HW | Слой сплавлен. | Подрезанный слой ReLU выполняет пороговую операцию, при которой любое входное значение меньше нуля устанавливается равным нулю, а любое значение выше потолка подрезки устанавливается равным этому значению потолка подрезки. Подрезанный слой ReLU поддерживается только тогда, когда ему предшествует любой из следующих слоев:
| Да |
| Слой | Аппаратные средства уровня (HW) или программное обеспечение (SW) | Формат вывода слоев | Описание и ограничения | INT8 Совместимый |
| HW | Слой сплавлен. | Уровень нормализации пакета нормализует каждый входной канал в мини-пакете. Слой пакетной нормализации поддерживается только тогда, когда ему предшествует слой свертки. | Да | |
| HW | Свертка (конвейер) | Канальный уровень локальной (кросс-канальной) нормализации выполняет канальную нормализацию. | Да. Выполняется как один тип данных в HW. | |
| NoOP о выводе | NoOP о выводе | Уровень отсева случайным образом устанавливает входные элементы в ноль с заданной вероятностью. | Да |
| Слой | Аппаратные средства уровня (HW) или программное обеспечение (SW) | Формат вывода слоев | Описание и ограничения | INT8 Совместимый |
| HW | Свертка (конвейер) | Максимальный уровень объединения выполняет нисходящую выборку путем разделения входных данных на прямоугольные области объединения и вычисления максимума каждой области. Эти ограничения применяются при создании кода для сети с использованием этого уровня:
| Да | |
| HW | Свертка (конвейер) | Средний уровень объединения выполняет нисходящую выборку путем разделения входных данных на прямоугольные области объединения и вычисления средних значений каждой области. Эти ограничения применяются при создании кода для сети с использованием этого уровня:
| Да | |
| HW | Свертка (конвейер) или полное подключение (FC). Если размер активации ввода меньше порогового значения памяти, то формат вывода уровня - FC. | Уровень глобального среднего объединения выполняет выборку вниз путем вычисления среднего значения высоты и ширины входного сигнала. Эти ограничения применяются при создании кода для сети с использованием этого уровня:
| Да |
| Слой | Аппаратные средства уровня (HW) или программное обеспечение (SW) | Формат вывода слоев | Описание и ограничения | INT8 Совместимый |
| HW | Наследовать из входных данных. | Уровень сложения добавляет входные данные от нескольких уровней нейронной сети по элементам. Эти ограничения применяются при создании кода для сети с использованием этого уровня:
| Да | |
| HW | Наследовать из входных данных. | Слой конкатенации глубины принимает входные данные одинаковой высоты и ширины и объединяет их вдоль третьего размера (размера канала). Эти ограничения применяются при создании кода для сети с использованием этого уровня:
| Нет |
| Слой | Аппаратные средства уровня (HW) или программное обеспечение (SW) | Описание и ограничения | INT8 Совместимый |
| Коротковолновый | Уровень softmax применяет функцию softmax к входу. | Да. Выполняется как один тип данных в ПО. | |
| Коротковолновый | Уровень классификации вычисляет потери перекрестной энтропии для проблем классификации нескольких классов с взаимоисключающими классами. | Да | |
| Коротковолновый | Регрессионный уровень вычисляет среднеквадратичную потерю ошибок для регрессионных задач. | Да |
| Слой | Аппаратные средства уровня (HW) или программное обеспечение (SW) | Формат вывода слоев | Описание и ограничения | INT8 Совместимый |
nnet.keras.layer.FlattenCStyleLayer | HW | Слой будет сплавлен | Распрямление активаций на 1-D слои в соответствии с порядком C-style (строка-мажор). A | Да |
nnet.keras.layer.ZeroPadding2dLayer | HW | Слой будет сплавлен. | Нулевой слой заполнения для ввода 2-D. A | Да |
Эти платы поддерживаются панелью инструментов 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 Quartus Prime 18.1