|
|
|
|
|
|
|
|
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] |