Resize Bilinear operator
- Support TF 1.X legacy mode
- Support align corners & align centers options
PiperOrigin-RevId: 279872113
diff --git a/src/init.c b/src/init.c
index 86d43b9..c0a5208 100644
--- a/src/init.c
+++ b/src/init.c
@@ -19,6 +19,7 @@
#include <xnnpack.h>
#include <xnnpack/argmaxpool.h>
#include <xnnpack/avgpool.h>
+#include <xnnpack/bilinear.h>
#include <xnnpack/clamp.h>
#include <xnnpack/common.h>
#include <xnnpack/conv.h>
@@ -190,6 +191,11 @@
.mr = 9,
.qr = 8,
};
+ xnn_params.f32.bilinear = (struct bilinear_parameters) {
+ .ukernel = (xnn_bilinear_ukernel_function) xnn_f32_bilinear_ukernel__neon_c8,
+ .pixel_tile = 1,
+ .channel_tile = 8,
+ };
xnn_params.f32.clamp = (xnn_univector_ukernel_function) xnn_f32_clamp_ukernel__neon;
xnn_params.f32.hswish = (xnn_univector_ukernel_function) xnn_f32_hswish_ukernel__neon;
xnn_params.f32.prelu = (struct prelu_parameters) {
@@ -441,6 +447,11 @@
.mr = 9,
.qr = 8,
};
+ xnn_params.f32.bilinear = (struct bilinear_parameters) {
+ .ukernel = (xnn_bilinear_ukernel_function) xnn_f32_bilinear_ukernel__neonfma_c8,
+ .pixel_tile = 1,
+ .channel_tile = 8,
+ };
xnn_params.f32.clamp = (xnn_univector_ukernel_function) xnn_f32_clamp_ukernel__neon;
xnn_params.f32.hswish = (xnn_univector_ukernel_function) xnn_f32_hswish_ukernel__neonfma;
xnn_params.f32.prelu = (struct prelu_parameters) {
@@ -635,6 +646,11 @@
.mr = 9,
.qr = 8,
};
+ xnn_params.f32.bilinear = (struct bilinear_parameters) {
+ .ukernel = (xnn_bilinear_ukernel_function) xnn_f32_bilinear_ukernel__sse_c8,
+ .pixel_tile = 1,
+ .channel_tile = 8,
+ };
xnn_params.f32.clamp = (xnn_univector_ukernel_function) xnn_f32_clamp_ukernel__sse;
xnn_params.f32.hswish = (xnn_univector_ukernel_function) xnn_f32_hswish_ukernel__sse;
xnn_params.f32.prelu = (struct prelu_parameters) {
@@ -825,6 +841,11 @@
.mr = 9,
.qr = 8,
};
+ xnn_params.f32.bilinear = (struct bilinear_parameters) {
+ .ukernel = (xnn_bilinear_ukernel_function) xnn_f32_bilinear_ukernel__psimd_c8,
+ .pixel_tile = 1,
+ .channel_tile = 8,
+ };
xnn_params.f32.clamp = (xnn_univector_ukernel_function) xnn_f32_clamp_ukernel__psimd;
xnn_params.f32.hswish = (xnn_univector_ukernel_function) xnn_f32_hswish_ukernel__psimd;
xnn_params.f32.prelu = (struct prelu_parameters) {
@@ -990,6 +1011,11 @@
.mr = 9,
.qr = 8,
};
+ xnn_params.f32.bilinear = (struct bilinear_parameters) {
+ .ukernel = (xnn_bilinear_ukernel_function) xnn_f32_bilinear_ukernel__scalar_c2,
+ .pixel_tile = 1,
+ .channel_tile = 2,
+ };
xnn_params.f32.clamp = (xnn_univector_ukernel_function) xnn_f32_clamp_ukernel__scalar;
xnn_params.f32.hswish = (xnn_univector_ukernel_function) xnn_f32_hswish_ukernel__scalar;
xnn_params.f32.prelu = (struct prelu_parameters) {