首先感谢大佬分享的代码,我在debug训练代码时,wrappers.py中的get_item()我不太理解。
if self.inp_size is not None:
idx = torch.tensor(np.random.choice(h_hrw_hr, h_lrw_lr, replace=False))
#idx,_ = torch.sort(idx)
hr_coord = hr_coord.view(-1, hr_coord.shape[-1])
hr_coord = hr_coord[idx, :]
hr_coord = hr_coord.view(h_lr, w_lr, hr_coord.shape[-1])
hr_rgb = crop_hr.contiguous().view(crop_hr.shape[0], -1)
hr_rgb = hr_rgb[:, idx]
hr_rgb = hr_rgb.view(crop_hr.shape[0], h_lr, w_lr)
在训练的config里指定了 inp_size,所以会执行上述代码。
从高分辨率的coord中随机取与低分辨率coord的像素个数并resize成与低分辨率coord一样的大小,并作为gt
为什么要这样做呢?
这是不是相当于让网络依据低分辨率的coord去预测高分辨率中的随机一些像素?
首先感谢大佬分享的代码,我在debug训练代码时,wrappers.py中的get_item()我不太理解。
if self.inp_size is not None:
idx = torch.tensor(np.random.choice(h_hrw_hr, h_lrw_lr, replace=False))
#idx,_ = torch.sort(idx)
hr_coord = hr_coord.view(-1, hr_coord.shape[-1])
hr_coord = hr_coord[idx, :]
hr_coord = hr_coord.view(h_lr, w_lr, hr_coord.shape[-1])
在训练的config里指定了 inp_size,所以会执行上述代码。
从高分辨率的coord中随机取与低分辨率coord的像素个数并resize成与低分辨率coord一样的大小,并作为gt
为什么要这样做呢?
这是不是相当于让网络依据低分辨率的coord去预测高分辨率中的随机一些像素?