Suanmd / TR-MISR

47 stars 7 forks source link

您好,请问为什么这里的srs要截取在0,16383/65535之间呢,16383是怎么得到的呢 #6

Open cvkaiming opened 1 year ago

cvkaiming commented 1 year ago

image

compute ESA score

            srs = srs[0].detach().cpu().numpy() #detach(): 返回一个新的Tensor,但返回的结果是没有梯度的。cpu():把gpu上的数据转到cpu上 numpy():将tensor格式转为numpy。
            for i in range(srs.shape[0]):
                if baseline_cpsnrs is None:
                    if config["training"]["truncate values"]:
                        val_score -= shift_cPSNR(np.clip((srs[i] - np.min(srs[i])), 0, 16383/65535), hrs[i], hr_maps[i])
                    else:
                        val_score -= shift_cPSNR(srs[i], hrs[i], hr_maps[i])
                else:
                    ESA = baseline_cpsnrs[names[i]]
                    # val_score += ESA / shift_cPSNR(srs[i], hrs[i], hr_maps[i])
                    if config["training"]["truncate values"]:
                        val_score -= shift_cPSNR(np.clip((srs[i] - np.min(srs[i])), 0, 16383/65535), hrs[i], hr_maps[i])
                    else:
                        val_score -= shift_cPSNR(srs[i], hrs[i], hr_maps[i])
Suanmd commented 1 year ago

2^16-1 = 65535 2^14-1 = 16383