From 42222586a0ecab7a1f4df1d9f01fb868e1f639c4 Mon Sep 17 00:00:00 2001 From: Wang Yabin <38123329+iamwangyabin@users.noreply.github.com> Date: Tue, 15 Oct 2024 15:10:25 +0100 Subject: [PATCH 1/6] Update trufor.py --- IMDLBenCo/model_zoo/trufor/trufor.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/IMDLBenCo/model_zoo/trufor/trufor.py b/IMDLBenCo/model_zoo/trufor/trufor.py index d96dd7f..080aab4 100644 --- a/IMDLBenCo/model_zoo/trufor/trufor.py +++ b/IMDLBenCo/model_zoo/trufor/trufor.py @@ -74,7 +74,7 @@ def forward(self, image, mask, label, *args, **kwargs): pred_mask, conf, det, npp = self.model(image) pred_mask = F.softmax(pred_mask, dim=1) pred_mask = pred_mask[:, -1, ...].unsqueeze(1) - pred_label = torch.sigmoid(det) + pred_label = torch.sigmoid(det).squeeze() if self.phase == 2: loss_ce = self.weighted_cross_entropy_loss(pred_mask, mask) From eb537d3276fde3ecebdb385ee53650e2fc5c4666 Mon Sep 17 00:00:00 2001 From: Wang Yabin <38123329+iamwangyabin@users.noreply.github.com> Date: Tue, 15 Oct 2024 15:34:11 +0100 Subject: [PATCH 2/6] Update mantranet.py --- IMDLBenCo/model_zoo/span/mantranet.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/IMDLBenCo/model_zoo/span/mantranet.py b/IMDLBenCo/model_zoo/span/mantranet.py index 27f98f5..b1a054d 100644 --- a/IMDLBenCo/model_zoo/span/mantranet.py +++ b/IMDLBenCo/model_zoo/span/mantranet.py @@ -456,7 +456,7 @@ def batch_norm(X, eps=0.001): class IMTFE(nn.Module): # ********** IMAGE MANIPULATION TRACE FEATURE EXTRACTOR ********* - def __init__(self, in_channel=3,device=device): + def __init__(self, weight_path, in_channel=3,device=device): super(IMTFE, self).__init__() self.relu = nn.ReLU() @@ -474,7 +474,7 @@ def __init__(self, in_channel=3,device=device): self.bayar_final[2, 2] = -1 self.SRMConv2D = nn.Conv2d(in_channel, 9, 5, 1, padding=0, bias=False).to(self.device) - self.SRMConv2D.weight.data=torch.load('/home/zeyu/workspace/IMDLBenCo/IMDLBenCo/model_zoo/span/IMTFEv4.pt')['SRMConv2D.weight'].to(self.device) + self.SRMConv2D.weight.data=torch.load(weight_path)['SRMConv2D.weight'].to(self.device) ##SRM filters (fixed) for param in self.SRMConv2D.parameters(): From 006febcfcc3443b1529b81af4319ad14c2298d51 Mon Sep 17 00:00:00 2001 From: Wang Yabin <38123329+iamwangyabin@users.noreply.github.com> Date: Tue, 15 Oct 2024 15:35:39 +0100 Subject: [PATCH 3/6] Update mantranet.py --- IMDLBenCo/model_zoo/span/mantranet.py | 1 - 1 file changed, 1 deletion(-) diff --git a/IMDLBenCo/model_zoo/span/mantranet.py b/IMDLBenCo/model_zoo/span/mantranet.py index b1a054d..acb16a3 100644 --- a/IMDLBenCo/model_zoo/span/mantranet.py +++ b/IMDLBenCo/model_zoo/span/mantranet.py @@ -474,7 +474,6 @@ def __init__(self, weight_path, in_channel=3,device=device): self.bayar_final[2, 2] = -1 self.SRMConv2D = nn.Conv2d(in_channel, 9, 5, 1, padding=0, bias=False).to(self.device) - self.SRMConv2D.weight.data=torch.load(weight_path)['SRMConv2D.weight'].to(self.device) ##SRM filters (fixed) for param in self.SRMConv2D.parameters(): From 52eef21ed4f080b281b1dc8919953b9733b65757 Mon Sep 17 00:00:00 2001 From: Wang Yabin <38123329+iamwangyabin@users.noreply.github.com> Date: Tue, 15 Oct 2024 15:36:15 +0100 Subject: [PATCH 4/6] Update mantranet.py --- IMDLBenCo/model_zoo/span/mantranet.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/IMDLBenCo/model_zoo/span/mantranet.py b/IMDLBenCo/model_zoo/span/mantranet.py index acb16a3..285b07b 100644 --- a/IMDLBenCo/model_zoo/span/mantranet.py +++ b/IMDLBenCo/model_zoo/span/mantranet.py @@ -456,7 +456,7 @@ def batch_norm(X, eps=0.001): class IMTFE(nn.Module): # ********** IMAGE MANIPULATION TRACE FEATURE EXTRACTOR ********* - def __init__(self, weight_path, in_channel=3,device=device): + def __init__(self, in_channel=3,device=device): super(IMTFE, self).__init__() self.relu = nn.ReLU() From 14f0f203151d703ef1bea37c687e95ff61fd4f23 Mon Sep 17 00:00:00 2001 From: Wang Yabin <38123329+iamwangyabin@users.noreply.github.com> Date: Wed, 16 Oct 2024 18:35:40 +0100 Subject: [PATCH 5/6] Fix trufor NaN loss issue the problem lies in the computation of loss ce has Log(1) or Log(0) problem --- IMDLBenCo/model_zoo/trufor/trufor.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/IMDLBenCo/model_zoo/trufor/trufor.py b/IMDLBenCo/model_zoo/trufor/trufor.py index 080aab4..4ad8df7 100644 --- a/IMDLBenCo/model_zoo/trufor/trufor.py +++ b/IMDLBenCo/model_zoo/trufor/trufor.py @@ -42,7 +42,8 @@ def __init__(self, else: raise NotImplementedError('Trufor training phase not implement!') - def weighted_cross_entropy_loss(self, prediction, target, gamma_0=0.5, gamma_1=2.5): + def weighted_cross_entropy_loss(self, prediction, target, gamma_0=0.5, gamma_1=2.5, epsilon=1e-7): + prediction = torch.clamp(prediction, epsilon, 1 - epsilon) loss = - (gamma_0 * (1 - target) * torch.log(1 - prediction) + gamma_1 * target * torch.log(prediction)) return loss.mean() From 80802206f478fabbba5cafd5769886ebc0776899 Mon Sep 17 00:00:00 2001 From: Wang Yabin <38123329+iamwangyabin@users.noreply.github.com> Date: Fri, 18 Oct 2024 12:00:46 +0100 Subject: [PATCH 6/6] Update seg_hrnet.py --- IMDLBenCo/model_zoo/pscc_net/seg_hrnet.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/IMDLBenCo/model_zoo/pscc_net/seg_hrnet.py b/IMDLBenCo/model_zoo/pscc_net/seg_hrnet.py index 40c9810..914a0d7 100644 --- a/IMDLBenCo/model_zoo/pscc_net/seg_hrnet.py +++ b/IMDLBenCo/model_zoo/pscc_net/seg_hrnet.py @@ -444,7 +444,8 @@ def init_weights(self, pretrained='',): for k, v in pretrained_dict.items(): if 'model.' in k: k = k.replace('model.', '') - + if k.startswith('module.'): + k = k[7:] if k in model_dict.keys(): pretrained_dict_used[k] = v nopretrained_dict.pop(k) @@ -460,4 +461,4 @@ def get_seg_model(cfg, **kwargs): model = HighResolutionNet(cfg, **kwargs) model.init_weights(cfg.PRETRAINED) - return model \ No newline at end of file + return model