Mhara's picture
Upload folder using huggingface_hub
dae5c90 verified
Raw
History Blame Contribute Delete
1.15 kB
import timm
def create_convnext_v2_model(model_name='convnextv2_atto', num_classes=2, pretrained=True, in_22k=False):
"""
Create a ConvNeXtV2 model for image classification using timm.
Args:
model_name (str): Base name of the ConvNeXtV2 variant (e.g., 'convnextv2_atto').
num_classes (int): Number of output classes (e.g., 2 for binary classification).
pretrained (bool): Whether to use pretrained weights.
in22k (bool): Whether to use ImageNet-22k pretraining or fine-tuned on 1k.
Returns:
model (nn.Module): The created model.
num_features (int): Number of features before the classifier.
"""
if in_22k:
model_name += '.in22k'
else:
model_name += '.fcmae_ft_in1k'
print(f"Creating ConvNeXtV2 model: {model_name}")
model = timm.create_model(model_name, pretrained=pretrained, num_classes=num_classes)
if hasattr(model, 'classifier') and hasattr(model.classifier, 'in_features'):
num_features = model.classifier.in_features
else:
num_features = model.get_classifier().in_features
return model, num_features