
What you'll build, who this is for, how to follow along
Discover how geospatial deep learning uses CNNs and a preview of ResNet-18 to classify forest vs urban areas from Sentinel-2 data in Brazil, via Google Colab and Earth Engine.
Define artificial intelligence as branch of computer science that enables learning, reasoning, and problem solving in intelligent machines, with subfields including machine learning, deep learning, computer vision, NLP, and robotics.
Discover why Python dominates AI and ML with a rich ecosystem—NumPy, SciPy, pandas, scikit-learn, TensorFlow, Keras, Matplotlib, Seaborn—offering readable syntax, rapid prototyping, and cross-platform reliability.
Set up a GPU-enabled TensorFlow environment with Anaconda, install TensorFlow GPU, and verify GPU availability in Jupyter. Demonstrate GPU speedups with matrix multiplication and a MNIST neural network training.
Explore Google Colab, a free cloud-based platform that lets you write and run Python code in a collaborative Jupyter notebook environment, with GPU/TPU access, drive integration, and easy sharing.
Learn to set up Google Colab for AI projects, enable GPU and TPU acceleration, and run a first ML script in the browser using TensorFlow and PyTorch.
Train a two-layer PyTorch neural network in Colab to classify crop health using binary labels, with ReLU activation, a sigmoid output, and BCE loss optimized by Adam on the GPU.
Train TensorFlow models in Google Colab to classify crop health using synthetic ndvi and soil moisture data, building a two-layer neural network and evaluating accuracy with GPU acceleration.
Save and share Colab notebooks to protect your work and enable collaboration. Save to Google Drive, download as ipynb, and manage versions with revision history and sharing permissions.
Learn to import a CSV dataset into Jupyter Notebook using pandas, inspect for missing values and outliers, clean data by filling nulls, clipping ndVi values, and encoding health as binary.
Learn to calculate ndvi and nbr from Landsat 8 imagery of Kurdistan using Python, extracting red, nir, swir bands, and export a geotiff for burn severity and vegetation analysis.
Compute zonal statistics in Python for geospatial analysis by summarizing raster data within shapefile zones, producing a csv with mean, maximum, minimum, and standard deviation.
Preprocess real sentinel-2 imagery for deep learning by resizing to 32 by 32, normalizing to 0–1, and applying augmentation in Colab for land cover tasks.
Leverage Google Earth Engine to build an automated data pipeline that retrieves Sentinel-2 imagery, computes NDVI, and exports it as a NumPy array for CNN workflows.
Tile large Sentinel-2 imagery into 16 256x256 patches, normalize and augment them in Colab for CNN training with ResNet-18, enabling efficient batch processing of geospatial data.
Implement a convolutional neural network for satellite image classification in PyTorch using the Neurosat dataset and a pre-trained ResNet-50 to classify ten land use classes.
Process satellite imagery with rasterio and geopandas to compute ndvi and zonal statistics, then train a three-layer cnn for crop health classification using TensorFlow.
Train a random forest on crop health data, and evaluate accuracy, precision, and recall, then assess stability with five-fold cross-validation.
Visualize machine learning model performance with confusion matrices and ROC curves on a crop health dataset. Train a random forest in Python and interpret accuracy and AUC for reliability.
Tune hyperparameters for a random forest using grid search and random search in Python, achieving high cross validation accuracy and stable metrics on the crop health dataset.
Build a convolutional neural network with PyTorch to classify Neurosat satellite images using a pretrained ResNet-50, including data preprocessing, training, evaluation with a confusion matrix, and predictions.
Learn to process remote sensing data with Python, compute NDVI, and train a three-layer neural network to classify crop health using raster and vector data.
Detect and count plants using geospatial data processing and computer vision in Python, applying shapefile, raster masking, a plant model, and OpenCV blob detection for coordinates and CSV output.
Learn to validate biomass predictions against ground truth data using deep learning in Google Colab, and quantify performance with RMSE, MAE, and R-squared.
Move from image-level classification to semantic segmentation, predicting a class for every pixel. Use Eurostat data from Sentinel-2 to generate segmentation masks and land-cover maps for GIS analysis.
Learn about the U-Net architecture for geospatial deep learning, featuring encoder-decoder with skip connections and double-conf blocks, plus an attention unit and loss options like cross-entropy, focal, and dice.
Learn to build and run a U-Net for satellite imagery segmentation using Eurosat data, with geographic data splits, reproducible seeds, and GPU-accelerated PyTorch training.
Train a U-Net on satellite imagery with a careful data loader, safe augmentation, AdamW and cosine scheduler, and AMP, then evaluate using minIOU by accumulating intersection and union.
Learn to analyze satellite imagery with Python and deep learning through practical geospatial workflows. This course connects imagery preprocessing, convolutional neural networks (CNNs), and semantic segmentation, helping you understand how data preparation, model design, and evaluation fit together.
Start by setting up your working environment with Google Colab and exploring TensorFlow and PyTorch. Then work through satellite imagery preprocessing, geospatial indices, zonal statistics, and Google Earth Engine data pipelines. Lessons cover Sentinel-2 imagery and a crop classification workflow that combines Sentinel-1 and Sentinel-2 data.
Next, explore CNNs for satellite image classification and crop health analysis. Learn to assess model performance using accuracy, precision, recall, and cross-validation, and explore hyperparameter tuning with grid search and random search. Applied lessons also introduce plant counting and biomass prediction with ground-truth validation.
A dedicated section takes you through semantic segmentation with U-Net: understanding the architecture, building the model from scratch, training and evaluating it, visualizing predictions, and exporting results as GeoTIFF files.
The course is designed for GIS professionals, researchers, students, and data scientists who have basic Python skills and familiarity with introductory machine learning. Quizzes help reinforce the concepts as you progress.
By the end, you will have practiced workflows for preparing satellite imagery, building classification and segmentation models, evaluating predictions, and producing geospatial outputs. Use these foundations to develop your own experiments with new datasets and study areas.