Hello! I’m Bima, and this project is designed to classifies weather conditions using a Convolutional Neural Network (CNN), aiming to provide early warnings for situations that may impact transportation, agriculture, and other outdoor activities.
Rather than replacing official weather forecasting systems, this model is intended to complement existing solutions—particularly in remote areas with limited technological infrastructure and access to timely information. Equipped with automation capabilities, it is designed to deliver real-time, 24/7 weather updates, enabling users to access accurate and practical weather information anytime.
This repository contains the following files:
README.md– General overview of the project.Milestone_4.ipynb– Main notebook for data processing and modelingMilestone_4_inference.ipynb= Notebook for running inference on new data.Deployment- Folder that contain files deployment on HuggingFace
Weather is one of the most significant external factors influencing various sectors, including transportation, agriculture, tourism, and other outdoor activities. In many regions—particularly remote areas—access to accurate, up-to-date weather information remains limited due to infrastructure and technological constraints. Delays in obtaining weather data can have serious consequences on safety, operational efficiency, and productivity.
With advancements in computer technology, especially in the field of Computer Vision, the use of visual imagery to identify weather conditions has become increasingly feasible. One highly effective approach is the use of Convolutional Neural Networks (CNNs)—a deep learning algorithm capable of analyzing and recognizing patterns in image data with exceptional accuracy.
CNNs can automatically classify weather conditions from images of the sky or surrounding environments, offering the potential to create real-time, automated weather monitoring systems that can be deployed even in resource-limited areas.
This project leverages CNNs to develop a weather classification model aimed at providing early warnings and timely updates, serving as an alternative and complementary solution to conventional weather prediction systems.
- The best-performing model in this project is one that implements Transfer Learning. By applying Transfer Learning with EfficientNet B0, the model’s performance improved significantly compared to the baseline model.
- EfficientNet B0 is particularly well-suited for datasets of small to medium size. Based on the classification report, the Transfer Learning model achieved 95% accuracy on the test set, indicating that it effectively learned patterns and can accurately predict unseen data.
- This CNN model is not intended to compete with advanced weather forecasting applications but rather to serve specific use cases, such as localized observations in areas not covered by sensors or existing applications.
The data source used comes from kaggle
The dataset contains data on certain weather conditions such as cloudy, rainy, sunny and conditions at sunrise with the following details.
- Sunrise 357
- Shine 253
- Rain 215
- Cloudy 300
For model deployment can be accessed here
Usage Instructions
- Click the link provided below.
- In the navigation bar, switch to the Prediction section.
- Upload your images.
- The model will classify your images onto specific weather condition.
- Python
- pandas, numpy — data manipulation
- matplotlib, seaborn — data visualization
- scikit-learn - data processing
- tensorflow - Modeling
I welcome any feedback, suggestions, or opportunities for collaboration. If you would like to connect or discuss ideas, feel free to reach out.