DPUCVDX8G 提供了用户可配置参数,用于最优化资源利用率并自定义特征。根据可用的可编程逻辑资源,有不同配置可供选择用于满足不同的 AI 引擎、DSP slice、LUT、块 RAM 和 UltraRAM 使用需求。此外还有其它选项可提供附加功能,例如,通道增广、平均池化和逐通道卷积。另外还有一个选项可用于配置在单个 DPUCVDX8G IP 中例化的 DPUCVDX8G 的批处理程序数量。下表显示了 DPUCVDX8G 所支持的深度神经网络特征和关联的参数。
在使用 Vitis™ 加速流程集成 DPUCVDX8G 时,还会生成名为 arch.json 的配置文件。此 arch.json 文件可供 Vitis AI 编译器用于模型编译。如果 arch.json 内容发生更改。请重新编译模型。如需了解有关 Vitis AI 编译器的更多信息,请参阅 Vitis AI 用户指南(UG1414)。在 Vitis 加速流程中,arch.json 文件位于 $TRD_HOME/vitis_prj/package_out/sd_card/arch.json。
特征 | 描述 | 范围 |
---|---|---|
卷积二维和三维 | 内核大小 | w, h, d: [1, 16] w * h * ceil ( ceil ( input_channel / 16 ) * 16 * d / 2048 ) <= 64 |
步幅 | w, h, d: [1, 8] | |
填充 | w: [0, kernel_w-1] h: [0, kernel_h-1] d: [0, kernel_d-1] |
|
输入大小 | 任意 | |
输入通道 | 1~256 * channel_parallel | |
输出通道 | 1~256 * channel_parallel | |
激活 | ReLU、ReLU6、LeakyReLU、PReLU、Hard Sigmoid 和 Hard Swish | |
扩张 | dilation * input_channel ≤ 256 * channel_parallel && stride_w == 1 && stride_h == 1 | |
约束* | kernel_w * kernel_h * kernel_d * (ceil(input_channel / channel_parallel)) <= bank_depth | |
逐通道卷积二维和三维 | 内核大小 | w, h: [1, 256] d: [1, 16] |
步幅 | w, h: [1, 256] d = 1 |
|
填充 | w: [0, min(kernel_w-1,15)] h: [0, min(kernel_h-1,15)] d: [0, kernel_d-1] |
|
输入大小 | 任意 | |
输入通道 | 1~256 * channel_parallel | |
输出通道 | 1~256 * channel_parallel | |
激活 | ReLU、ReLU6、LeakyReLU、PReLU、Hard Sigmoid 和 Hard Swish | |
扩张 | dilation * input_channel ≤ 256 * channel_parallel && stride_w == 1 && stride_h == 1 | |
约束* | kernel_w * kernel_h * kernel_d * (ceil(input_channel / channel_parallel)) <= bank_depth | |
转置卷积二维和三维 | 内核大小 | kernel_w/stride_w: [1, 16] kernel_h/stride_h: [1, 16] kernel_d/stride_d: [1, 16] |
步幅 | ||
填充 | w: [0, kernel_w-1] h: [0, kernel_h-1] d: [0, kernel_d-1] |
|
输入大小 | 任意 | |
输入通道 | 1~256 * channel_parallel | |
输出通道 | 1~256 * channel_parallel | |
激活 | ReLU、ReLU6、LeakyReLU、PReLU、Hard Sigmoid 和 Hard Swish | |
逐通道转置卷积二维和三维 | 内核大小 | kernel_w/stride_w: [1, 256] kernel_h/stride_h: [1, 256] kernel_d/stride_d: [1, 256] |
步幅 | ||
填充 | w: [0, min(kernel_w-1,15)] h: [0, min(kernel_h-1,15)] d: [0, kernel_d-1] |
|
输入大小 | 任意 | |
输入通道 | 1~256 * channel_parallel | |
输出通道 | 1~256 * channel_parallel | |
激活 | ReLU、ReLU6、LeakyReLU、PReLU、Hard Sigmoid 和 Hard Swish | |
最大池化 | 内核大小 | w, h: [1, 256] |
步幅 | w, h: [1, 256] | |
填充 | w: [0, min(kernel_w-1,15)] h: [0, min(kernel_h-1,15)] |
|
平均池化 | 内核大小 | w, h: [1, 256] |
步幅 | w, h: [1, 256] | |
填充 | w: [0, min(kernel_w-1,15)] h: [0, min(kernel_h-1,15)] |
|
逐元素求和二维和三维 | 输入通道 | 1~256 * channel_parallel |
输入大小 | 任意 | |
特征映射数量 | 1~4 | |
逐元素乘法二维和三维 | 输入通道 | 1~256 * channel_parallel |
输入大小 | 任意 | |
特征映射数量 | 2 | |
串联 | 输出通道 | 1~256 * channel_parallel |
重组 | 步幅 | stride * stride * input_channel ≤ 256 * channel_parallel |
完全连接 (FC) | Input_channel | Input_channel ≤ 2048 * channel_parallel |
Output_channel | 任意 | |
|