# CanineNet: Dog Breed Classification for 'Le Refuge'

**Github:** [Here](https://github.com/amaye15/CanineNet/tree/main)

**Huggingface Model:** [Here](https://huggingface.co/amaye15/ViT-Standford-Dogs)

**Streamlit App:** [Here](https://caninenet.streamlit.app/)

**DagsHub & Mlflow Experiement Tracking:** [Here](https://dagshub.com/andrewmayes14/mlflow/experiments/#/)

## Project Overview
As a volunteer at 'Le Refuge,' a local animal protection association, I embarked on a mission to develop a machine learning tool that could aid in the classification of dog breeds from their vast image database. The project was inspired by my own experience finding my beloved pet, Snooky, through this association. To give back, I aimed to streamline their data management process by implementing an advanced breed classification algorithm.

```python
from transformers import pipeline

# Specify the model you want to use
model_name = "amaye15/ViT-Standford-Dogs"  # Example: Vision Transformer

# Load the image classification pipeline with the specified model
image_classifier = pipeline("image-classification", model=model_name)

# Path or URL to your image
image_path_or_url = "path_or_url_to_your_image"

# Get predictions
predictions = image_classifier(image_path_or_url)

# Define the number of top predictions you want to see (top k)
top_k = 5

# Print the top k predictions
for prediction in predictions[:top_k]:
    print(f"Class: {prediction['label']}, Confidence: {prediction['score']:.2f}")
```

bull mastiff chesapeake bay retriever tibetan mastiff bouvier des flandres cardigan miniature pinscher toy poodle kerry blue terrier miniature schnauzer bernese mountain dog gordon setter borzoi bloodhound irish setter scottish deerhound norwegian elkhound keeshond otterhound dhole norwich terrier basenji italian greyhound pembroke malinois standard schnauzer kelpie old english sheepdog yorkshire terrier greater swiss mountain dog miniature poodle ibizan hound english springer german shepherd schipperke airedale irish wolfhound komondor cairn silky terrier eskimo dog english setter tibetan terrier saint bernard redbone labrador retriever american staffordshire terrier shetland sheepdog toy terrier west highland white terrier pomeranian pekinese african hunting dog brabancon griffon dingo collie cocker spaniel great pyrenees japanese spaniel standard poodle papillon english foxhound french bulldog chihuahua australian terrier black and tan coonhound walker hound border collie samoyed rhodesian ridgeback malamute bluetick staffordshire bullterrier scotch terrier norfolk terrier great dane clumber groenendael saluki leonberg briard basset vizsla irish terrier newfoundland entlebucher mexican hairless brittany spaniel beagle bedlington terrier soft coated wheaten terrier siberian husky giant schnauzer lakeland terrier border terrier flat coated retriever irish water spaniel curly coated retriever blenheim spaniel affenpinscher lhasa whippet german short haired pointer pug boxer wire haired fox terrier sealyham terrier welsh springer spaniel golden retriever maltese dog afghan hound appenzeller rottweiler dandie dinmont weimaraner boston bull kuvasz doberman sussex spaniel shih tzu chow