Views
No views yet
ujjwal75/indian-bovine-breeds-modelclasses.json| Property | Description |
|---|---|
| Architecture | Fine-tuned CNN (ResNet-50 / EfficientNet-B0) |
| Framework | PyTorch |
| Input | RGB image (JPEG/PNG) |
| Output | Predicted breed label + confidence score |
| Loss Function | CrossEntropyLoss |
| Optimizer | Adam / SGD |
| Epochs | ~30 |
| Image Size | 224×224 |
| Accuracy | ~90% on validation data |
Indian_bovine_finetuned_model.pth (334 MB)1from PIL import Image
2import requests
3import torch
4from torchvision import transforms
5from huggingface_hub import hf_hub_download
6import json
7import torchvision.models as models
8
9# Download model and class labels
10model_path = hf_hub_download("ujjwal75/indian-bovine-breeds-model", "Indian_bovine_finetuned_model.pth")
11classes_path = hf_hub_download("ujjwal75/indian-bovine-breeds-model", "classes.json")
12
13# Load classes
14with open(classes_path, "r") as f:
15 classes = json.load(f)
16
17# Load pretrained architecture (adjust if different)
18model = models.resnet50(num_classes=len(classes))
19model.load_state_dict(torch.load(model_path, map_location="cpu"))
20model.eval()
21
22# Image preprocessing
23url = "https://example.com/bovine.jpg"
24image = Image.open(requests.get(url, stream=True).raw)
25transform = transforms.Compose([
26 transforms.Resize((224, 224)),
27 transforms.ToTensor(),
28 transforms.Normalize(mean=[0.485, 0.456, 0.406],
29 std=[0.229, 0.224, 0.225]),
30])
31input_tensor = transform(image).unsqueeze(0)
32
33# Prediction
34with torch.no_grad():
35 outputs = model(input_tensor)
36 pred_idx = torch.argmax(outputs, dim=1).item()
37
38print("Predicted Breed:", classes[pred_idx])