From afec06607a23d6d7d0cfb1e19276f28318a0a8f5 Mon Sep 17 00:00:00 2001 From: Panagiota Moraiti Date: Tue, 15 Jul 2025 15:29:54 +0300 Subject: [PATCH 1/3] Modify num_classes Warnings --- rfdetr/detr.py | 3 +-- rfdetr/main.py | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/rfdetr/detr.py b/rfdetr/detr.py index 5809e25..62e127e 100644 --- a/rfdetr/detr.py +++ b/rfdetr/detr.py @@ -104,8 +104,7 @@ def train_from_config(self, config: TrainConfig, **kwargs): if self.model_config.num_classes != num_classes: logger.warning( - f"num_classes mismatch: model has {self.model_config.num_classes} classes, but your dataset has {num_classes} classes\n" - f"reinitializing your detection head with {num_classes} classes." + f"Reinitializing your detection head with {num_classes} classes." ) self.model.reinitialize_detection_head(num_classes) diff --git a/rfdetr/main.py b/rfdetr/main.py index 28790f2..e2dc3da 100644 --- a/rfdetr/main.py +++ b/rfdetr/main.py @@ -94,8 +94,7 @@ def __init__(self, **kwargs): checkpoint_num_classes = checkpoint['model']['class_embed.bias'].shape[0] if checkpoint_num_classes != args.num_classes + 1: logger.warning( - f"num_classes mismatch: pretrain weights has {checkpoint_num_classes - 1} classes, but your model has {args.num_classes} classes\n" - f"reinitializing detection head with {checkpoint_num_classes - 1} classes" + f"Reinitializing detection head with {checkpoint_num_classes} classes" ) self.reinitialize_detection_head(checkpoint_num_classes) # add support to exclude_keys From 468ab29476dc6469e502b1ec5893b09d92150be3 Mon Sep 17 00:00:00 2001 From: Panagiota Moraiti Date: Tue, 15 Jul 2025 17:27:09 +0300 Subject: [PATCH 2/3] Modify num_classes - subtract 1 --- rfdetr/detr.py | 2 +- rfdetr/main.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/rfdetr/detr.py b/rfdetr/detr.py index 62e127e..4a4977d 100644 --- a/rfdetr/detr.py +++ b/rfdetr/detr.py @@ -104,7 +104,7 @@ def train_from_config(self, config: TrainConfig, **kwargs): if self.model_config.num_classes != num_classes: logger.warning( - f"Reinitializing your detection head with {num_classes} classes." + f"Reinitializing your detection head with {num_classes-1} classes." ) self.model.reinitialize_detection_head(num_classes) diff --git a/rfdetr/main.py b/rfdetr/main.py index e2dc3da..0b0b16b 100644 --- a/rfdetr/main.py +++ b/rfdetr/main.py @@ -94,7 +94,7 @@ def __init__(self, **kwargs): checkpoint_num_classes = checkpoint['model']['class_embed.bias'].shape[0] if checkpoint_num_classes != args.num_classes + 1: logger.warning( - f"Reinitializing detection head with {checkpoint_num_classes} classes" + f"Reinitializing detection head with {checkpoint_num_classes-1} classes" ) self.reinitialize_detection_head(checkpoint_num_classes) # add support to exclude_keys From 8de39830c9fec41f23cacaab1508dff859b30d8d Mon Sep 17 00:00:00 2001 From: Panagiota Moraiti Date: Tue, 15 Jul 2025 18:34:41 +0300 Subject: [PATCH 3/3] Modify num_classes - don't subtract 1 - label ids should start from 0 --- rfdetr/detr.py | 2 +- rfdetr/main.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/rfdetr/detr.py b/rfdetr/detr.py index 4a4977d..62e127e 100644 --- a/rfdetr/detr.py +++ b/rfdetr/detr.py @@ -104,7 +104,7 @@ def train_from_config(self, config: TrainConfig, **kwargs): if self.model_config.num_classes != num_classes: logger.warning( - f"Reinitializing your detection head with {num_classes-1} classes." + f"Reinitializing your detection head with {num_classes} classes." ) self.model.reinitialize_detection_head(num_classes) diff --git a/rfdetr/main.py b/rfdetr/main.py index 0b0b16b..e2dc3da 100644 --- a/rfdetr/main.py +++ b/rfdetr/main.py @@ -94,7 +94,7 @@ def __init__(self, **kwargs): checkpoint_num_classes = checkpoint['model']['class_embed.bias'].shape[0] if checkpoint_num_classes != args.num_classes + 1: logger.warning( - f"Reinitializing detection head with {checkpoint_num_classes-1} classes" + f"Reinitializing detection head with {checkpoint_num_classes} classes" ) self.reinitialize_detection_head(checkpoint_num_classes) # add support to exclude_keys