GEOG 288KC
  • 🏠 home
  • 📋 syllabus
  • 💻 weekly sessions
    • Session 0a - 🪜 Foundation Model Architectures
    • Session 1 - 📊 Geospatial Data Foundations
    • Session 2 - 🧠 Spatial-Temporal Attention Mechanisms
    • Session 3 - 🏗️ Complete GFM Architecture
    • Session 4 - 🔥 Pretraining Implementation
    • Session 5 - ⚙️ Training Loop Optimization
    • Session 6 - 📈 Model Evaluation & Analysis
    • Session 7 - 🤝 Integration with Existing Models
    • Session 8 - 🔧 Task-Specific Fine-tuning
    • Session 9 - ☁️ Model Implementation & Deployment
    • Session 10 - 🎯 Project Presentations & Synthesis
  • 👀 Cheatsheets
    • 🏗️ Foundation Models & AI
    • Foundation Model Architectures
    • GFM Architecture Cheatsheet
    • Fine-tuning Basics
    • Multi-modal Learning
    • Model Evaluation & Validation
    • Loading Pre-trained Models
    • Model Inference & Feature Extraction
    • 🗺️ Geospatial Data & Remote Sensing
    • Geospatial Data & Remote Sensing
    • GEO-Bench Datasets
    • STAC APIs
    • Rasterio Basics
    • Xarray for Multi-dimensional Data
    • 🔥 PyTorch & Deep Learning
    • PyTorch Tensors
    • TorchGeo Datasets & Transforms
    • Data Loading for Satellite Imagery
    • 📊 Visualization & Analysis
    • Plotting Satellite Data
    • Interactive Maps with Folium
    • Geospatial Plotting with Matplotlib
    • ☁️ Deployment & Scaling
    • Cloud & Scalable Computing
  • 📖 extras
    • 📚 Reference Materials
    • 🎯 Practical Examples
    • Normalization Comparison
    • ResNet Implementation
    • Text Encoder
    • Tiling and Patches
    • TerraTorch Workflows
    • 📁 Project Templates
    • Project Proposal Template
    • MVP Presentation Template

On this page

  • GEOG 288KC: Building Geospatial Foundation Models
    • Course Overview
    • Prerequisites
    • Applications
    • —
    • Course Structure: 3 Stages, 9 Steps
    • Deliverables
    • Grading

GEOG 288KC: Building Geospatial Foundation Models

Fall 2025
Fridays 9am-12pm + optional lab office hours Fridays 2pm-5pm


Course Overview

This course teaches students to build geospatial foundation models (GFMs) from scratch for remote sensing and environmental monitoring. Following the framework from “Build a Large Language Model (From Scratch)” by Sebastian Raschka, students will implement every component of the foundation model pipeline—from data geospatial embedding and attention mechanisms to training loops and deployment—while developing their own working foundation model. We will also download and use frontier GFMs such as Prithvi.


Prerequisites

  • Students should have some experience with remote sensing, geospatial data, or ML (e.g., Python, Earth Engine, PyTorch).

  • Because this is a project-driven seminar, students should have a topic area in which they are interested in applying GeoFMs.


Applications

To apply, students should submit a paragraph at the form link below describing their past experience with remote sensing, geospatial data, and ML, as well as their interest in building (not just using) Geospatial Foundation Models. They should describe a specific geospatial problem they want to solve by building a custom foundation model. The more clearly defined the target application and any existing datasets the better, though students will refine their approach as they learn to build complete GFM pipelines.

https://forms.gle/Q1iDp2kuZuX1avMPA

—

Course Structure: 3 Stages, 9 Steps

🏗️ Stage 1: Build GFM Architecture (Weeks 1-3)

  • Week 1: Geospatial Data Foundations (Step 1: Data preparation and sampling)
  • Week 2: Spatial-Temporal Attention Mechanisms (Step 2: Attention mechanism)
  • Week 3: Complete GFM Architecture (Step 3: LLM Architecture)

🚀 Stage 2: Training a Foundation Model (Weeks 4-7)

  • Week 4: Pretraining Implementation (Step 4: Pretraining)
  • Week 5: Training Loop Optimization (Step 5: Training loop)
  • Week 6: Model Evaluation & Analysis (Step 6: Model evaluation)
  • Week 7: Integration with Existing Models (Step 7: Load pretrained weights)

🎯 Stage 3: Model Application (Weeks 8-10)

  • Week 8: Task-Specific Fine-tuning (Step 8: Fine-tuning)
  • Week 9: Model Implementation & Deployment (Step 9: Model implementation)
  • Week 10: Project Presentations & Future Directions (Integration and synthesis)

