prithivMLmods/Gender-Classifier-Mini

🤗 Hugging Face sourceimage-classificationapache-2.093M params372 MBsafetensors✓ 12 checksumsupdated today
Submit in one command

Run it next to your model folder. It makes the torrent, checks your files against Hugging Face, and submits it. You just start seeding and paste your key from your account. It only reads your files and never changes them. Read the script first if you like.

curl -fsSL https://pirateface.co/package.sh | bash -s -- --repo prithivMLmods/Gender-Classifier-Mini ./model-folder
Needs a seeder →

Gender-Classifier-Mini

Gender-Classifier-Mini is an image classification vision-language encoder model fine-tuned from google/siglip2-base-patch16-224 for a single-label classification task. It is designed to classify images based on gender using the SiglipForImageClassification architecture.

Accuracy: 0.9720
F1 Score: 0.9720

Classification Report:
              precision    recall  f1-score   support

    Female ♀     0.9660    0.9796    0.9727      2549
      Male ♂     0.9785    0.9641    0.9712      2451

    accuracy                         0.9720      5000
   macro avg     0.9722    0.9718    0.9720      5000
weighted avg     0.9721    0.9720    0.9720      5000

The model categorizes images into two classes:

  • Class 0: "Female ♀"
  • Class 1: "Male ♂"

Run with Transformers🤗

!pip install -q transformers torch pillow gradio
import gradio as gr
from transformers import AutoImageProcessor
from transformers import SiglipForImageClassification
from transformers.image_utils import load_image
from PIL import Image
import torch

# Load model and processor
model_name = "prithivMLmods/Gender-Classifier-Mini"
model = SiglipForImageClassification.from_pretrained(model_name)
processor = AutoImageProcessor.from_pretrained(model_name)

def gender_classification(image):
    """Predicts gender category for an image."""
    image = Image.fromarray(image).convert("RGB")
    inputs = processor(images=image, return_tensors="pt")
    
    with torch.no_grad():
        outputs = model(**inputs)
        logits = outputs.logits
        probs = torch.nn.functional.softmax(logits, dim=1).squeeze().tolist()
    
    labels = {"0": "Female ♀", "1": "Male ♂"}
    predictions = {labels[str(i)]: round(probs[i], 3) for i in range(len(probs))}
    
    return predictions

# Create Gradio interface
iface = gr.Interface(
    fn=gender_classification,
    inputs=gr.Image(type="numpy"),
    outputs=gr.Label(label="Prediction Scores"),
    title="Gender Classification",
    description="Upload an image to classify its gender."
)

# Launch the app
if __name__ == "__main__":
    iface.launch()

Intended Use:

The Gender-Classifier-Mini model is designed to classify images into gender categories. Potential use cases include:

  • Demographic Analysis: Assisting in understanding gender distribution in datasets.
  • Face Recognition Systems: Enhancing identity verification processes.
  • Marketing & Advertising: Personalizing content based on demographic insights.
  • Healthcare & Research: Supporting gender-based analysis in medical imaging.