DPUCVDX8G には、リソース使用量を最適化したり、機能をカスタマイズするためにユーザーが指定できるパラメーターがあります。使用可能なプログラマブル ロジック リソースの量に応じて、AI エンジン、DSP スライス、LUT、ブロック RAM、および UltraRAM の使用量を設定できます。チャネル拡張、AveragePool、DepthwiseConv などの追加機能のオプションもあります。さらに、1 つの 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 に格納されます。
機能 | 説明 | 範囲 |
---|---|---|
Convolution 2D および 3D | カーネル サイズ | 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 | 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 | |
Depthwise Convolution 2D および 3D | カーネル サイズ | 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 | 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 | |
Transposed Convolution 2D および 3D | カーネル サイズ | 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 | |
Depthwise Transposed Convolution 2D および 3D | カーネル サイズ | 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 | |
Max Pooling | カーネル サイズ | w、h: [1, 256] |
Strides | w、h: [1, 256] | |
パディング | w: [0, min(kernel_w-1,15)] h: [0, min(kernel_h-1,15)] |
|
Average Pooling | カーネル サイズ | w、h: [1, 256] |
Strides | w、h: [1, 256] | |
パディング | w: [0, min(kernel_w-1,15)] h: [0, min(kernel_h-1,15)] |
|
Elementwise-Sum 2D および 3D | 入力チャネル | 1~256 * channel_parallel |
入力サイズ | 任意の値 | |
特徴マップの数 | 1 ~ 4 | |
Elementwise-Multiply 2D および 3D | 入力チャネル | 1~256 * channel_parallel |
入力サイズ | 任意の値 | |
特徴マップの数 | 2 | |
Concat | 出力チャネル | 1~256 * channel_parallel |
Reorg | ストライド | stride * stride * input_channel ≤ 256 * channel_parallel |
FC (Full Connected) | 入力チャネル | Input_channel ≤ 2048 * channel_parallel |
出力チャネル | 任意の値 | |
|