Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Setting Up Your Environment

Introduction

Learning Objectives

Hardware Requirements

Minimum Requirements

Cloud Alternatives

Installing NVIDIA Drivers

macOS

Windows

nvidia-smi

Linux

sudo apt update
sudo ubuntu-drivers install
sudo apt install nvidia-driver-580
sudo reboot
sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \
    https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
sudo dnf install akmod-nvidia
sudo pacman -S nvidia nvidia-utils

Verifying the Driver Installation

nvidia-smi

Installing Python with Miniconda

Windows Installation

curl https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe -o .\miniconda.exe
start /wait "" .\miniconda.exe /S
del .\miniconda.exe
conda --version
python --version

macOS Installation

mkdir -p ~/miniconda3
curl https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh -o ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm ~/miniconda3/miniconda.sh
source ~/miniconda3/bin/activate
conda init --all
conda --version
python --version

Linux Installation

mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm ~/miniconda3/miniconda.sh
source ~/miniconda3/bin/activate
conda init --all
conda --version
python --version

Creating a Conda Environment

conda create -n geoai python=3.13 -y
conda activate geoai
conda deactivate

Installing GeoAI and PyTorch with GPU Support

conda activate geoai

Checking Your GPU

nvidia-smi

Installing GeoAI and PyTorch with CUDA

conda install -c conda-forge geoai segment-geospatial "pytorch=*=cuda*"
conda install -c conda-forge geoai segment-geospatial "pytorch=2.7.0=cuda128"

Installing GeoAI and PyTorch for CPU Only

conda install -c conda-forge geoai segment-geospatial

Verifying GPU Access

python -c "import torch; print(f'PyTorch {torch.__version__}'); print(f'CUDA available: {torch.cuda.is_available()}'); print(f'GPU: {torch.cuda.get_device_name(0)}' if torch.cuda.is_available() else 'CPU only')"

Installing uv as an Alternative Package Manager

curl -LsSf https://astral.sh/uv/install.sh | sh
pip install uv
uv venv --python 3.13
source .venv/bin/activate
uv pip install geoai-py segment-geospatial jupyterlab

Setting Up Jupyter

jupyter lab
import torch
import geoai

print(torch.cuda.is_available())
print(geoai.__version__)

Installing Visual Studio Code

Download and Installation

code --install-extension ms-python.python
code --install-extension ms-toolsai.jupyter
code --install-extension charliermarsh.ruff

Verifying Your Setup

import sys
import importlib

print(f"Python version: {sys.version}\n")

# Check core packages
packages = {
    "torch": "PyTorch",
    "torchvision": "TorchVision",
    "geoai": "GeoAI",
    "leafmap": "Leafmap",
    "geopandas": "GeoPandas",
    "rasterio": "Rasterio",
    "samgeo": "Segment-Geospatial",
    "torchgeo": "TorchGeo",
}

for module_name, display_name in packages.items():
    try:
        mod = importlib.import_module(module_name)
        version = getattr(mod, "__version__", "installed")
        print(f"  {display_name}: {version}")
    except ImportError:
        print(f"  {display_name}: NOT FOUND")

# Check GPU availability
import torch
print(f"\nCUDA available: {torch.cuda.is_available()}")
if torch.cuda.is_available():
    print(f"GPU device: {torch.cuda.get_device_name(0)}")
    print(f"CUDA version: {torch.version.cuda}")
else:
    print("Running in CPU-only mode.")
import leafmap

m = leafmap.Map(center=[40, -100], zoom=4)
m

Exercises

Exercise 1: Install and Verify Your Environment

Exercise 2: Check GPU Availability

Exercise 3: Explore Conda Environment Management

Exercise 4: Create an Interactive Map