通常のたたみ込みでは、各入力チャネルは特定の 1 つのカーネルで演算を実行する必要があり、結果は、すべてのチャネルの結果を合計したものとなります。
Depthwise たたみ込みは、空間方向のたたみ込みとチャネル方向のたたみ込みという 2 つのステップで実行されます。次の図の左側に示すように、空間方向のたたみ込みは各機能マップに対して個別に実行されます。次のステップでは、チャネル方向のたたみ込みが実行されます。これは、カーネル サイズが 1x1 の通常のたたみ込みと同義です。Depthwise たたみ込みの並列度は、ピクセル並列度の半分となります。
DPUCZDX8G の場合、Depthwise たたみ込みはプーリングと同様、ALU エンジンで実行されます。ALU の並列度範囲は、1 ~ PP であり、PP/2 に設定することが推奨されています。
図 1. Depthwise たたみ込みと Pointwise たたみ込み
ALU 並列度 | LUT | FF | ブロック RAM | DSP |
---|---|---|---|---|
1 | 44212 | 88250 | 255 | 662 |
2 | 46599 | 92380 | 255 | 678 |
4 (推奨)
|
51388 | 98525 | 255 | 710 |
8 | 60751 | 111329 | 255 | 774 |