"git@developer.sourcefind.cn:wangsen/paddle_dbnet.git" did not exist on "4287fd21933ae968b5455a8784edda4acaa1407a"
Commit 87ab25fa authored by comfyanonymous's avatar comfyanonymous
Browse files

Do operations in same order as the one it replaces.

parent 2b1fac97
...@@ -98,29 +98,27 @@ def bislerp(samples, width, height): ...@@ -98,29 +98,27 @@ def bislerp(samples, width, height):
n,c,h,w = samples.shape n,c,h,w = samples.shape
h_new, w_new = (height, width) h_new, w_new = (height, width)
#linear h #linear w
ratios, coords_1, coords_2 = generate_bilinear_data(h, h_new) ratios, coords_1, coords_2 = generate_bilinear_data(w, w_new)
coords_1 = coords_1.expand((n, c, h, -1))
coords_1 = coords_1.reshape((1,1,-1,1)).expand((n, c, -1, w)) coords_2 = coords_2.expand((n, c, h, -1))
coords_2 = coords_2.reshape((1,1,-1,1)).expand((n, c, -1, w)) ratios = ratios.expand((n, 1, h, -1))
ratios = ratios.reshape((1,1,-1,1)).expand((n, 1, -1, w))
pass_1 = einops.rearrange(samples.gather(-2,coords_1), 'n c h w -> (n h w) c') pass_1 = einops.rearrange(samples.gather(-1,coords_1), 'n c h w -> (n h w) c')
pass_2 = einops.rearrange(samples.gather(-2,coords_2), 'n c h w -> (n h w) c') pass_2 = einops.rearrange(samples.gather(-1,coords_2), 'n c h w -> (n h w) c')
ratios = einops.rearrange(ratios, 'n c h w -> (n h w) c') ratios = einops.rearrange(ratios, 'n c h w -> (n h w) c')
result = slerp(pass_1, pass_2, ratios) result = slerp(pass_1, pass_2, ratios)
result = einops.rearrange(result, '(n h w) c -> n c h w',n=n, h=h_new, w=w) result = einops.rearrange(result, '(n h w) c -> n c h w',n=n, h=h, w=w_new)
#linear w #linear h
ratios, coords_1, coords_2 = generate_bilinear_data(w, w_new) ratios, coords_1, coords_2 = generate_bilinear_data(h, h_new)
coords_1 = coords_1.reshape((1,1,-1,1)).expand((n, c, -1, w_new))
coords_1 = coords_1.expand((n, c, h_new, -1)) coords_2 = coords_2.reshape((1,1,-1,1)).expand((n, c, -1, w_new))
coords_2 = coords_2.expand((n, c, h_new, -1)) ratios = ratios.reshape((1,1,-1,1)).expand((n, 1, -1, w_new))
ratios = ratios.expand((n, 1, h_new, -1))
pass_1 = einops.rearrange(result.gather(-1,coords_1), 'n c h w -> (n h w) c') pass_1 = einops.rearrange(result.gather(-2,coords_1), 'n c h w -> (n h w) c')
pass_2 = einops.rearrange(result.gather(-1,coords_2), 'n c h w -> (n h w) c') pass_2 = einops.rearrange(result.gather(-2,coords_2), 'n c h w -> (n h w) c')
ratios = einops.rearrange(ratios, 'n c h w -> (n h w) c') ratios = einops.rearrange(ratios, 'n c h w -> (n h w) c')
result = slerp(pass_1, pass_2, ratios) result = slerp(pass_1, pass_2, ratios)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment