Content Filters SigLIP2/ViT
Collection
Moderation, Balance, Classifiers
•
6 items
•
Updated
•
2
Weather-Image-Classification is a vision-language model fine-tuned from google/siglip2-base-patch16-224 for multi-class image classification. It is trained to recognize weather conditions from images using the SiglipForImageClassification architecture.
Classification Report:
precision recall f1-score support
cloudy/overcast 0.8493 0.8762 0.8625 6702
foggy/hazy 0.8340 0.8128 0.8233 1261
rain/strom 0.7644 0.7592 0.7618 1927
snow/frosty 0.8341 0.8448 0.8394 1875
sun/clear 0.9124 0.8846 0.8983 6274
accuracy 0.8589 18039
macro avg 0.8388 0.8355 0.8371 18039
weighted avg 0.8595 0.8589 0.8591 18039
The model classifies an image into one of the following weather categories:
"id2label": {
"0": "cloudy/overcast",
"1": "foggy/hazy",
"2": "rain/storm",
"3": "snow/frosty",
"4": "sun/clear"
}
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/Weather-Image-Classification" # Replace with actual path
model = SiglipForImageClassification.from_pretrained(model_name)
processor = AutoImageProcessor.from_pretrained(model_name)
# Label mapping
id2label = {
"0": "cloudy/overcast",
"1": "foggy/hazy",
"2": "rain/storm",
"3": "snow/frosty",
"4": "sun/clear"
}
def classify_weather(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()
prediction = {
id2label[str(i)]: round(probs[i], 3) for i in range(len(probs))
}
return prediction
# Gradio Interface
iface = gr.Interface(
fn=classify_weather,
inputs=gr.Image(type="numpy"),
outputs=gr.Label(num_top_classes=5, label="Weather Condition"),
title="Weather-Image-Classification",
description="Upload an image to identify the weather condition (sun, rain, snow, fog, or clouds)."
)
if __name__ == "__main__":
iface.launch()
Weather-Image-Classification is useful for:
Base model
google/siglip2-base-patch16-224