Deliverables

Stage 1: Architecture (Weeks 1-3) * Week 1: Geospatial data pipeline with tokenization strategy * Week 3: Working GFM architecture (~10M parameters)

Stage 2: Training (Weeks 4-7) * Week 4: Active pretraining pipeline with monitoring * Week 6: Comprehensive model evaluation report * Week 7: Integration with existing models (Prithvi comparison)

Stage 3: Application (Weeks 8-10) * Week 8: Fine-tuned model for specific geospatial task * Week 9: Deployable model with API and documentation * Week 10: Final presentation of complete GFM pipeline (15 min demo + Q&A)

Optional: Submit our foundation model to Hugging Face for broader visibility


Grading

This course will be assessed on a pass/fail basis. Passing requires consistent attendance and participation and submission of all deliverables.

Source Code
## **GEOG 288KC: Building Geospatial Foundation Models**

**Fall 2025**  
**Fridays 9am-12pm \+ optional lab office hours Fridays 2pm-5pm**

---

### **Course Overview**

This course teaches students to build geospatial foundation models (GFMs) from scratch for remote sensing and environmental monitoring. Following the framework from "Build a Large Language Model (From Scratch)" by Sebastian Raschka, students will implement every component of the foundation model pipeline—from data geospatial embedding and attention mechanisms to training loops and  deployment—while developing their own working foundation model. We will also download and use frontier GFMs such as Prithvi.

---

### **Prerequisites**

* Students should have some experience with remote sensing, geospatial data, or ML (e.g., Python, Earth Engine, PyTorch). 

* Because this is a project-driven seminar, students should have a topic area in which they are interested in applying GeoFMs. 

---

### **Applications**

To apply, students should submit a paragraph at the [form link](https://forms.gle/Q1iDp2kuZuX1avMPA) below describing their past experience with remote sensing, geospatial data, and ML, as well as their interest in building (not just using) Geospatial Foundation Models. They should describe a specific geospatial problem they want to solve by building a custom foundation model. The more clearly defined the target application and any existing datasets the better, though students will refine their approach as they learn to build complete GFM pipelines. 

[https://forms.gle/Q1iDp2kuZuX1avMPA](https://forms.gle/Q1iDp2kuZuX1avMPA)

### ---

### **Course Structure: 3 Stages, 9 Steps**

#### **🏗️ Stage 1: Build GFM Architecture (Weeks 1-3)**
* **Week 1**: Geospatial Data Foundations *(Step 1: Data preparation and sampling)*
* **Week 2**: Spatial-Temporal Attention Mechanisms *(Step 2: Attention mechanism)*  
* **Week 3**: Complete GFM Architecture *(Step 3: LLM Architecture)*

#### **🚀 Stage 2: Training a Foundation Model (Weeks 4-7)**
* **Week 4**: Pretraining Implementation *(Step 4: Pretraining)*
* **Week 5**: Training Loop Optimization *(Step 5: Training loop)*
* **Week 6**: Model Evaluation & Analysis *(Step 6: Model evaluation)*
* **Week 7**: Integration with Existing Models *(Step 7: Load pretrained weights)*

#### **🎯 Stage 3: Model Application (Weeks 8-10)**
* **Week 8**: Task-Specific Fine-tuning *(Step 8: Fine-tuning)*
* **Week 9**: Model Implementation & Deployment *(Step 9: Model implementation)*
* **Week 10**: Project Presentations & Future Directions *(Integration and synthesis)*

---

### **Deliverables**

**Stage 1: Architecture (Weeks 1-3)**
* **Week 1**: Geospatial data pipeline with tokenization strategy
* **Week 3**: Working GFM architecture (~10M parameters)

**Stage 2: Training (Weeks 4-7)**
* **Week 4**: Active pretraining pipeline with monitoring
* **Week 6**: Comprehensive model evaluation report
* **Week 7**: Integration with existing models (Prithvi comparison)

**Stage 3: Application (Weeks 8-10)**
* **Week 8**: Fine-tuned model for specific geospatial task
* **Week 9**: Deployable model with API and documentation
* **Week 10**: Final presentation of complete GFM pipeline (15 min demo + Q&A)

**Optional**: Submit our foundation model to Hugging Face for broader visibility

---

### **Grading**

This course will be assessed on a pass/fail basis. Passing requires consistent attendance and participation and submission of all deliverables.

Department of Geography logo
 

This website is built with and Quarto