bnbxfgbnx.png

Dog-Breed-120

Dog-Breed-120 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 dog images into specific breed categories using the SiglipForImageClassification architecture.

Accuracy : 86.81

{'eval_loss': 0.49717578291893005,
 'eval_model_preparation_time': 0.0042,
 'eval_accuracy': 0.8681275679906085,
 'eval_runtime': 146.2493,
 'eval_samples_per_second': 69.894,
 'eval_steps_per_second': 8.739,
 'epoch': 7.0}

The model categorizes images into the following 121 classes (0-120):

  • Class 0: "affenpinscher"
  • Class 1: "afghan_hound"
  • Class 2: "african_hunting_dog"
  • Class 3: "airedale"
  • Class 4: "american_staffordshire_terrier"
  • Class 5: "appenzeller"
  • Class 6: "australian_terrier"
  • Class 7: "basenji"
  • Class 8: "basset"
  • Class 9: "beagle"
  • Class 10: "bedlington_terrier"
  • Class 11: "bernese_mountain_dog"
  • Class 12: "black-and-tan_coonhound"
  • Class 13: "blenheim_spaniel"
  • Class 14: "bloodhound"
  • Class 15: "bluetick"
  • Class 16: "border_collie"
  • Class 17: "border_terrier"
  • Class 18: "borzoi"
  • Class 19: "boston_bull"
  • Class 20: "bouvier_des_flandres"
  • Class 21: "boxer"
  • Class 22: "brabancon_griffon"
  • Class 23: "briard"
  • Class 24: "brittany_spaniel"
  • Class 25: "bull_mastiff"
  • Class 26: "cairn"
  • Class 27: "cardigan"
  • Class 28: "chesapeake_bay_retriever"
  • Class 29: "chihuahua"
  • Class 30: "chow"
  • Class 31: "clumber"
  • Class 32: "cocker_spaniel"
  • Class 33: "collie"
  • Class 34: "curly-coated_retriever"
  • Class 35: "dandie_dinmont"
  • Class 36: "dhole"
  • Class 37: "dingo"
  • Class 38: "doberman"
  • Class 39: "english_foxhound"
  • Class 40: "english_setter"
  • Class 41: "english_springer"
  • Class 42: "entlebucher"
  • Class 43: "eskimo_dog"
  • Class 44: "flat-coated_retriever"
  • Class 45: "french_bulldog"
  • Class 46: "german_shepherd"
  • Class 47: "german_short-haired_pointer"
  • Class 48: "giant_schnauzer"
  • Class 49: "golden_retriever"
  • Class 50: "gordon_setter"
  • Class 51: "great_dane"
  • Class 52: "great_pyrenees"
  • Class 53: "greater_swiss_mountain_dog"
  • Class 54: "groenendael"
  • Class 55: "ibizan_hound"
  • Class 56: "irish_setter"
  • Class 57: "irish_terrier"
  • Class 58: "irish_water_spaniel"
  • Class 59: "irish_wolfhound"
  • Class 60: "italian_greyhound"
  • Class 61: "japanese_spaniel"
  • Class 62: "keeshond"
  • Class 63: "kelpie"
  • Class 64: "kerry_blue_terrier"
  • Class 65: "komondor"
  • Class 66: "kuvasz"
  • Class 67: "labrador_retriever"
  • Class 68: "lakeland_terrier"
  • Class 69: "leonberg"
  • Class 70: "lhasa"
  • Class 71: "malamute"
  • Class 72: "malinois"
  • Class 73: "maltese_dog"
  • Class 74: "mexican_hairless"
  • Class 75: "miniature_pinscher"
  • Class 76: "miniature_poodle"
  • Class 77: "miniature_schnauzer"
  • Class 78: "newfoundland"
  • Class 79: "norfolk_terrier"
  • Class 80: "norwegian_elkhound"
  • Class 81: "norwich_terrier"
  • Class 82: "old_english_sheepdog"
  • Class 83: "otterhound"
  • Class 84: "papillon"
  • Class 85: "pekinese"
  • Class 86: "pembroke"
  • Class 87: "pomeranian"
  • Class 88: "pug"
  • Class 89: "redbone"
  • Class 90: "rhodesian_ridgeback"
  • Class 91: "rottweiler"
  • Class 92: "saint_bernard"
  • Class 93: "saluki"
  • Class 94: "samoyed"
  • Class 95: "schipperke"
  • Class 96: "scotch_terrier"
  • Class 97: "scottish_deerhound"
  • Class 98: "sealyham_terrier"
  • Class 99: "shetland_sheepdog"
  • Class 100: "shih-tzu"
  • Class 101: "siberian_husky"
  • Class 102: "silky_terrier"
  • Class 103: "soft-coated_wheaten_terrier"
  • Class 104: "staffordshire_bullterrier"
  • Class 105: "standard_poodle"
  • Class 106: "standard_schnauzer"
  • Class 107: "sussex_spaniel"
  • Class 108: "test"
  • Class 109: "tibetan_mastiff"
  • Class 110: "tibetan_terrier"
  • Class 111: "toy_poodle"
  • Class 112: "toy_terrier"
  • Class 113: "vizsla"
  • Class 114: "walker_hound"
  • Class 115: "weimaraner"
  • Class 116: "welsh_springer_spaniel"
  • Class 117: "west_highland_white_terrier"
  • Class 118: "whippet"
  • Class 119: "wire-haired_fox_terrier"
  • Class 120: "yorkshire_terrier"

