placeholder / inputlayer* |
shape |
data |
shape |
入力データ用のメモリを割り当てます。 |
data_type |
const |
|
const |
data |
const データ用のメモリを割り当てます。 |
|
shape |
|
data_type |
conv2d |
filter |
conv2d |
kernel |
たたみ込みエンジン。 |
strides |
|
stride |
|
|
pad([0, 0, 0, 0]) |
padding |
|
pad_mode(SAME または VALID) |
dilations |
|
dilation |
conv2d* |
kernel_size: |
conv2d |
kernel |
strides |
stride |
padding |
pad([0, 0, 0, 0]) |
dilation_rate |
dilation |
use_bias |
|
group |
group |
depthwiseconv2dnative |
filter |
depthwise-conv2d |
kernel |
depthwise たたみ込みエンジン。 |
strides |
stride |
explicit_paddings |
pad |
padding |
pad_mode(SAME または VALID) |
dilations |
dilation |
conv2dbackpropinput / conv2dtranspose* |
filter |
transposed-conv2d |
kernel |
たたみ込みエンジン。 |
strides |
stride |
|
pad([0, 0, 0, 0]) |
padding |
pad_mode(SAME または VALID) |
dilations |
dilation |
spacetobacthnd + conv2d + batchtospacend |
block_shape |
conv2d |
dilation |
ザイリンクスが設定した特定の要件を満たす場合、Spacetobatch、Conv2d および Batchtospace はたたみ込みエンジンにマップされます。 |
padding |
pad |
filter |
kernel |
strides |
stride |
padding |
pad_mode(SAME) |
dilations |
dilation |
block_shape |
|
crops |
|
matmul / dense* |
transpose_a |
conv2d / matmul |
transpose_a |
等価な conv2d がハードウェア要件を満たし、DPU にマップできる場合、matmul は conv2d 動作に変換されます。 |
transpose_b |
transpose_b |
maxpool / maxpooling2d* / globalmaxpool2d* |
ksize |
maxpool2d |
kernel |
プーリング エンジン。元のプーリング演算子がグローバルな削減を必要とする場合、属性 global は TRUE に設定されます。 |
strides |
stride |
|
pad([0, 0, 0, 0]) |
padding |
pad_mode(SAME または VALID) |
|
global |
avgpool / averagepooling2d* / globalavgeragepooling2d* |
pool_size |
avgpool2d |
kernel |
プーリング エンジン。元のプーリング演算子がグローバルな削減を必要とする場合、属性 global は TRUE に設定されます。 |
strides |
stride |
|
pad([0, 0, 0, 0]) |
padding |
pad_mode(SAME または VALID) |
|
count_include_pad (false) |
|
count_include_invalid (true) |
|
global |
mean |
axis |
avgpool / reduction_mean |
axis |
等価な avgpool がハードウェア要件を満たし、DPU にマップできる場合、mean 動作は avgpool に変換されます。 |
keep_dims |
keep_dims |
relu |
|
relu |
|
アクティベーションは、convolution、add などの隣接する動作に融合されます。 |
relu6 |
|
relu6 |
|
leakyrelu |
alpha |
leaky_relu |
alpha |
fixneuron / quantizelayer* |
bit_width |
fix |
bit_width |
コンパイル中に float2fix と fix2float に分割され、float2fix および fix2float の動作は隣接する動作と融合されて粗粒度の動作に変換されます。 |
quantize_pos |
fix_point |
|
if_signed |
|
round_mode |
identity |
|
identity |
|
identity は削除されます。 |
add、addv2 |
|
add |
|
add が要素ごとの加算である場合、add は DPU の要素ごとの加算エンジンにマップされます。add がチャネルごとの加算である場合、add とたたみ込みなどの隣接する動作を融合できる可能性を探します。 |
mul |
|
mul |
|
mul の入力のうち 1 つが定数である場合、mul は depthwise たたみ込みエンジンにマップできます。2 つの入力が同じ形状である場合、mul は要素ごとの乗算として Misc Engine にマップできます。その他の mul 演算が特殊な演算子の組み合わせの一部である場合、この mul はその組み合わせに融合できます。それ以外の場合、mul は CPU にマップされます。 |
concatv2 / concatenate* |
axis |
concat |
axis |
特殊な読み出しまたは書き込みストラテジとオンチップ メモリの慎重な割り当てにより、concat の結果生じるオーバーヘッドを低減します。 |
pad / zeropadding2d* |
paddings |
pad |
paddings |
最初にコンパイラは「CONSTANT」パディングを隣接する動作 (たたみ込み、プーリングなど) に融合しようとします。このような演算子が存在しない場合でも、パディングの次元が 4 でハードウェア要件を満たしている場合、「CONSTANT」パディングを DPU にマップできます。「SYMMETRIC」パディングは DPU にマップされますが、「REFLECT」パディングは DPU でサポートされていません。 |
mode |
mode |
|
constant_values |
shape |
|
shape |
|
shape 動作は削除されます。 |
stridedslice |
begin |
strided_slice |
begin |
shape に関連する動作である場合、コンパイル中に削除されます。粗粒度の動作のコンポーネントである場合、隣接する動作と融合されます。それ以外の場合、CPU インプリメンテーションにコンパイルされます。 |
end |
end |
strides |
strides |
pack |
axis |
stack |
axis |
neg |
|
neg |
|
realdiv |
|
div |
|
sub |
|
sub |
|
prod |
axis |
reduction_product |
axis |
keep_dims |
keep_dims |
sum |
axis |
reduction_sum |
axis |
keep_dims |
keep_dims |
max |
axis |
reduction_max |
axis |
keep_dims |
keep_dims |
resizebilinear |
size |
resize |
size |
resize のモードが「BILINEAR」、align_corner=false、half_pixel_centers = false、size = 2、4、8 である場合、align_corner=false、half_pixel_centers = true、size = 2、4 は、DPU インプリメンテーション (pad+depthwise-転置された conv2d) に変換できます。resize のモードが「NEAREST」で size が整数である場合、resize は DPU インプリメンテーションにマップされます。 |
align_corners |
align_corners |
half_pixel_centers |
half_pixel_centers |
|
mode="BILINEAR" |
resizenearestneighbor |
size |
resize |
size |
align_corners |
align_corners |
half_pixel_centers |
half_pixel_centers |
|
mode="NEAREST" |
upsample2d/upsampling2d* |
size |
resize |
scale |
|
align_corners |
|
half_pixel_centers |
interpolation |
mode |
reshape |
shape |
reshape |
shape |
reshape 動作に変換される場合があります。それ以外の場合、CPU インプリメンテーションにマップされます。 |
reshape* |
target_shape |
transpose |
perm |
transpose |
order |
squeeze |
axis |
squeeze |
axis |
exp |
|
exp |
|
CPU インプリメンテーションにのみコンパイルされます。 |
softmax |
axis |
softmax |
axis |
sigmoid |
|
sigmoid |
|
square+ rsqrt+ maximum |
|
l2_normalize |
axis |
output = x / sqrt(max(sum(x ^ 2), epsilon)) は、XIR で l2_normalize に融合されます。 |
|
epsilon |
- 上記の TensorFlow の OP は、XIR でサポートされます。これらのすべての OP には、ツールチェーン内に CPU インプリメンテーションがあります。
- * が付いた演算子は、TensorFlow のバージョンが 2.0 より新しいことを示します。
|