masahi commented on a change in pull request #7883:
URL: https://github.com/apache/tvm/pull/7883#discussion_r617079571



##########
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:
       Ok I looked at the spec again, and indeed I realized they have two 
variants of `half_pixel`... I don't know what `pytorch_half_pixel` is for, 
probably only for the case where the resized shape is 1?
   
    Does using `pytorch_half_pixel` for onnx tests that use `half_pixel` break 
them?




-- 
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:
us...@infra.apache.org


Reply via email to