model

The Clay Foundation Model - An open source AI model and interface for Earth

https://github.com/clay-foundation/model

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.4%) to scientific vocabulary

Keywords

digital-elevation-model earth-observation embeddings foundation-model sentinel-1 sentinel-2
Last synced: 6 months ago · JSON representation

Repository

The Clay Foundation Model - An open source AI model and interface for Earth

Basic Info
Statistics
  • Stars: 482
  • Watchers: 23
  • Forks: 79
  • Open Issues: 39
  • Releases: 3
Topics
digital-elevation-model earth-observation embeddings foundation-model sentinel-1 sentinel-2
Created over 2 years ago · Last pushed 8 months ago
Metadata Files
Readme License Code of conduct

README.md

Clay Foundation Model

Jupyter Book Badge Deploy Book Status

An open source AI model and interface for Earth.

License

Clay Model is licensed under the Apache. This applies to the source code as well as the trained model weights.

The Documentation is licensed under the CC-BY-4.0 license.

Quickstart

Launch into a JupyterLab environment on

| Binder | SageMaker Studio Lab | |:--:|:--:| | Binder | Open in SageMaker Studio Lab |

Installation

Pip Installation (Recommended)

The easiest way to install Clay Foundation Model is via pip:

pip install git+https://github.com/Clay-foundation/model.git

This will install the claymodel package and all its dependencies. You can then import and use it in your Python code:

python from claymodel.datamodule import ClayDataModule from claymodel.module import ClayMAEModule

Development Installation

For development or advanced usage, you can set up the full development environment:

To help out with development, start by cloning this repo-url

git clone <repo-url>
cd model

Then we recommend using mamba to install the dependencies. A virtual environment will also be created with Python and JupyterLab installed.

mamba env create --file environment.yml

[!NOTE] The command above has been tested on Linux devices with CUDA GPUs.

Activate the virtual environment first.

mamba activate claymodel

Finally, double-check that the libraries have been installed.

mamba list

Usage

Running jupyter lab

mamba activate claymodel
python -m ipykernel install --user --name claymodel  # to install virtual env properly
jupyter kernelspec list --json                       # see if kernel is installed
jupyter lab &

Running the model

The neural network model can be ran via LightningCLI v2.

[!NOTE] If you installed via pip, you'll need to clone the repository to access the trainer script and config files.

To check out the different options available, and look at the hyperparameter configurations, run:

python trainer.py --help

To quickly test the model on one batch in the validation set:

python trainer.py fit --model ClayMAEModule --data ClayDataModule --config configs/config.yaml --trainer.fast_dev_run=True

To train the model:

python trainer.py fit --model ClayMAEModule --data ClayDataModule --config configs/config.yaml

More options can be found using python trainer.py fit --help, or at the LightningCLI docs.

Contributing

Writing documentation

Our Documentation uses Jupyter Book.

Install it with: bash pip install -U jupyter-book

Then build it with: bash jupyter-book build docs/

You can preview the site locally with: bash python -m http.server --directory _build/html

There is a GitHub Action on ./github/workflows/deploy-docs.yml that builds the site and pushes it to GitHub Pages.

Owner

  • Name: Clay-foundation
  • Login: Clay-foundation
  • Kind: organization

GitHub Events

Total
  • Create event: 8
  • Commit comment event: 1
  • Release event: 1
  • Issues event: 15
  • Watch event: 113
  • Delete event: 9
  • Issue comment event: 49
  • Push event: 76
  • Pull request review comment event: 7
  • Pull request review event: 18
  • Pull request event: 28
  • Fork event: 33
Last Year
  • Create event: 8
  • Commit comment event: 1
  • Release event: 1
  • Issues event: 15
  • Watch event: 113
  • Delete event: 9
  • Issue comment event: 49
  • Push event: 76
  • Pull request review comment event: 7
  • Pull request review event: 18
  • Pull request event: 28
  • Fork event: 33

Committers

