deepguess's picture
update readme
65d67b1 verified
metadata
license: other
license_name: qwen2.5-vl
license_link: https://huggingface.co/Qwen/Qwen2.5-VL-7B-Instruct/blob/main/LICENSE
base_model: Qwen/Qwen2.5-VL-7B-Instruct
tags:
  - vision
  - image-text-to-text
  - weather
  - meteorology
  - climate
  - qwen2.5-vl
language:
  - en
pipeline_tag: image-text-to-text
library_name: transformers

Weather Analysis Vision-Language Model (Qwen2.5-VL-7B)

A specialized vision-language model for meteorological image analysis, fine-tuned from Qwen2.5-VL-7B-Instruct.

Model Details

  • Architecture: Qwen2.5-VL (Vision-Language Model)
  • Parameters: 7.6B
  • Base Model: Qwen/Qwen2.5-VL-7B-Instruct
  • Fine-tuning Method: LoRA (Low-Rank Adaptation)
    • Rank (r): 32
    • Alpha: 32
    • Target modules: ['v_proj', 'down_proj', 'gate_proj', 'k_proj', 'up_proj', 'q_proj', 'o_proj']
  • Training Data: Specialized weather and meteorological imagery dataset
  • Checkpoint: checkpoint-7000

Training Statistics

{
  "global_step": 7000,
  "epoch": 2.911837350180693,
  "total_flos": 4.786937654858951e+18,
  "train_loss": ".751"
}

Image Preprocessing Note

This model was trained with images preprocessed to 448x448 resolution. While Qwen2.5-VL supports dynamic resolution:

  • Best performance may be achieved with 448x448 images
  • The model will still work well with other resolutions
  • Native support for images from 56x56 to 3584x3584

Quick Start

from transformers import Qwen2_5_VLForConditionalGeneration, AutoProcessor
from PIL import Image
import torch

# Load model and processor
model = Qwen2_5_VLForConditionalGeneration.from_pretrained(
    "qwen25-vl-weather-7b",
    torch_dtype=torch.float16,
    device_map="auto"
)
processor = AutoProcessor.from_pretrained("qwen25-vl-weather-7b")

# Prepare your weather image
image = Image.open("weather_image.jpg")

# Create a prompt
prompt = "Analyze this weather image and describe the meteorological conditions."

# Format the message
messages = [
    {
        "role": "user",
        "content": [
            {"type": "image"},
            {"type": "text", "text": prompt}
        ]
    }
]

# Process the input
text = processor.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = processor(
    text=[text],
    images=[image],
    padding=True,
    return_tensors="pt"
).to(model.device)

# Generate response
generated_ids = model.generate(**inputs, max_new_tokens=512)
generated_ids_trimmed = [
    out_ids[len(in_ids):] for in_ids, out_ids in zip(inputs.input_ids, generated_ids)
]
output_text = processor.batch_decode(
    generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False
)[0]

print(output_text)

Intended Use

This model is designed for:

  • Weather Analysis: Interpreting meteorological imagery and data
  • Educational Applications: Teaching weather concepts
  • Research Support: Assisting in weather data analysis
  • Operational Meteorology: Supporting weather forecasting workflows

Capabilities

The model excels at analyzing:

  • Radar Imagery: Reflectivity, velocity, dual-polarization products
  • Satellite Data: Visible, infrared, water vapor imagery
  • Surface Charts: Weather maps, station plots, frontal analysis
  • Upper Air Data: Soundings, constant pressure charts
  • Model Output: Forecast charts, ensemble data
  • Observational Data: Surface observations, meteograms

Example Prompts

Professional Analysis:

  • "Analyze the radar reflectivity patterns and identify any supercell characteristics."
  • "What does this water vapor imagery reveal about the jet stream position?"
  • "Describe the atmospheric stability based on this sounding."

Educational:

  • "Explain this weather pattern in simple terms."
  • "What safety precautions should people take given these conditions?"

Limitations

  • Specialized for meteorological imagery; may not perform well on general images
  • Best with standard meteorological data formats and visualizations
  • Responses reflect training data biases toward certain weather phenomena

Hardware Requirements

  • Minimum VRAM: 16GB (with 8-bit quantization)
  • Recommended VRAM: 24GB+ (for full precision)
  • Optimal Performance: NVIDIA A100/H100 or RTX 4090/3090

Citation

@misc{weather-qwen25vl-2025,
  title={Weather Analysis Vision-Language Model based on Qwen2.5-VL-7B},
  author={Deepguess},
  year={2025},
  publisher={HuggingFace},
  url={https://huggingface.co/qwen25-vl-weather-7b}
}

Acknowledgments

  • Base model: Qwen team for Qwen2.5-VL
  • Training framework: Unsloth for efficient fine-tuning
  • Dataset: Custom curated weather imagery dataset

License

This model follows the license terms of Qwen2.5-VL. See the license file for details.