EuroSATFieldScout / README.md
yava-code's picture
Configure EuroSAT Field Scout submission (#1)
84f1282
|
Raw
History Blame Contribute Delete
3.69 kB

A newer version of the Gradio SDK is available: 6.20.0

Upgrade
metadata
title: EuroSAT Field Scout
emoji: 🛰️
colorFrom: green
colorTo: blue
sdk: gradio
sdk_version: 5.34.0
python_version: 3.11
app_file: app.py
pinned: false
license: mit
short_description: Local EuroSAT land-use classifier for map triage.
tags:
  - gradio
  - build-small-hackathon
  - backyard-ai
  - track:backyard
  - small-models
  - tiny-model
  - computer-vision
  - satellite-imagery
  - pytorch
  - eurosat
  - local-first
  - achievement:offgrid
  - achievement:sharing
  - achievement:fieldnotes
datasets:
  - torchgeo/eurosat

EuroSAT Field Scout

Small local-first land-use triage for satellite tiles.

Try it: Live Space · Demo video + social post · Field notes


Judges Quick Read

  • Track: Backyard AI
  • Model cap: 2.49M-parameter PyTorch CNN, far below the 32B hackathon cap
  • Runtime: Gradio Space on CPU
  • Off the Grid: no cloud inference API; the app reconstructs local weights from weights/simple_net_v1.part*
  • Use case: quick first-pass sorting of Sentinel-style land tiles for students, mapping volunteers, and geo demos

Upload a satellite or aerial land image and the app predicts the closest EuroSAT land-use class:

  • AnnualCrop
  • Forest
  • HerbaceousVegetation
  • Highway
  • Industrial
  • Pasture
  • PermanentCrop
  • Residential
  • River
  • SeaLake

Demo

The short demo video is attached to the LinkedIn social post:

https://www.linkedin.com/posts/varfolomiy-yasenoviy-a0209a2a3_gradio-huggingface-hackaton-share-7471607916270080000-W9RZ/

Model

SimpleNet is a lightweight convolutional neural network trained on EuroSAT. The Space reconstructs the local weights from weights/simple_net_v1.part* and runs inference on CPU.

Component Details
Architecture Four Conv-BN-ReLU-Pool blocks plus a dense classifier
Parameters 2,492,170
Input RGB image resized to 64 x 64
Output 10 EuroSAT land-use classes
Inference Local PyTorch CPU inference inside the Space

Build Notes

The checkpoint originally existed as a pickled full model object. For a safer Space deploy, it was converted to a plain PyTorch state_dict in simple_net_v1.pth. That avoids PyTorch pickle compatibility issues and makes the app startup path simple: instantiate SimpleNet, load weights, run inference.

For the hackathon Space upload, the state dict is stored as float16 tensors and split into small weights/simple_net_v1.part* chunks so the submission can be reviewed without Git LFS write permissions. The app rebuilds the bytes in memory and casts floating tensors back to float32 before loading them into the model.

Badges

Badge Status Why it fits
Backyard AI Submitted Helps with a practical local mapping workflow
Off the Grid Submitted No hosted LLM or remote inference service
Sharing is Caring Submitted LinkedIn post and reusable Space source are public
Field Notes Submitted FIELD_NOTES.md documents the build and deployment choices

Running Locally

pip install -r requirements.txt
python app.py

Submission Links