金宝app支持的网络、层、板、工具
金宝app支持的预训练网络
深度学习HDL工具箱™支持系列卷积神经网络(cnn或C金宝apponvNets)的代码生成。您可以为任何经过训练的CNN生成代码,这些CNN的计算层支持代码生成。金宝app有关完整列表,请参见金宝app支持层.您可以使用表中列出的预训练网络之一为目标Intel生成代码®或Xilinx®FPGA板。
网络 | 网络描述 | 类型 | 单一数据类型(包含装运比特流) | INT8数据类型(带装运比特流) | 应用领域 | ||||
ZCU102 | ZC706 | Arria10 SoC | ZCU102 | ZC706 | Arria10 SoC | 分类 | |||
AlexNet | AlexNet卷积神经网络。 |
系列网络 | 不。要使用比特流,请启用LRNBlockGeneration 属性的比特流的处理器配置,并重新生成比特流。 |
不。要使用比特流,请启用LRNBlockGeneration 属性的比特流的处理器配置,并重新生成比特流。 |
不。要使用比特流,请启用LRNBlockGeneration 属性的比特流的处理器配置,并重新生成比特流。 |
不。要使用比特流,请启用LRNBlockGeneration 属性的比特流的处理器配置,并重新生成比特流。 |
不。要使用比特流,请启用LRNBlockGeneration 属性的比特流的处理器配置,并重新生成比特流。 |
不。要使用比特流,请启用LRNBlockGeneration 属性的比特流的处理器配置,并重新生成比特流。 |
分类 |
LogoNet | Logo识别网络(LogoNet)是MATLAB开发的®开发标识识别网络。有关更多信息,请参见标志识别网络. |
系列网络 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 | 分类 |
DigitsNet | 数字分类网络。看到创建简单的深度学习网络分类 |
系列网络 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 | 分类 |
车道检测 | LaneNet卷积神经网络。有关更多信息,请参见采用迁移学习网络进行车道检测. |
系列网络 | 不。要使用比特流,请启用LRNBlockGeneration 属性的比特流的处理器配置,并重新生成比特流。 |
不。要使用比特流,请启用LRNBlockGeneration 属性的比特流的处理器配置,并重新生成比特流。 |
不。要使用比特流,请启用LRNBlockGeneration 属性的比特流的处理器配置,并重新生成比特流。 |
不。要使用比特流,请启用LRNBlockGeneration 属性的比特流的处理器配置,并重新生成比特流。 |
不。要使用比特流,请启用LRNBlockGeneration 属性的比特流的处理器配置,并重新生成比特流。 |
不。要使用比特流,请启用LRNBlockGeneration 属性的比特流的处理器配置,并重新生成比特流。 |
分类 |
VGG-16 | VGG-16卷积神经网络。预训练的vg -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网络,用于识别和分类缺陷。有关更多信息,请参见缺陷检测. |
系列网络 | 不。要使用比特流,请启用LRNBlockGeneration 属性的比特流的处理器配置,并重新生成比特流。 |
不。要使用比特流,请启用LRNBlockGeneration 属性的比特流的处理器配置,并重新生成比特流。 |
不。要使用比特流,请启用LRNBlockGeneration 属性的比特流的处理器配置,并重新生成比特流。 |
不。要使用比特流,请启用LRNBlockGeneration 属性的比特流的处理器配置,并重新生成比特流。 |
不。要使用比特流,请启用LRNBlockGeneration 属性的比特流的处理器配置,并重新生成比特流。 |
不。要使用比特流,请启用LRNBlockGeneration 属性的比特流的处理器配置,并重新生成比特流。 |
分类 |
缺陷检测snet_blemdetnet |
snet_blemdetnet 是一种自定义卷积神经网络,用于识别和分类缺陷。有关更多信息,请参见缺陷检测. |
系列网络 | 不。要使用比特流,请启用LRNBlockGeneration 属性的比特流的处理器配置,并重新生成比特流。 |
不。要使用比特流,请启用LRNBlockGeneration 属性的比特流的处理器配置,并重新生成比特流。 |
不。要使用比特流,请启用LRNBlockGeneration 属性的比特流的处理器配置,并重新生成比特流。 |
不。要使用比特流,请启用LRNBlockGeneration 属性的比特流的处理器配置,并重新生成比特流。 |
不。要使用比特流,请启用LRNBlockGeneration 属性的比特流的处理器配置,并重新生成比特流。 |
不。要使用比特流,请启用LRNBlockGeneration 属性的比特流的处理器配置,并重新生成比特流。 |
分类 |
DarkNet-53 | Darknet-53卷积神经网络。关于预训练的DarkNet-53模型,请参见darknet53 . |
基于有向无环图(DAG)网络 | 是的 | 是的 | 是的 | 是的 | 是的 | 没有 | 分类 |
ResNet-18 | ResNet-18卷积神经网络。预训练的ResNet-18模型请参见resnet18 . |
基于有向无环图(DAG)网络 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 | 分类 |
ResNet-50 | ResNet-50卷积神经网络。关于预训练的ResNet-50模型,请参见resnet50 . |
基于有向无环图(DAG)网络 | 不。网络超过PL DDR内存大小。 | 不。网络超过PL DDR内存大小。 | 是的 | 是的 | 是的 | 是的 | 分类 |
基于resnet的YOLO v2 | 你只看一次(YOLO)是一个对象检测器,它从卷积神经网络解码预测,并在对象周围生成边界框。有关更多信息,请参见基于YOLO v2 FPGA的DAG网络车辆检测. | 基于有向无环图(DAG)网络 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 | 对象检测 |
MobileNetV2 | MobileNet-v2卷积神经网络。有关预训练的MobileNet-v2模型,请参见mobilenetv2 . |
基于有向无环图(DAG)网络 | 是的 | 是的 | 是的 | 是的 | 是的 | 是的 | 分类 |
GoogLeNet | GoogLeNet卷积神经网络。有关预训练的GoogLeNet模型,请参见googlenet . |
基于有向无环图(DAG)网络 | 不。要使用比特流,请启用LRNBlockGeneration 属性的比特流的处理器配置,并重新生成比特流。 |
不。要使用比特流,请启用LRNBlockGeneration 属性的比特流的处理器配置,并重新生成比特流。 |
不。要使用比特流,请启用LRNBlockGeneration 属性的比特流的处理器配置,并重新生成比特流。 |
不。要使用比特流,请启用LRNBlockGeneration 属性的比特流的处理器配置,并重新生成比特流。 |
不。要使用比特流,请启用LRNBlockGeneration 属性的比特流的处理器配置,并重新生成比特流。 |
不。要使用比特流,请启用LRNBlockGeneration 属性的比特流的处理器配置,并重新生成比特流。 |
分类 |
PoseNet | 人体姿态估计网络。 | 基于有向无环图(DAG)网络 | 是的。 | 是的 | 是的 | 是的 | 是的 | 是的 | 分割 |
U-Net | 用于语义图像分割的U-Net卷积神经网络。 | 基于有向无环图(DAG)网络 | 不。PL DDR内存过大。 | 不。PL DDR内存过大。 | 不。PL DDR内存过大。 | 不。PL DDR内存过大。 | 不。PL DDR内存过大。 | 是的 | 分割 |
基于squeezenet的YOLO v3 | you-only-look-once (YOLO) v3目标检测器是一个多尺度目标检测网络,它使用特征提取网络和多个检测头在多个尺度上进行预测。 | dlnetwork 对象 |
是的 | 是的 | 没有 | 没有 | 没有 | 没有 | 对象检测 |
Sequence-to-sequence分类 | 利用长短期记忆(LSTM)网络对序列数据的每个时间步进行分类。看到使用深度学习HDL工具箱在fpga上运行序列到序列的分类. | 长短期记忆(LSTM)网络 | 是的 | 是的 | 没有 | 没有 | 没有 | 没有 | 序列数据分类 |
时间序列预测 | 利用长短期记忆(LSTM)网络预测时间序列数据。看到使用深度学习HDL工具箱™在FPGA上运行序列预测 | 长短期记忆(LSTM)网络 | 是的 | 是的 | 没有 | 没有 | 没有 | 没有 | 预测时间序列数据 |
逐字生成文本 | 通过使用长短期记忆(LSTM)网络逐字生成文本。看到通过使用深度学习HDL工具箱在fpga上逐字生成文本. | 长短期记忆(LSTM)网络 | 是的 | 是的 | 没有 | 没有 | 没有 | 没有 | 序列数据预测 |
金宝app支持层
深度学习HDL工具箱支持这些表中列出的层。金宝app
输入层
层 | 层类型硬件(HW)或软件(SW) | 描述和限制 | INT8兼容 |
西南 | 图像输入层将2-D图像输入到网络并应用数据规范化。规范化选项 |
是的。在SW中作为单一数据类型运行。 | |
西南 | 特征输入层将特征数据输入网络并进行数据规范化。 | 没有 | |
西南 | 序列输入层向网络输入序列数据。 | 没有 |
卷积和全连通层
层 | 层类型硬件(HW)或软件(SW) | 图层输出格式 | 描述和限制 | INT8兼容 |
HW | 卷积(Conv) | 二维卷积层对输入应用滑动卷积滤波器。 当使用该层为网络生成代码时,以下限制适用:
|
是的 |
|
HW | 卷积(Conv) | 二维分组卷积层将输入通道分成组,并应用滑动卷积滤波器。使用分组卷积层进行通道可分离(也称为深度可分离)卷积。 的2-D分组卷积层现在支持代码生成金宝app 当使用该层为网络生成代码时,以下限制适用:
|
是的 |
|
HW | 卷积(Conv) | 转置二维卷积层上采样特征图。 当使用该层为网络生成代码时,以下限制适用:
|
是的 |
|
HW | 全连接(FC) | 全连接层将输入乘以权重矩阵,然后添加偏置向量。 当使用该层为网络生成代码时,以下限制适用:
|
是的 |
激活层
层 | 层类型硬件(HW)或软件(SW) | 图层输出格式 | 描述和限制 | INT8兼容 |
HW | 层被融合。 | ReLU层对输入的每个元素执行阈值操作,其中任何小于零的值都被设置为零。 只有当ReLU层前面有以下任何一金宝app层时,才支持它:
|
是的 |
|
HW | 层被融合。 | 泄漏的ReLU层执行阈值操作,其中任何小于零的输入值乘以一个固定的标量。 漏水的ReLU层只有在前面有以下任何一层时才金宝app会被支持:
|
是的 |
|
HW | 层被融合。 | 剪切的ReLU层执行阈值操作,其中任何小于零的输入值都被设置为零,任何高于剪切上限的值都被设置为该剪切上限值。 只有当剪切的ReLU层前面有以下任何一层时,才支金宝app持它:
|
是的 |
|
HW | 从输入继承 | 双曲正切(tanh)激活层对层输入应用tanh函数。 |
没有 |
归一化、删除和裁剪图层
层 | 层类型硬件(HW)或软件(SW) | 图层输出格式 | 描述和限制 | INT8兼容 |
HW | 层被融合。 | 批处理归一化层将跨小批处理的每个输入通道归一化。 当前面有图像输入层或卷积层时,支持批处理归一层。金宝app |
是的 |
|
HW | 卷积(Conv) | 信道局部响应(跨信道)归一层执行信道归一化。 的 |
是的。在HW中作为单一数据类型运行。 |
|
推理NoOP | 推理NoOP | dropout层在给定的概率内随机地将输入元素设置为零。 |
是的 |
|
|
HW | 从输入继承 | 2-D调整层通过比例因子调整2-D输入的大小,到指定的高度和宽度,或者到参考输入特征映射的大小。 当使用该层为网络生成代码时,以下限制适用:
|
没有 |
池化和解池化层
层 | 层类型硬件(HW)或软件(SW) | 图层输出格式 | 描述和限制 | INT8兼容 |
HW | 卷积(Conv) | 最大池化层通过将层输入划分为矩形池化区域并计算每个区域的最大值来进行下采样。 当使用该层为网络生成代码时,以下限制适用:
|
是的 不,当 |
|
HW | 卷积(Conv) | 最大池化层解除最大池化层的输出。 |
没有 | |
HW | 卷积(Conv) | 平均池化层通过将层输入划分为矩形池化区域并计算每个区域的平均值来进行下采样。 当使用该层为网络生成代码时,以下限制适用:
|
是的 |
|
HW | 卷积(Conv) | 全局平均池化层通过计算输入的高度和宽度维度的平均值来执行下采样。 当使用该层为网络生成代码时,以下限制适用:
|
是的 |
结合层
层 | 层类型硬件(HW)或软件(SW) | 图层输出格式 | 描述和限制 | INT8兼容 |
HW | 从输入继承。 | 添加层按元素添加来自多个神经网络层的输入。 现在,您可以为该层生成代码 当使用该层为网络生成代码时,以下限制适用:
|
是的 | |
HW | 从输入继承。 | 深度连接层接受具有相同高度和宽度的输入,并沿着第三维(通道维)将它们连接起来。 当使用该层为网络生成代码时,以下限制适用:
|
是的 |
|
HW | 从输入继承 | 乘法层将来自多个神经网络层的输入按元素进行乘法。 | 没有 |
序列层
层 | 层类型硬件(HW)或软件(SW) | 描述和限制 | INT8兼容 |
---|---|---|---|
HW |
LSTM层学习时间序列和序列数据中时间步长之间的长期依赖关系。该层执行加法相互作用,这可以帮助改善训练过程中长序列的梯度流动。 当使用该层为网络生成代码时,以下限制适用:
|
没有 |
输出层
层 | 层类型硬件(HW)或软件(SW) | 描述和限制 | INT8兼容 |
SW和HW | softmax层对输入应用一个softmax函数。 如果softmax层在硬件中实现:
|
是的。在SW中作为单一数据类型运行。 |
|
西南 | 分类层计算具有互斥类的多类分类问题的交叉熵损失。 |
是的 |
|
西南 | 回归层计算回归问题的一半均方误差损失。 |
是的 |
|
SW和HW | sigmoid层对输入应用sigmoid函数。 当数据类型为
在SW中作为单一数据类型运行。 |
是的。当数据类型为
|
Keras和ONNX图层
层 | 层类型硬件(HW)或软件(SW) | 图层输出格式 | 描述和限制 | INT8兼容 |
nnet.keras.layer.FlattenCStyleLayer |
HW | 图层将被融合 | 将激活平铺成1-D层,假设c风格(行为主)顺序。 一个 |
是的 |
nnet.keras.layer.ZeroPadding2dLayer |
HW | 图层将被融合。 | 零填充层为2-D输入。 一个 |
是的 |
自定义图层
层 | 层类型硬件(HW)或软件(SW) | 图层输出格式 | 描述和限制 | INT8兼容 |
---|---|---|---|---|
自定义图层 | HW | 从输入继承 | 自定义层,包含或不包含您为问题定义的可学习参数。若要了解如何定义自定义深度学习层,请参见为自定义层创建深度学习处理器配置. | 没有 |
金宝app支持董事会
这些板由深度学习HDL工具箱支持:金宝app
Xilinx Zynq®-7000年ZC706
英特尔Arria®10 SoC
Xilinx Zynq UltraScale+™MPSoC ZCU102
第三方合成工具和版本支持金宝app
深度学习HDL工具箱已经过测试:
Xilinx Vivado®设计套件2020.2
英特尔第四的®主要标准20.1.1
图像输入层归一化硬件实现
为图像输入层启用归一化函数的硬件实现,请设置HardwareNormalization
的参数编译
方法汽车
或在
.当HardwareNormalization
设置为汽车
, compile方法查找加法和乘法层的存在,以便在硬件上实现归一化功能。在硬件上通过以下方式实现规范化:
创建一个新的常量层,该层保存要减去的值。
使用现有的加法和乘法层。要使用的层取决于正在实现的归一化函数。
固定层缓冲内容
该表描述了存储在常量层缓冲区中的值。
归一化函数 | 常数的数目 | 固定层缓冲值 |
---|---|---|
zerocenter |
1 | ——意思是 |
zscore |
2 | 第一个常数值是的意思是 .第二个常数值是1 / StandardDeviation |