From c41291965f078070c5c832412f5d4a5f633fcdc4 Mon Sep 17 00:00:00 2001 From: amyeroberts <22614925+amyeroberts@users.noreply.github.com> Date: Mon, 14 Aug 2023 17:08:47 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=A8=F0=9F=9A=A8=F0=9F=9A=A8=20Remove?= =?UTF-8?q?=20softmax=20for=20EfficientNetForImageClassification=20?= =?UTF-8?q?=F0=9F=9A=A8=F0=9F=9A=A8=F0=9F=9A=A8=20(#25501)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Remove softmax for EfficientNet * Update integration test values * Fix up --- src/transformers/models/efficientnet/modeling_efficientnet.py | 2 -- tests/models/efficientnet/test_modeling_efficientnet.py | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/transformers/models/efficientnet/modeling_efficientnet.py b/src/transformers/models/efficientnet/modeling_efficientnet.py index 47d2a9a53b..478aeecee0 100644 --- a/src/transformers/models/efficientnet/modeling_efficientnet.py +++ b/src/transformers/models/efficientnet/modeling_efficientnet.py @@ -588,7 +588,6 @@ class EfficientNetForImageClassification(EfficientNetPreTrainedModel): # Classifier head self.dropout = nn.Dropout(p=config.dropout_rate) self.classifier = nn.Linear(config.hidden_dim, self.num_labels) if self.num_labels > 0 else nn.Identity() - self.classifier_act = nn.Softmax(dim=1) # Initialize weights and apply final processing self.post_init() @@ -620,7 +619,6 @@ class EfficientNetForImageClassification(EfficientNetPreTrainedModel): pooled_output = outputs.pooler_output if return_dict else outputs[1] pooled_output = self.dropout(pooled_output) logits = self.classifier(pooled_output) - logits = self.classifier_act(logits) loss = None if labels is not None: diff --git a/tests/models/efficientnet/test_modeling_efficientnet.py b/tests/models/efficientnet/test_modeling_efficientnet.py index 52a7ec4a7d..38a359c574 100644 --- a/tests/models/efficientnet/test_modeling_efficientnet.py +++ b/tests/models/efficientnet/test_modeling_efficientnet.py @@ -265,5 +265,5 @@ class EfficientNetModelIntegrationTest(unittest.TestCase): expected_shape = torch.Size((1, 1000)) self.assertEqual(outputs.logits.shape, expected_shape) - expected_slice = torch.tensor([0.0001, 0.0002, 0.0002]).to(torch_device) + expected_slice = torch.tensor([-0.2962, 0.4487, 0.4499]).to(torch_device) self.assertTrue(torch.allclose(outputs.logits[0, :3], expected_slice, atol=1e-4))