|
import json |
|
import numpy as np |
|
import tqdm |
|
|
|
vae_stride = 16 |
|
ratio2hws = { |
|
1.000: [ |
|
(1, 1), |
|
(2, 2), |
|
(4, 4), |
|
(6, 6), |
|
(8, 8), |
|
(12, 12), |
|
(16, 16), |
|
(20, 20), |
|
(24, 24), |
|
(32, 32), |
|
(40, 40), |
|
(48, 48), |
|
(64, 64), |
|
], |
|
1.250: [ |
|
(1, 1), |
|
(2, 2), |
|
(3, 3), |
|
(5, 4), |
|
(10, 8), |
|
(15, 12), |
|
(20, 16), |
|
(25, 20), |
|
(30, 24), |
|
(35, 28), |
|
(45, 36), |
|
(55, 44), |
|
(70, 56), |
|
], |
|
1.333: [ |
|
(1, 1), |
|
(2, 2), |
|
(4, 3), |
|
(8, 6), |
|
(12, 9), |
|
(16, 12), |
|
(20, 15), |
|
(24, 18), |
|
(28, 21), |
|
(36, 27), |
|
(48, 36), |
|
(60, 45), |
|
(72, 54), |
|
], |
|
1.500: [ |
|
(1, 1), |
|
(2, 2), |
|
(3, 2), |
|
(6, 4), |
|
(9, 6), |
|
(15, 10), |
|
(21, 14), |
|
(27, 18), |
|
(33, 22), |
|
(39, 26), |
|
(48, 32), |
|
(63, 42), |
|
(78, 52), |
|
], |
|
1.750: [ |
|
(1, 1), |
|
(2, 2), |
|
(3, 3), |
|
(7, 4), |
|
(11, 6), |
|
(14, 8), |
|
(21, 12), |
|
(28, 16), |
|
(35, 20), |
|
(42, 24), |
|
(56, 32), |
|
(70, 40), |
|
(84, 48), |
|
], |
|
2.000: [ |
|
(1, 1), |
|
(2, 2), |
|
(4, 2), |
|
(6, 3), |
|
(10, 5), |
|
(16, 8), |
|
(22, 11), |
|
(30, 15), |
|
(38, 19), |
|
(46, 23), |
|
(60, 30), |
|
(74, 37), |
|
(90, 45), |
|
], |
|
2.500: [ |
|
(1, 1), |
|
(2, 2), |
|
(5, 2), |
|
(10, 4), |
|
(15, 6), |
|
(20, 8), |
|
(25, 10), |
|
(30, 12), |
|
(40, 16), |
|
(50, 20), |
|
(65, 26), |
|
(80, 32), |
|
(100, 40), |
|
], |
|
3.000: [ |
|
(1, 1), |
|
(2, 2), |
|
(6, 2), |
|
(9, 3), |
|
(15, 5), |
|
(21, 7), |
|
(27, 9), |
|
(36, 12), |
|
(45, 15), |
|
(54, 18), |
|
(72, 24), |
|
(90, 30), |
|
(111, 37), |
|
], |
|
} |
|
full_ratio2hws = {} |
|
for ratio, hws in ratio2hws.items(): |
|
full_ratio2hws[ratio] = hws |
|
full_ratio2hws[int(1 / ratio * 1000) / 1000] = [(item[1], item[0]) for item in hws] |
|
|
|
dynamic_resolution_h_w = {} |
|
predefined_HW_Scales_dynamic = {} |
|
for ratio in full_ratio2hws: |
|
dynamic_resolution_h_w[ratio] = {} |
|
for ind, leng in enumerate([7, 10, 13]): |
|
h, w = ( |
|
full_ratio2hws[ratio][leng - 1][0], |
|
full_ratio2hws[ratio][leng - 1][1], |
|
) |
|
pixel = (h * vae_stride, w * vae_stride) |
|
dynamic_resolution_h_w[ratio][pixel[1]] = { |
|
"pixel": pixel, |
|
"scales": full_ratio2hws[ratio][:leng], |
|
} |
|
predefined_HW_Scales_dynamic[(h, w)] = full_ratio2hws[ratio][:leng] |
|
|