microsoft / torchgeo

TorchGeo: datasets, samplers, transforms, and pre-trained models for geospatial data
https://www.osgeo.org/projects/torchgeo/
MIT License
2.7k stars 333 forks source link

Support additional SatlasPretrain models. #1861

Open piperwolters opened 8 months ago

piperwolters commented 8 months ago

Checkpoint

Summary

I see that a couple SatlasPretrain models have been merged and will be included in the 0.6.0 release, which is great! I'm hoping that additional pretrained weights and models could be integrated, specifically the Sentinel-1 and Landsat models as well as models with varying number of input images and bands.

We recently released the satlaspretrain-models package which makes it easy to load the various pretrained models. I could make a PR to torchgeo to include more pretrained models, either 1) using the code that was put in place in the above PR or 2) using this new satlaspretrain-models package. Wondering if you all have a preference? Thanks!

Rationale

SatlasPretrain models improve performance and speed up training on downstream tasks, as opposed to training from scratch. It would be great to have these models easily accessible for torchgeo users.

Implementation

Either follow the pattern from this merged PR or utilize the satlaspretrain-models package.

Alternatives

No response

Additional information

No response

adamjstewart commented 8 months ago

Yes, we would love to get the rest of the SatlasPretrain models in TorchGeo so they're as easy as possible for our users to access!

My preference would be for option 1. This avoids adding "yet another dependency" and integrates nicely with our Lightning trainers. Note that we've really only added backbones in TorchGeo so far. We would like to add decoders as well, but haven't yet put a lot of thought into how the API should work.

P.S. When we added the first couple SatlasPretrain models, we assumed they were under the Apache-2.0 license, but based on this new repo it seems they are actually ODC-BY. Is this correct? I'll update our documentation if so.

FYI @favyen2

piperwolters commented 8 months ago

Okay, sounds good. I will just start by adding the additional backbones in a PR, and if you all come up with a plan or skeleton for decoders, I can make a PR for that later.

And yes, our data and model checkpoints are under ODC-BY and the code is Apache 2.0. Thank you!

isaaccorley commented 8 months ago

@piperwolters I added the previous Satlas checkpoints. If you need any help let me know! We are also active on the TorchGeo slack channel if you want to discuss.

adamjstewart commented 7 months ago

Is this completed by #1884?

piperwolters commented 7 months ago

@adamjstewart That first PR only added single-image Swin backbones. Would like to add multi-image backbones and decoders eventually, but don't necessarily need to keep this issue open for that.

adamjstewart commented 7 months ago

Nah, let's keep it open. You could add a bullet point list to the issue like:

if you want to track progress on completion.

adamjstewart commented 2 months ago

Additional remaining backbones added in #2038