Last synced: 6 months ago

All Time
  • Total Commits: 128
  • Total Committers: 20
  • Avg Commits per committer: 6.4
  • Development Distribution Score (DDS): 0.719
Past Year
  • Commits: 15
  • Committers: 10
  • Avg Commits per committer: 1.5
  • Development Distribution Score (DDS): 0.733
Top Committers
Name Email Commits
Daniel Wiesmann y****p@u****m 36
Wei Ji 2****4@u****m 36
Bruno Sánchez-Andrade Nuño b****n@g****m 18
Soumya Ranjan Mohanty v****2@g****m 11
Lilly Thomas l****y@d****g 8
pre-commit-ci[bot] 6****]@u****m 4
Maxime Lenormand 4****d@u****m 2
Aimee Barciauskas a****e@d****g 1
Bill Morris b****l@b****o 1
Brayden Zhang 6****g@u****m 1
Chuck Daniels c****4@g****m 1
Dan Bonomo d****o@g****m 1
Ferdinand Schenck f****k@g****m 1
Jonas 5****r@u****m 1
Kevin Booth k****n@k****g 1
Michele Claus 3****e@u****m 1
Ryan Avery r****y@g****m 1
SRM s****a@d****g 1
Tyler Erickson t****n@g****m 1
kelseyjosund 5****d@u****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 137
  • Total pull requests: 175
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 14 days
  • Total issue authors: 32
  • Total pull request authors: 25
  • Average comments per issue: 2.77
  • Average comments per pull request: 0.86
  • Merged pull requests: 126
  • Bot issues: 0
  • Bot pull requests: 5
Past Year
  • Issues: 14
  • Pull requests: 29
  • Average time to close issues: 5 days
  • Average time to close pull requests: 5 days
  • Issue authors: 11
  • Pull request authors: 12
  • Average comments per issue: 1.29
  • Average comments per pull request: 0.52
  • Merged pull requests: 17
  • Bot issues: 0
  • Bot pull requests: 2
Top Authors
Issue Authors
  • brunosan (47)
  • yellowcap (34)
  • lillythomas (8)
  • weiji14 (7)
  • robmarkcole (2)
  • romeokienzler (2)
  • MaceGrim (2)
  • pkopparla (1)
  • enemni (1)
  • dokterbob (1)
  • Geethen (1)
  • danhammer (1)
  • patriksabol (1)
  • bgheneti (1)
  • ritwikvashistha (1)
Pull Request Authors
  • yellowcap (81)
  • weiji14 (51)
  • srmsoumya (37)
  • brunosan (36)
  • lillythomas (19)
  • pre-commit-ci[bot] (8)
  • wboykinm (4)
  • MaxLenormand (4)
  • tylere (2)
  • clausmichele (2)
  • yeelauren (2)
  • chuckwondo (2)
  • dbonomo (2)
  • benoitdechateauvieux (2)
  • jonasViehweger (2)
Top Labels
Issue Labels
data-pipeline (11) benchmark (8) bug (7) enhancement (5) operational (5) documentation (2) help wanted (2) question (1) maintenance (1)
Pull Request Labels
documentation (16) data-pipeline (12) maintenance (7) model-architecture (4) enhancement (1)

Packages

  • Total packages: 2
  • Total downloads: unknown
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 4
proxy.golang.org: github.com/clay-foundation/model
  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 6.4%
Average: 6.7%
Dependent repos count: 6.9%
Last synced: 6 months ago
proxy.golang.org: github.com/Clay-foundation/model
  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 6.4%
Average: 6.7%
Dependent repos count: 6.9%
Last synced: 6 months ago

Dependencies

.github/workflows/test.yml actions
  • actions/checkout b4ffde65f46336ab88eb53be808477a3936bae11 composite
  • mamba-org/setup-micromamba db1df3ba9e07ea86f759e98b575c002747e9e757 composite
environment.yml pypi
pyproject.toml pypi