Spaces:
Running
Running
<CustomLayer name="ReorgYolo" type="MVCL" version="1"> | |
<Kernel entry="reorg_hwc_naive"> | |
<Source filename="reorg_hwc_naive.bin"/> | |
<Parameters> | |
<Tensor arg-name="src" type="input" port-index="0" format="BYXF"/> | |
<Tensor arg-name="dst" type="output" port-index="0" format="BYXF"/> | |
<Scalar arg-name="W" type="int" port-index="0" source="I.X"/> | |
<Scalar arg-name="H" type="int" port-index="0" source="I.Y"/> | |
<Scalar arg-name="C" type="int" port-index="0" source="I.F"/> | |
<Scalar arg-name="stride" type="int" source="stride"/> | |
</Parameters> | |
<WorkSizes dim="input,0" global="F,1,1" local="stride*stride,1,1"/> | |
</Kernel> | |
</CustomLayer> | |
<CustomLayer name="ReorgYolo" type="MVCL" version="1"> | |
<Kernel entry="reorg_chw"> | |
<Source filename="reorg_chw.bin"/> | |
<Parameters> | |
<Tensor arg-name="src" type="input" port-index="0" format="BFYX"/> | |
<Tensor arg-name="dst" type="output" port-index="0" format="BFYX"/> | |
<Scalar arg-name="W" type="int" port-index="0" source="I.X"/> | |
<Scalar arg-name="H" type="int" port-index="0" source="I.Y"/> | |
<Scalar arg-name="C" type="int" port-index="0" source="I.F"/> | |
<Scalar arg-name="stride" type="int" source="stride"/> | |
</Parameters> | |
<WorkSizes dim="input,0" global="Y*F/(stride*stride),stride*stride,1" local="stride,stride,1"/> | |
</Kernel> | |
</CustomLayer> | |
<CustomLayer name="RegionYolo" type="MVCL" version="1"> | |
<Where do_softmax="1"/> | |
<Kernel entry="region_chw"> | |
<Source filename="region_chw.bin"/> | |
<Parameters> | |
<Tensor arg-name="src_data" type="input" port-index="0" format="BFYX"/> | |
<Tensor arg-name="dst_data" type="output" port-index="0" format="BFYX"/> | |
<Scalar arg-name="W" type="int" port-index="0" source="I.X"/> | |
<Scalar arg-name="H" type="int" port-index="0" source="I.Y"/> | |
<Scalar arg-name="classes" type="int" source="classes"/> | |
<Scalar arg-name="coords" type="int" source="coords"/> | |
<Scalar arg-name="num" type="int" source="num"/> | |
<Scalar arg-name="maskSize" type="int" source="3"/> | |
<Scalar arg-name="doSoftmax" type="int" source="do_softmax"/> | |
</Parameters> | |
<WorkSizes global="((X*Y+7)/8)*8,num,1" local="((X*Y+7)/8)*8,1,1" dim="input,0"/> | |
</Kernel> | |
</CustomLayer> | |
<CustomLayer name="RegionYolo" type="MVCL" version="1">--> | |
<Where do_softmax="0" mask="0,1,2"/> | |
<Kernel entry="region_chw"> | |
<Source filename="region_chw.bin"/> | |
<Parameters> | |
<Tensor arg-name="src_data" type="input" port-index="0" format="BFYX"/> | |
<Tensor arg-name="dst_data" type="output" port-index="0" format="BFYX"/> | |
<Scalar arg-name="W" type="int" port-index="0" source="I.X"/> | |
<Scalar arg-name="H" type="int" port-index="0" source="I.Y"/> | |
<Scalar arg-name="classes" type="int" source="classes"/> | |
<Scalar arg-name="coords" type="int" source="coords"/> | |
<Scalar arg-name="num" type="int" source="num"/> | |
<Scalar arg-name="maskSize" type="int" source="3"/> | |
<Scalar arg-name="doSoftmax" type="int" source="do_softmax"/> | |
</Parameters> | |
<WorkSizes global="((X*Y+7)/8)*8,3,1" local="((X*Y+7)/8)*8,1,1" dim="input,0"/> | |
</Kernel> | |
</CustomLayer> | |
<CustomLayer name="RegionYolo" type="MVCL" version="1"> | |
<Where do_softmax="1"/> | |
<Kernel entry="region_hwc"> | |
<Source filename="region_hwc.bin"/> | |
<Parameters> | |
<Tensor arg-name="src" type="input" port-index="0" format="BYXF"/> | |
<Tensor arg-name="dst" type="output" port-index="0" format="BYXF"/> | |
<Scalar arg-name="W" type="int" port-index="0" source="I.X"/> | |
<Scalar arg-name="H" type="int" port-index="0" source="I.Y"/> | |
<Scalar arg-name="classes" type="int" source="classes"/> | |
<Scalar arg-name="coords" type="int" source="coords"/> | |
<Scalar arg-name="num" type="int" source="num"/> | |
<Scalar arg-name="maskSize" type="int" source="3"/> | |
<Scalar arg-name="doSoftmax" type="int" source="do_softmax"/> | |
</Parameters> | |
<WorkSizes global="((X*Y+7)/8)*8,num,1" local="((X*Y+7)/8)*8,1,1" dim="input,0"/> | |
</Kernel> | |
</CustomLayer> | |
<CustomLayer name="RegionYolo" type="MVCL" version="1"> | |
<Where do_softmax="0" mask="0,1,2"/> | |
<Kernel entry="region_hwc"> | |
<Source filename="region_hwc.bin"/> | |
<Parameters> | |
<Tensor arg-name="src" type="input" port-index="0" format="BYXF"/> | |
<Tensor arg-name="dst" type="output" port-index="0" format="BYXF"/> | |
<Scalar arg-name="W" type="int" port-index="0" source="I.X"/> | |
<Scalar arg-name="H" type="int" port-index="0" source="I.Y"/> | |
<Scalar arg-name="classes" type="int" source="classes"/> | |
<Scalar arg-name="coords" type="int" source="coords"/> | |
<Scalar arg-name="num" type="int" source="num"/> | |
<Scalar arg-name="maskSize" type="int" source="3"/> | |
<Scalar arg-name="doSoftmax" type="int" source="do_softmax"/> | |
</Parameters> | |
<WorkSizes global="((X*Y+7)/8)*8,3,1" local="((X*Y+7)/8)*8,1,1" dim="input,0"/> | |
</Kernel> | |
</CustomLayer> | |
<!-- Pixel-wise kernel binding, local work group config is per line in the input tensor --> | |
<CustomLayer name="GRN" type="MVCL" version="1"> | |
<Kernel entry="grn"> | |
<Source filename="grn.bin"/> | |
<Parameters> | |
<Tensor arg-name="src_data" type="input" port-index="0" format="BFYX"/> | |
<Tensor arg-name="dst_data" type="output" port-index="0" format="BFYX"/> | |
<Scalar arg-name="C" type="int" port-index="0" source="I.F"/> | |
<Scalar arg-name="bias" type="float" source="bias"/> | |
</Parameters> | |
<WorkSizes dim="input,0" global="X,Y,1" local="X,1,1"/> | |
</Kernel> | |
</CustomLayer> | |
<!-- Two stage layer binding, first kernel computes mean and variance, the second one normalizes input tensor--> | |
<CustomLayer name="MVN" type="MVCL" version="1"> | |
<Kernel entry="reduction_mean" stage="0"> | |
<Source filename="mvn_reduction.bin"/> | |
<Parameters> | |
<Tensor arg-name="src" type="input" port-index="0" format="BFYX"/> | |
<Tensor arg-name="mean" type="output_buffer" port-index="0" dim="output,0" size="Y*F*4"/> | |
<Tensor arg-name="variance" type="output_buffer" port-index="1" dim="output,0" size="Y*F*4"/> | |
<Scalar arg-name="W" type="int" port-index="0" source="I.X"/> | |
<Scalar arg-name="H" type="int" port-index="0" source="I.Y"/> | |
<Scalar arg-name="across_channels" type="int" source="across_channels"/> | |
</Parameters> | |
<WorkSizes dim="output,0" global="1,Y,F" local="1,1,1"/> | |
</Kernel> | |
<Kernel entry="mvn_scale" stage="1"> | |
<Source filename="mvn_scale.bin"/> | |
<Parameters> | |
<Tensor arg-name="src" type="input" port-index="0" format="BFYX"/> | |
<Tensor arg-name="dst" type="output" port-index="0" format="BFYX"/> | |
<Tensor arg-name="mean_part" type="input_buffer" port-index="0" dim="output,0" size="Y*F*4"/> | |
<Tensor arg-name="power_mean" type="input_buffer" port-index="1" dim="output,0" size="Y*F*4"/> | |
<Scalar arg-name="W" type="int" port-index="0" source="I.X"/> | |
<Scalar arg-name="H1" type="int" port-index="0" source="I.Y"/> | |
<Scalar arg-name="across_channels" type="int" source="across_channels"/> | |
<Scalar arg-name="normalize_variance" type="int" source="normalize_variance"/> | |
<Scalar arg-name="nparts" type="int" port-index="0" source="I.Y"/> | |
</Parameters> | |
<WorkSizes dim="output,0" global="1,Y,F" local="1,1,1"/> | |
</Kernel> | |
</CustomLayer> | |
<!-- Single work group kernel for not embarrassingly-parallel use-case --> | |
<CustomLayer name="CTCGreedyDecoder" type="MVCL" version="1" max-shaves="1"> | |
<Kernel entry="CTCDecoder"> | |
<Source filename="ctc.bin"/> | |
<Parameters> | |
<Tensor arg-name="probabilities" type="input" port-index="0" format="FYX"/> | |
<Tensor arg-name="sequence_indicators" type="input" port-index="1" format="BF"/> | |
<Tensor arg-name="output" type="output" port-index="0" format="BFYX"/> | |
<Scalar arg-name="width" type="int" port-index="0" source="I.X"/> | |
<Scalar arg-name="height" type="int" port-index="0" source="I.Y"/> | |
<Scalar arg-name="channels" type="int" port-index="0" source="I.F"/> | |
</Parameters> | |
<WorkSizes dim="output,0" global="1,1,1" local="1,1,1"/> | |
</Kernel> | |
</CustomLayer> | |
<CustomLayer name="ShuffleChannel" type="MVCL" version="1"> | |
<!-- artificially added where closure for testing reasons, kernel itself supports arbitrary grouping --> | |
<!-- <Where group="2"/> --> | |
<Kernel entry="ShuffleChannel"> | |
<Source filename="shuffle_channels.bin"/> | |
<Parameters> | |
<Tensor arg-name="src_data" type="input" port-index="0" format="BFYX"/> | |
<Tensor arg-name="dst_data" type="output" port-index="0" format="BFYX"/> | |
<Scalar arg-name="C" type="int" port-index="0" source="I.F"/> | |
<Scalar arg-name="H" type="int" port-index="0" source="I.Y"/> | |
<Scalar arg-name="W" type="int" port-index="0" source="I.X"/> | |
<Scalar arg-name="G" type="int" source="group"/> | |
</Parameters> | |
<WorkSizes dim="input,0" global="F,1,1" local="1,1,1"/> | |
</Kernel> | |
</CustomLayer> | |
<!-- Reference version of generic quantize layer, should be changed to FakeQuantize--> | |
<CustomLayer name="FakeQuantize" type="MVCL" version="1"> | |
<Kernel entry="quantize"> | |
<Source filename="fakequantize.bin"/> | |
<Parameters> | |
<Tensor arg-name="src_data" type="input" port-index="0" format="BFYX"/> | |
<Tensor arg-name="input_low" type="input" port-index="1" format="ANY"/> | |
<Tensor arg-name="input_high" type="input" port-index="2" format="ANY"/> | |
<Tensor arg-name="output_low" type="input" port-index="3" format="ANY"/> | |
<Tensor arg-name="output_high" type="input" port-index="4" format="ANY"/> | |
<Tensor arg-name="dst_data" type="output" port-index="0" format="BFYX"/> | |
<Scalar arg-name="levels" type="int" source="levels"/> | |
<Scalar arg-name="input_low_size" type="int" port-index="1" source="I.F"/> | |
<Scalar arg-name="input_high_size" type="int" port-index="2" source="I.F"/> | |
<Scalar arg-name="output_low_size" type="int" port-index="3" source="I.F"/> | |
<Scalar arg-name="output_high_size" type="int" port-index="4" source="I.F"/> | |
<Scalar arg-name="W" type="int" port-index="0" source="I.X"/> | |
<Scalar arg-name="H" type="int" port-index="0" source="I.Y"/> | |
</Parameters> | |
<WorkSizes dim="input,0" global="1,Y,F" local="1,Y,1"/> | |
</Kernel> | |
</CustomLayer> | |
<!-- Reference version of generic quantize layer, should be changed to FakeQuantize--> | |
<CustomLayer name="FakeQuantizeBin" type="MVCL" version="1"> | |
<Where levels="2"/> | |
<Kernel entry="binarization"> | |
<Source filename="binarization.bin"/> | |
<Parameters> | |
<Tensor arg-name="src_data" type="input" port-index="0" format="BFYX"/> | |
<Tensor arg-name="input_low_high" type="input" port-index="1" format="BFYX"/> | |
<Tensor arg-name="dst_data" type="output" port-index="0" format="BFYX"/> | |
<Scalar arg-name="switch_out" type="int" source="switch_out"/> | |
<Scalar arg-name="input_low_high_size" type="int" source="input_low_size"/> | |
<Scalar arg-name="W" type="int" port-index="0" source="I.X"/> | |
<Scalar arg-name="H" type="int" port-index="0" source="I.Y"/> | |
<Tensor arg-name="input_high" type="input" port-index="2" format="BFYX"/> | |
<Tensor arg-name="output_low" type="input" port-index="3" format="BFYX"/> | |
<Tensor arg-name="output_high" type="input" port-index="4" format="BFYX"/> | |
<Scalar arg-name="input_high_size" type="int" source="input_high_size"/> | |
<Scalar arg-name="output_low_size" type="int" source="output_low_size"/> | |
<Scalar arg-name="output_high_size" type="int" source="output_high_size"/> | |
<Data arg-name="src_local" type="local_data" dim="input,0" size="X*Y*2"/> | |
<Data arg-name="dst_local" type="local_data" dim="input,0" size="X*Y*2"/> | |
</Parameters> | |
<WorkSizes dim="input,0" global="1,1,F" local="1,1,1"/> | |
</Kernel> | |
</CustomLayer> | |
<CustomLayer name="BinaryConvolution" type="MVCL" version="1"> | |
<Where kernel="3,3"/> | |
<Kernel entry="binary_convolution"> | |
<Source filename="binary_convolution3x3.bin"/> | |
<Parameters> | |
<Tensor arg-name="src_data" type="input" port-index="0" format="BFYX"/> | |
<Data arg-name="weights_data" type="data" source="weights" format="ANY"/> | |
<Tensor arg-name="dst_data" type="output" port-index="0" format="BFYX"/> | |
<Scalar arg-name="pad_value" type="float" source="pad_value"/> | |
<Scalar arg-name="IW" type="int" port-index="0" source="I.X"/> | |
<Scalar arg-name="IH" type="int" port-index="0" source="I.Y"/> | |
<Scalar arg-name="IC" type="int" port-index="0" source="I.F"/> | |
<Scalar arg-name="DW" type="int" port-index="0" source="dilations"/> | |
<Scalar arg-name="DH" type="int" port-index="1" source="dilations"/> | |
<Scalar arg-name="GC" type="int" source="group"/> | |
<Scalar arg-name="KW" type="int" port-index="0" source="kernel"/> | |
<Scalar arg-name="KH" type="int" port-index="1" source="kernel"/> | |
<Scalar arg-name="PW" type="int" port-index="0" source="pads_begin"/> | |
<Scalar arg-name="PH" type="int" port-index="1" source="pads_begin"/> | |
<Scalar arg-name="SW" type="int" port-index="0" source="strides"/> | |
<Scalar arg-name="SH" type="int" port-index="1" source="strides"/> | |
<Scalar arg-name="OW" type="int" port-index="0" source="O.X"/> | |
</Parameters> | |
<WorkSizes dim="output,0" global="Y,F,1" local="1,1,1"/> | |
</Kernel> | |
</CustomLayer> | |
<CustomLayer name="BinaryConvolution" type="MVCL" version="1"> | |
<Where kernel="1,1"/> | |
<Kernel entry="binary_convolution"> | |
<Source filename="binary_convolution1x1.bin"/> | |
<Parameters> | |
<Tensor arg-name="src_data" type="input" port-index="0" format="BFYX"/> | |
<Data arg-name="weights_data" type="data" source="weights" format="ANY"/> | |
<Tensor arg-name="dst_data" type="output" port-index="0" format="BFYX"/> | |
<Scalar arg-name="pad_value" type="float" source="pad_value"/> | |
<Scalar arg-name="IW" type="int" port-index="0" source="I.X"/> | |
<Scalar arg-name="IH" type="int" port-index="0" source="I.Y"/> | |
<Scalar arg-name="IC" type="int" port-index="0" source="I.F"/> | |
<Scalar arg-name="DW" type="int" port-index="0" source="dilations"/> | |
<Scalar arg-name="DH" type="int" port-index="1" source="dilations"/> | |
<Scalar arg-name="GC" type="int" source="group"/> | |
<Scalar arg-name="KW" type="int" port-index="0" source="kernel"/> | |
<Scalar arg-name="KH" type="int" port-index="1" source="kernel"/> | |
<Scalar arg-name="PW" type="int" port-index="0" source="pads_begin"/> | |
<Scalar arg-name="PH" type="int" port-index="1" source="pads_begin"/> | |
<Scalar arg-name="SW" type="int" port-index="0" source="strides"/> | |
<Scalar arg-name="SH" type="int" port-index="1" source="strides"/> | |
<Scalar arg-name="OW" type="int" port-index="0" source="O.X"/> | |
</Parameters> | |
<WorkSizes dim="output,0" global="Y,F,1" local="1,1,1"/> | |
</Kernel> | |
</CustomLayer> | |
<!-- Reference version of generic quantize binary convolution --> | |
<!-- An example of a kernel binding that uses data blob from IR --> | |
<CustomLayer name="BinaryConvolution" type="MVCL" version="1"> | |
<Kernel entry="binary_convolution"> | |
<Source filename="binary_convolution.bin"/> | |
<Parameters> | |
<Tensor arg-name="src_data" type="input" port-index="0" format="BFYX"/> | |
<Data arg-name="weights_data" type="data" source="weights" format="ANY"/> | |
<Tensor arg-name="dst_data" type="output" port-index="0" format="BFYX"/> | |
<Scalar arg-name="pad_value" type="float" source="pad_value"/> | |
<Scalar arg-name="IW" type="int" port-index="0" source="I.X"/> | |
<Scalar arg-name="IH" type="int" port-index="0" source="I.Y"/> | |
<Scalar arg-name="IC" type="int" port-index="0" source="I.F"/> | |
<Scalar arg-name="DW" type="int" port-index="0" source="dilations"/> | |
<Scalar arg-name="DH" type="int" port-index="1" source="dilations"/> | |
<Scalar arg-name="GC" type="int" source="group"/> | |
<Scalar arg-name="KW" type="int" port-index="0" source="kernel"/> | |
<Scalar arg-name="KH" type="int" port-index="1" source="kernel"/> | |
<Scalar arg-name="PW" type="int" port-index="0" source="pads_begin"/> | |
<Scalar arg-name="PH" type="int" port-index="1" source="pads_begin"/> | |
<Scalar arg-name="SW" type="int" port-index="0" source="strides"/> | |
<Scalar arg-name="SH" type="int" port-index="1" source="strides"/> | |
</Parameters> | |
<WorkSizes dim="output,0" global="X,Y,F" local="1,1,1"/> | |
</Kernel> | |
</CustomLayer> | |
<CustomLayer name="Resample" type="MVCL" version="1"> | |
<Where antialias="0"/> | |
<Kernel entry="resample_nearest"> | |
<Source filename="resample_noAA.bin"/> | |
<Parameters> | |
<Tensor arg-name="src" type="input" port-index="0" format="BFYX"/> | |
<Tensor arg-name="dst" type="output" port-index="0" format="BFYX"/> | |
<Scalar arg-name="iw" type="int" port-index="0" source="I.X"/> | |
<Scalar arg-name="ih" type="int" port-index="0" source="I.Y"/> | |
<Scalar arg-name="factor" type="float" source="factor"/> | |
<Scalar arg-name="ow" type="int" port-index="0" source="O.X"/> | |
<Scalar arg-name="oh" type="int" port-index="0" source="O.Y"/> | |
<Scalar arg-name="channels" type="int" port-index="0" source="I.F"/> | |
</Parameters> | |
<WorkSizes global="1,Y,1" local="1,1,1" dim="output,0"/> | |
</Kernel> | |
</CustomLayer> | |
<CustomLayer name="Resample" type="MVCL" version="1"> | |
<Where antialias="1"/> | |
<Kernel entry="resample_with_antialias"> | |
<Source filename="resample_AA.bin"/> | |
<Parameters> | |
<Tensor arg-name="src" type="input" port-index="0" format="BFYX"/> | |
<Tensor arg-name="dst" type="output" port-index="0" format="BFYX"/> | |
<Scalar arg-name="iw" type="int" port-index="0" source="I.X"/> | |
<Scalar arg-name="ih" type="int" port-index="0" source="I.Y"/> | |
<Scalar arg-name="factor" type="float" source="factor"/> | |
<Scalar arg-name="ow" type="int" port-index="0" source="O.X"/> | |
<Scalar arg-name="oh" type="int" port-index="0" source="O.Y"/> | |
<Scalar arg-name="channels" type="int" port-index="0" source="I.F"/> | |
</Parameters> | |
<WorkSizes global="1,round(Y*factor),F" local="1,1,F" dim="input,0"/> | |
</Kernel> | |
</CustomLayer> | |
<CustomLayer name="Convolution" type="MVCL" version="1"> | |
<Where kernel="1,1" dilation="1,1"/> | |
<Kernel entry="Convolution1x1_NCHW"> | |
<Source filename="convolution1x1_chw.bin"/> | |
<Parameters> | |
<Tensor arg-name="in" type="input" port-index="0" format="BFYX"/> | |
<Tensor arg-name="out" type="output" port-index="0" format="BFYX"/> | |
<Data arg-name="w" type="data" source="weights" format="ANY"/> | |
<Scalar arg-name="IW" type="int" port-index="0" source="I.X"/> | |
<Scalar arg-name="IH" type="int" port-index="0" source="I.Y"/> | |
<Scalar arg-name="IC" type="int" port-index="0" source="I.F"/> | |
<Scalar arg-name="OW" type="int" port-index="0" source="O.X"/> | |
<Scalar arg-name="OH" type="int" port-index="0" source="O.Y"/> | |
<Scalar arg-name="OC" type="int" port-index="0" source="O.F"/> | |
<Scalar arg-name="stride-x" type="int" port-index="0" source="stride"/> | |
<Scalar arg-name="stride-y" type="int" port-index="1" source="stride"/> | |
<Scalar arg-name="pad-x" type="int" port-index="0" source="pads_begin"/> | |
<Scalar arg-name="pad-y" type="int" port-index="1" source="pads_begin"/> | |
<Scalar arg-name="kernel-x" type="int" port-index="0" source="kernel"/> | |
<Scalar arg-name="kernel-y" type="int" port-index="1" source="kernel"/> | |
<Scalar arg-name="output" type="int" port-index="0" source="output"/> | |
<Scalar arg-name="group" type="int" port-index="0" source="group"/> | |
</Parameters> | |
<WorkSizes global="Y,F,B" local="1,1,1" dim="output,0"/> | |
</Kernel> | |
</CustomLayer> | |
<CustomLayer name="Convolution" type="MVCL" version="1"> | |
<Where kernel="1,1" dilation="1,1"/> | |
<Kernel entry="Convolution1x1_NHWC"> | |
<Source filename="convolution1x1_hwc.bin"/> | |
<Parameters> | |
<Tensor arg-name="in" type="input" port-index="0" format="BYXF"/> | |
<Tensor arg-name="out" type="output" port-index="0" format="BFYX"/> | |
<Data arg-name="w" type="data" source="weights" format="ANY"/> | |
<Scalar arg-name="IW" type="int" port-index="0" source="I.X"/> | |
<Scalar arg-name="IH" type="int" port-index="0" source="I.Y"/> | |
<Scalar arg-name="IC" type="int" port-index="0" source="I.F"/> | |
<Scalar arg-name="OW" type="int" port-index="0" source="O.X"/> | |
<Scalar arg-name="OH" type="int" port-index="0" source="O.Y"/> | |
<Scalar arg-name="OC" type="int" port-index="0" source="O.F"/> | |
<Scalar arg-name="stride-x" type="int" port-index="0" source="stride"/> | |
<Scalar arg-name="stride-y" type="int" port-index="1" source="stride"/> | |
<Scalar arg-name="pad-x" type="int" port-index="0" source="pads_begin"/> | |
<Scalar arg-name="pad-y" type="int" port-index="1" source="pads_begin"/> | |
<Scalar arg-name="kernel-x" type="int" port-index="0" source="kernel"/> | |
<Scalar arg-name="kernel-y" type="int" port-index="1" source="kernel"/> | |
<Scalar arg-name="output" type="int" port-index="0" source="output"/> | |
<Scalar arg-name="group" type="int" port-index="0" source="group"/> | |
</Parameters> | |
<WorkSizes global="Y,F,B" local="1,1,1" dim="output,0"/> | |
</Kernel> | |
</CustomLayer> | |
<CustomLayer name="Convolution" type="MVCL" version="1"> | |
<Where kernel="3,3" dilation="1,1"/> | |
<Kernel entry="Convolution3x3"> | |
<Source filename="convolution3x3.bin"/> | |
<Parameters> | |
<Tensor arg-name="in_param" type="input" port-index="0" format="BFYX"/> | |
<Tensor arg-name="out" type="output" port-index="0" format="BFYX"/> | |
<Data arg-name="w" type="data" source="weights" format="BFYX"/> | |
<Scalar arg-name="IW" type="int" port-index="0" source="I.X"/> | |
<Scalar arg-name="IH" type="int" port-index="0" source="I.Y"/> | |
<Scalar arg-name="IC" type="int" port-index="0" source="I.F"/> | |
<Scalar arg-name="OW" type="int" port-index="0" source="O.X"/> | |
<Scalar arg-name="OH" type="int" port-index="0" source="O.Y"/> | |
<Scalar arg-name="OC" type="int" port-index="0" source="O.F"/> | |
<Scalar arg-name="KX" type="int" port-index="0" source="kernel"/> | |
<Scalar arg-name="KY" type="int" port-index="1" source="kernel"/> | |
<Scalar arg-name="stride_x" type="int" port-index="0" source="stride"/> | |
<Scalar arg-name="stride_y" type="int" port-index="1" source="stride"/> | |
<Scalar arg-name="pad_x" type="int" port-index="0" source="pads_begin"/> | |
<Scalar arg-name="pad_y" type="int" port-index="1" source="pads_begin"/> | |
<Scalar arg-name="dilation_x" type="int" port-index="0" source="dilation"/> | |
<Scalar arg-name="dilation_y" type="int" port-index="1" source="dilation"/> | |
<Scalar arg-name="output" type="int" port-index="0" source="output"/> | |
<Data arg-name="in_local" type="local_data" dim="input,0" size="X*F*3*2"/> | |
<Data arg-name="out_local" type="local_data" dim="output,0" size="X*F*2"/> | |
<Data arg-name="w_local" type="local_data" dim="input,0" size="3*3*F*2"/> | |
</Parameters> | |
<WorkSizes global="Y,F,B" local="1,1,1" dim="output,0"/> | |
</Kernel> | |
</CustomLayer> | |
<CustomLayer name="ExperimentalDetectronPriorGridGenerator" type="MVCL" version="1"> | |
<Kernel entry="experimental_detectron_prior_grid_generator"> | |
<Source filename="detectron_prior_grid_gen.bin"/> | |
<Parameters> | |
<Tensor arg-name="input_priors" type="input" port-index="0" format="BFYX"/> | |
<Tensor arg-name="input_feature_map" type="input" port-index="1" format="BFYX"/> | |
<Tensor arg-name="input_rois" type="input" port-index="2" format="BFYX"/> | |
<Tensor arg-name="output" type="output" port-index="0" format="BFYX"/> | |
<Scalar arg-name="grid_h" type="int" port-index="1" source="I.Y"/> | |
<Scalar arg-name="grid_w" type="int" port-index="1" source="I.X"/> | |
<Scalar arg-name="stride_h" type="float" source="stride_h"/> | |
<Scalar arg-name="stride_w" type="float" source="stride_w"/> | |
<Scalar arg-name="num_priors" type="int" port-index="0" source="I.Y"/> | |
<Scalar arg-name="num_anchors_per_prior" type="int" port-index="0" source="I.X"/> | |
</Parameters> | |
<WorkSizes dim="input,1" global="((X+31)/32)*32,Y,1" local="32,1,1"/> | |
</Kernel> | |
</CustomLayer> | |
<CustomLayer name="Convert" type="MVCL" version="1"> | |
<Kernel entry="cvtu8f16"> | |
<Source filename="cvtu8f16.bin"/> | |
<Parameters> | |
<Tensor arg-name="src" type="input" port-index="0" format="BFYX"/> | |
<Tensor arg-name="dst" type="output" port-index="0" format="BFYX"/> | |
<Scalar arg-name="scale" type="float" source="scale"/> | |
<Scalar arg-name="bias" type="float" source="bias"/> | |
</Parameters> | |
<WorkSizes dim="input,0" global="X,Y,F" local="X,1,1"/> | |
</Kernel> | |
</CustomLayer> | |
<CustomLayer name="Correlate" type="MVCL" version="1"> | |
<Kernel entry="correlate2_half"> | |
<Source filename="correlate.bin"/> | |
<Parameters> | |
<Tensor arg-name="bottom0" type="input" port-index="0" format="BFYX"/> | |
<Tensor arg-name="bottom1" type="input" port-index="1" format="BFYX"/> | |
<Tensor arg-name="top" type="output" port-index="0" format="BFYX"/> | |
<Scalar arg-name="topwidth" type="int" source="top_width"/> | |
<Scalar arg-name="topheight" type="int" source="top_height"/> | |
<Scalar arg-name="bottomwidth" type="int" port-index="0" source="I.X"/> | |
<Scalar arg-name="bottomheight" type="int" port-index="0" source="I.Y"/> | |
<Scalar arg-name="bottomchannels" type="int" port-index="0" source="I.F"/> | |
<Scalar arg-name="max_displacement" type="int" source="displacement"/> | |
<Scalar arg-name="padding" type="int" source="pad"/> | |
<Scalar arg-name="neighborhood_grid_radius" type="int" source="neighborhood_grid_radius"/> | |
<Scalar arg-name="neighborhood_grid_width" type="int" source="neighborhood_grid_width"/> | |
<Scalar arg-name="kernel_size" type="int" source="kernel_size"/> | |
<Scalar arg-name="stride1" type="int" port-index="0" source="stride"/> | |
<Scalar arg-name="stride2" type="int" port-index="1" source="stride"/> | |
</Parameters> | |
<WorkSizes dim="input,0" global="top_height,1,1" local="1,1,1"/> | |
</Kernel> | |
</CustomLayer> | |
<CustomLayer name="SpatialTransform" type="MVCL" version="1"> | |
<Kernel entry="ocl_st"> | |
<Source filename="st.bin"/> | |
<Parameters> | |
<Tensor arg-name="src_data" type="input" port-index="0" format="BFYX"/> | |
<Tensor arg-name="theta" type="input" port-index="1" format="ANY"/> | |
<Tensor arg-name="dst_data" type="output" port-index="0" format="BFYX"/> | |
<Scalar arg-name="C" type="int" port-index="0" source="I.F"/> | |
<Scalar arg-name="W" type="int" port-index="0" source="I.X"/> | |
</Parameters> | |
<WorkSizes dim="input,0" global="(X+511)/512,Y,1" local="1,1,1"/> | |
</Kernel> | |
</CustomLayer> | |