Run with TransformersπŸ€—

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

# Load model and processor
model_name = "prithivMLmods/Dog-Breed-120"
model = SiglipForImageClassification.from_pretrained(model_name)
processor = AutoImageProcessor.from_pretrained(model_name)

def dog_breed_classification(image):
    """Predicts the dog breed 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": "affenpinscher",
        "1": "afghan_hound",
        "2": "african_hunting_dog",
        "3": "airedale",
        "4": "american_staffordshire_terrier",
        "5": "appenzeller",
        "6": "australian_terrier",
        "7": "basenji",
        "8": "basset",
        "9": "beagle",
        "10": "bedlington_terrier",
        "11": "bernese_mountain_dog",
        "12": "black-and-tan_coonhound",
        "13": "blenheim_spaniel",
        "14": "bloodhound",
        "15": "bluetick",
        "16": "border_collie",
        "17": "border_terrier",
        "18": "borzoi",
        "19": "boston_bull",
        "20": "bouvier_des_flandres",
        "21": "boxer",
        "22": "brabancon_griffon",
        "23": "briard",
        "24": "brittany_spaniel",
        "25": "bull_mastiff",
        "26": "cairn",
        "27": "cardigan",
        "28": "chesapeake_bay_retriever",
        "29": "chihuahua",
        "30": "chow",
        "31": "clumber",
        "32": "cocker_spaniel",
        "33": "collie",
        "34": "curly-coated_retriever",
        "35": "dandie_dinmont",
        "36": "dhole",
        "37": "dingo",
        "38": "doberman",
        "39": "english_foxhound",
        "40": "english_setter",
        "41": "english_springer",
        "42": "entlebucher",
        "43": "eskimo_dog",
        "44": "flat-coated_retriever",
        "45": "french_bulldog",
        "46": "german_shepherd",
        "47": "german_short-haired_pointer",
        "48": "giant_schnauzer",
        "49": "golden_retriever",
        "50": "gordon_setter",
        "51": "great_dane",
        "52": "great_pyrenees",
        "53": "greater_swiss_mountain_dog",
        "54": "groenendael",
        "55": "ibizan_hound",
        "56": "irish_setter",
        "57": "irish_terrier",
        "58": "irish_water_spaniel",
        "59": "irish_wolfhound",
        "60": "italian_greyhound",
        "61": "japanese_spaniel",
        "62": "keeshond",
        "63": "kelpie",
        "64": "kerry_blue_terrier",
        "65": "komondor",
        "66": "kuvasz",
        "67": "labrador_retriever",
        "68": "lakeland_terrier",
        "69": "leonberg",
        "70": "lhasa",
        "71": "malamute",
        "72": "malinois",
        "73": "maltese_dog",
        "74": "mexican_hairless",
        "75": "miniature_pinscher",
        "76": "miniature_poodle",
        "77": "miniature_schnauzer",
        "78": "newfoundland",
        "79": "norfolk_terrier",
        "80": "norwegian_elkhound",
        "81": "norwich_terrier",
        "82": "old_english_sheepdog",
        "83": "otterhound",
        "84": "papillon",
        "85": "pekinese",
        "86": "pembroke",
        "87": "pomeranian",
        "88": "pug",
        "89": "redbone",
        "90": "rhodesian_ridgeback",
        "91": "rottweiler",
        "92": "saint_bernard",
        "93": "saluki",
        "94": "samoyed",
        "95": "schipperke",
        "96": "scotch_terrier",
        "97": "scottish_deerhound",
        "98": "sealyham_terrier",
        "99": "shetland_sheepdog",
        "100": "shih-tzu",
        "101": "siberian_husky",
        "102": "silky_terrier",
        "103": "soft-coated_wheaten_terrier",
        "104": "staffordshire_bullterrier",
        "105": "standard_poodle",
        "106": "standard_schnauzer",
        "107": "sussex_spaniel",
        "108": "test",
        "109": "tibetan_mastiff",
        "110": "tibetan_terrier",
        "111": "toy_poodle",
        "112": "toy_terrier",
        "113": "vizsla",
        "114": "walker_hound",
        "115": "weimaraner",
        "116": "welsh_springer_spaniel",
        "117": "west_highland_white_terrier",
        "118": "whippet",
        "119": "wire-haired_fox_terrier",
        "120": "yorkshire_terrier"
    }
    
    predictions = {labels[str(i)]: round(probs[i], 3) for i in range(len(probs))}
    return predictions

# Create Gradio interface
iface = gr.Interface(
    fn=dog_breed_classification,
    inputs=gr.Image(type="numpy"),
    outputs=gr.Label(label="Prediction Scores"),
    title="Dog Breed Classification",
    description="Upload an image to classify it into one of the 121 dog breed categories."
)

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

Intended Use:

The Dog-Breed-120 model is designed for dog breed image classification. It helps categorize dog images into 121 specific breed categories. Potential use cases include:

  • Pet Identification: Assisting pet owners and veterinarians in identifying dog breeds.
  • Animal Research: Supporting research in canine genetics and behavior studies.
  • E-commerce Applications: Enhancing pet-related product recommendations and searches.
  • Educational Purposes: Aiding in learning and teaching about various dog breeds.
Downloads last month
327
Safetensors
Model size
93M params
Tensor type
F32
Β·
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for prithivMLmods/Dog-Breed-120

Finetuned
(119)
this model

Spaces using prithivMLmods/Dog-Breed-120 4

Collections including prithivMLmods/Dog-Breed-120