mbrookhart commented on a change in pull request #7883:
URL: https://github.com/apache/tvm/pull/7883#discussion_r616158860
##########
File path: python/tvm/topi/image/resize.py
##########
@@ -59,6 +59,33 @@ def get_2d_pixel(data, layout, boxes, image_height,
image_width, n, c, y, x, cc,
return data(n, c, y, x, cc).astype("float")
+def get_iny_inx(
+ y, x, image_height, image_width, target_height, target_width,
coordinate_transformation_mode
+):
+ scale_y = te.div(image_height.astype("float"),
target_height.astype("float"))
+ scale_x = te.div(image_width.astype("float"), target_width.astype("float"))
+ if coordinate_transformation_mode == "half_pixel":
+ in_y = (y + 0.5) * scale_y - 0.5
+ in_x = (x + 0.5) * scale_x - 0.5
+ elif coordinate_transformation_mode == "align_corners":
+ in_y = y * (image_height - 1).astype("float") / (target_height - 1)
+ in_x = x * (image_width - 1).astype("float") / (target_width - 1)
+ elif coordinate_transformation_mode == "asymmetric":
+ in_y = y * scale_y
+ in_x = x * scale_x
+ elif coordinate_transformation_mode == "pytorch_half_pixel":
Review comment:
The previous kernel only supported a small combination of these options,
and the topi tests only support two. It looks like the TF importer only
supports align_corners and assymetric, but TF 1.15 also supports half pixel:
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/image/resize_bilinear
I don't see any of these options in TF 2.0
Pytorch seems to support assymetric, align_corners, and half pixel, but it
doesn't look like either importer is actually testing half_pixel
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]