Skip to content

Commit

Permalink
Merge branch 'main' into tutorial_datamodule_contrib
Browse files Browse the repository at this point in the history
  • Loading branch information
adamjstewart committed Dec 8, 2024
2 parents a7dc346 + 04483d7 commit f9d6797
Show file tree
Hide file tree
Showing 11 changed files with 1,441 additions and 44 deletions.
5 changes: 4 additions & 1 deletion docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,11 @@ torchgeo
:caption: Tutorials

tutorials/getting_started
tutorials/contribute_datamodule
tutorials/pytorch
tutorials/geospatial
tutorials/contribute_non_geo_dataset
tutorials/custom_raster_dataset
tutorials/contribute_datamodule
tutorials/transforms
tutorials/indices
tutorials/trainers
Expand Down
485 changes: 485 additions & 0 deletions docs/tutorials/contribute_non_geo_dataset.ipynb

Large diffs are not rendered by default.

355 changes: 355 additions & 0 deletions docs/tutorials/geospatial.ipynb

Large diffs are not rendered by default.

32 changes: 23 additions & 9 deletions docs/tutorials/pretrained_weights.ipynb
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
{
"cells": [
{
"cell_type": "markdown",
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "p63J-QmUrMN-"
},
"outputs": [],
"source": [
"Copyright (c) Microsoft Corporation. All rights reserved.\n",
"\n",
"Licensed under the MIT License."
"# Copyright (c) Microsoft Corporation. All rights reserved.\n",
"# Licensed under the MIT License."
]
},
{
Expand All @@ -19,6 +20,8 @@
"source": [
"# Pretrained Weights\n",
"\n",
"_Written by: Nils Lehmann_\n",
"\n",
"In this tutorial, we demonstrate some available pretrained weights in TorchGeo. The implementation follows torchvisions' recently introduced [Multi-Weight API](https://pytorch.org/blog/introducing-torchvision-new-multi-weight-support-api/). We will use the [EuroSAT](https://torchgeo.readthedocs.io/en/stable/api/datasets.html#eurosat) dataset throughout this tutorial. Specifically, a subset containing only 100 images.\n",
"\n",
"It's recommended to run this notebook on Google Colab if you don't have your own GPU. Click the \"Open in Colab\" button above to get started."
Expand Down Expand Up @@ -147,9 +150,11 @@
"source": [
"## Weights\n",
"\n",
"Available pretrained weights are listed on the model documentation [page](https://torchgeo.readthedocs.io/en/stable/api/models.html). While some weights only accept RGB channel input, some weights have been pretrained on Sentinel 2 imagery with 13 input channels and can hence prove useful for transfer learning tasks involving Sentinel 2 data.\n",
"Pretrained weights for `torchgeo.models` are available and sorted by satellite or sensor type: sensor-agnostic, Landsat, NAIP, Sentinel-1, and Sentinel-2. Refer to the [model documentation](https://torchgeo.readthedocs.io/en/stable/api/models.html#pretrained-weights) for a complete list of weights. Choose from the provided pre-trained weights based on your specific use case.\n",
"\n",
"While some weights only accept RGB channel input, some weights have been pretrained on Sentinel-2 imagery with 13 input channels and can hence prove useful for transfer learning tasks involving Sentinel-2 data.\n",
"\n",
"To access these weights you can do the following:"
"To use these weights, you can load them as follows:"
]
},
{
Expand All @@ -169,7 +174,16 @@
"id": "EIpnXuXgrMOM"
},
"source": [
"This set of weights is a torchvision `WeightEnum` and holds information such as the download url link or additional meta data. TorchGeo takes care of the downloading and initialization of models with a desired set of weights. Given that EuroSAT is a classification dataset, we can use a `ClassificationTask` object that holds the model and optimizer object as well as the training logic."
"This set of weights is a torchvision `WeightEnum` and holds information such as the download url link or additional meta data. TorchGeo takes care of the downloading and initialization of models with a desired set of weights. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"`torchgeo.trainers` provides specialized task classes that simplify training workflows for common geospatial tasks. Depending on your objective, you can select the appropriate trainer class, such as `ClassificationTask` for classification, `SemanticSegmentationTask` for semantic segmentation, or other task-specific trainers. Check the [trainers documentation](https://torchgeo.readthedocs.io/en/stable/api/trainers.html) for more information.\n",
"\n",
"Given that EuroSAT is a classification dataset, we can use a `ClassificationTask` object that holds the model and optimizer as well as the training logic."
]
},
{
Expand Down Expand Up @@ -495,7 +509,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.8"
"version": "3.13.0"
},
"vscode": {
"interpreter": {
Expand All @@ -504,5 +518,5 @@
}
},
"nbformat": 4,
"nbformat_minor": 0
"nbformat_minor": 4
}
Loading

0 comments on commit f9d6797

Please sign in to comment.