Question about calculating how the number of scales is calculated
LeviDPC opened this issue · 2 comments
Hey,
Thanks for making such an interesting and cool project. I'm trying to understand how the number of scales used in SinGAN is calculated. This code is from functions.py and I mostly understand what is going on but I have one point of confusion. In the first line why is 1 added onto the opt.num_scales variable. As far as I can tell if you don't add the one you usually end up with a scale_factor that is less than 0.75 but closser to it than the value that you get for scale factor if you do add the one.
opt.num_scales = math.ceil((math.log(math.pow(opt.min_size / (min(real_.shape[2], real_.shape[3])), 1), opt.scale_factor_init))) _**+ 1**_
scale2stop = math.ceil(math.log(min([opt.max_size, max([real_.shape[2], real_.shape[3]])]) / max([real_.shape[2], real_.shape[3]]),opt.scale_factor_init))
opt.stop_scale = opt.num_scales - scale2stop
opt.scale1 = min(opt.max_size / max([real_.shape[2], real_.shape[3]]),1) # min(250/max([real_.shape[0],real_.shape[1]]),1)
real = imresize(real_, opt.scale1, opt)
#opt.scale_factor = math.pow(opt.min_size / (real.shape[2]), 1 / (opt.stop_scale))
opt.scale_factor = math.pow(opt.min_size/(min(real.shape[2],real.shape[3])),1/(opt.stop_scale))
Thanks!
Clefspear99
Adding to this, i couldn't find where the max_size
parameter of opt is initialised. Can you point me to the initialisation in code if you are aware about this?
Adding to this, i couldn't find where the
max_size
parameter of opt is initialised. Can you point me to the initialisation in code if you are aware about this?
Check out the config.py file. It's in there