Open SunyuKy opened 1 year ago
首先感谢大佬分享的代码,我在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))
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去预测高分辨率中的随机一些像素?
同一个 batch 中存在不同的放大倍率,需要进行采样,统一大小,同时最小的放大倍率为 1,即最小的 gt 大小为 lr 图的大小,所以以此为采样基准。论文补充文件中有关于随机采样和顺序采样的对比。
首先感谢大佬分享的代码,我在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)
在训练的config里指定了 inp_size,所以会执行上述代码。 从高分辨率的coord中随机取与低分辨率coord的像素个数并resize成与低分辨率coord一样的大小,并作为gt 为什么要这样做呢? 这是不是相当于让网络依据低分辨率的coord去预测高分辨率中的随机一些像素?