An end-to-end deep learning image classifier that identifies the master behind any painting — spanning data collection, cleaning, model training, deployment, and API integration.
Art2Artist Recognizer — Web Interface
Data Collection was sourced from two places:
- DuckDuckGo — images scraped by artist name
- Kaggle WikiArt Dataset — curated art repository
| Stage | Image Count |
|---|---|
| Raw collected | ~20,000 |
| After cleaning | ~16,000 |
DataLoader — Built with the fastai DataBlock API.
Data Augmentation — fastai's default GPU-accelerated augmentation pipeline:
- Random resized crops (
min_scale=0.5) - Multiple augmentations with
2.0multiplier
See
notebooks/data_prep.ipynbfor full details.
- Transfer learning with pretrained ResNet architectures
- Fine-tuned over 3 cycles × 5 epochs each
The most time-consuming phase of the project. Images scraped from DuckDuckGo required extensive manual review and cleaning before being merged with the WikiArt dataset to produce high-quality, relevant training examples.
| Model | Architecture | Dataset Size | Accuracy |
|---|---|---|---|
| Model 1 | ResNet34 | 16,000 images | 88% |
| Model 2 | ResNet50 | 16,000 images | 90% ✅ |
ResNet50 was selected as the final model — its deeper architecture enables richer feature extraction, capturing the subtle stylistic signatures that distinguish each artist.
The model is deployed as a Gradio app on Hugging Face Spaces.
Gradio App — Deployed on Hugging Face Spaces
🔗 Live app: huggingface.co/spaces/goldphish2209/art2artist-recognizer
Implementation details in the
deployment/folder.
The Gradio model API is integrated into a GitHub Pages website for browser-based access without any local setup.
Art2Artist — GitHub Pages Live Demo
🔗 Website: naawshin.github.io/Art2Artist-Recognizer
Implementation details in the
docs/folder.
| Component | Technology |
|---|---|
| Deep learning framework | fastai + PyTorch |
| Model architectures | ResNet34, ResNet50 |
| Data sources | DuckDuckGo scraping, Kaggle WikiArt |
| Deployment | Hugging Face Spaces + Gradio |
| Web integration | GitHub Pages |
| Training strategy | Transfer learning + fine-tuning |
- 🧠 Built with fastai and PyTorch
- 🔁 Transfer learning with ResNet34 and ResNet50
- 🖼️ Curated and cleaned 20k+ images from DuckDuckGo and Kaggle WikiArt
- 🎯 Achieved up to 90% accuracy in artist classification
- ☁️ Deployed on Hugging Face Spaces with Gradio
- 🌐 Integrated via API on GitHub Pages for web-based access
Nowshin Tabasum — AI Engineer