terragpu

Python library to process and classify remote sensing imagery by means of GPUs and ML.

https://github.com/nasa-nccs-hpda/terragpu

Science Score: 85.0%

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

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    2 of 2 committers (100.0%) from academic institutions
  • Institutional organization owner
    Organization nasa-nccs-hpda has institutional domain (science.gsfc.nasa.gov)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (20.1%) to scientific vocabulary

Keywords

ai cudf cupy cuspatial dask earth-science geopandas gpu ml numpy raster vector
Last synced: 6 months ago · JSON representation ·

Repository

Python library to process and classify remote sensing imagery by means of GPUs and ML.

Basic Info
  • Host: GitHub
  • Owner: nasa-nccs-hpda
  • License: apache-2.0
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 23.7 MB
Statistics
  • Stars: 9
  • Watchers: 3
  • Forks: 1
  • Open Issues: 5
  • Releases: 2
Topics
ai cudf cupy cuspatial dask earth-science geopandas gpu ml numpy raster vector
Created over 5 years ago · Last pushed almost 2 years ago
Metadata Files
Readme Changelog Contributing License Citation

README.md

terragpu

Python library to process and classify remote sensing imagery by means of GPUs and CPU parallelization for high performance and commodity base environments.

We are currently working on tutorials and documentations. Feel to follow this repository for documentation updates and upcoming tutorials.

DOI Pipeline Status

Objectives

  • Library to process remote sensing imagery using GPU and CPU parallelization.
  • Machine Learning and Deep Learning image classification and regression.
  • Agnostic array and vector-like data structures.
  • User interface environments via Notebooks for easy to use AI/ML projects.
  • Example notebooks for quick AI/ML start with your own data.

Installation

The following library is intended to be used to accelerate the development of data science products for remote sensing satellite imagery. terragpu can be installed by itself, but instructions for installing the full environments are listed under the requirements directory so projects, examples, and notebooks can be run.

Note: PIP installations do not include CUDA libraries for GPU support. Make sure NVIDIA libraries are installed locally in the system if not using conda.

Getting Started

bash ├── archives <- Legacy code stored to historical reference ├── docs <- Default documentation for working with this project ├── images <- Store project images ├── notebooks <- Jupyter notebooks ├── examples <- Examples for utilizing the library ├── requirements <- Requirements for installing the dependencies ├── scripts <- Utility scripts for analysis ├── terragpu <- Library source code ├── README.md <- The top-level README for developers using this project ├── CHANGELOG.md <- Releases documentation ├── LICENSE <- License documentation └── setup.py <- Script to install library

Background

Library to process and classify remote sensing imagery. This is work in progress currently supporting Random Forest classification and merging Convolutional Neural Networks from the deep-rsensing project. Each particular project includes its own README with information.

Raster processing relies in xarray and rasterio for memory mapping operations, using Dask as the backend. PyTorch is implemented for GPU accelaration of Sckitlearn models. GPU acceleration is provided by the NVIDIA RAPIDS environment and we are in the development phase to support AMD GPUs.

Authors

  • Jordan Alexis Caraballo-Vega, jordan.a.caraballo-vega@nasa.gov
  • Margaret Wooten, margaret.wooten@nasa.gov

Contributors

  • Andrew Weis, aweis1998@icloud.com
  • Brian Lee, brianlee52@bren.ucsb.edu

Installation

See the build guide.

Contributing

Please see our guide for contributing to terragpu.

References

Tutorials will be published under Medium for additional support and development, including how to use the library or any upcoming releases.

Please consider citing this when using terragpu in a project. You can use the citation BibTeX:

bibtex @software{ A_Caraballo-Vega_TerraGPU_2020, author = {A Caraballo-Vega, Jordan}, doi = {10.5281/zenodo.5765917}, license = {Apache-2.0}, month = {7}, title = {{TerraGPU}}, url = {https://github.com/nasa-cisto-ai/terragpu}, version = {2021.11}, year = {2020} }

References

[1] Raschka, S., Patterson, J., & Nolet, C. (2020). Machine learning in python: Main developments and technology trends in data science, machine learning, and artificial intelligence. Information, 11(4), 193.

[2] Paszke, Adam; Gross, Sam; Chintala, Soumith; Chanan, Gregory; et all, PyTorch, (2016), GitHub repository, https://github.com/pytorch/pytorch. Accessed 13 February 2020.

[3] Caraballo-Vega, J., Carroll, M., Li, J., & Duffy, D. (2021, December). Towards Scalable & GPU Accelerated Earth Science Imagery Processing: An AI/ML Case Study. In AGU Fall Meeting 2021. AGU.

Owner

  • Name: High Performance Data Analytics
  • Login: nasa-nccs-hpda
  • Kind: organization

NASA GSFC Data Science Group

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: TerraGPU
abstract: >-
  Python library to process and classify remote sensing imagery
  by means of GPUs and AI/ML
date-released: 2020-07-01
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - family-names: Caraballo-Vega
    name-particle: A
    given-names: Jordan
    email: jordan.a.caraballo-vega@nasa.gov
    affiliation: NASA GSFC
    orcid: 'https://orcid.org/0000-0001-9125-5591'
version: 2021.11
doi: "10.5281/zenodo.5765917"
license: "Apache-2.0"
url: "https://github.com/nasa-cisto-ai/terragpu"
repository-code: "https://github.com/nasa-cisto-ai/terragpu"
keywords:
  - gpus
  - earth science
  - machine learning
  - deep learning
  - artificial intelligence

GitHub Events

Total
  • Watch event: 3
Last Year
  • Watch event: 3

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 222
  • Total Committers: 2
  • Avg Commits per committer: 111.0
  • Development Distribution Score (DDS): 0.005
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Jordan A Caraballo-Vega j****a@n****v 221
Jordan A Caraballo-Vega j****a@n****v 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 7
  • Total pull requests: 1
  • Average time to close issues: 5 days
  • Average time to close pull requests: N/A
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 0.29
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • jordancaraballo (7)
Pull Request Authors
  • TrellixVulnTeam (1)
Top Labels
Issue Labels
enhancement (4)
Pull Request Labels

Dependencies

.github/workflows/main.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • docker/build-push-action v2 composite
  • docker/login-action v1 composite
  • docker/setup-buildx-action v1 composite
requirements/Dockerfile docker
  • ${FROM_IMAGE} ${RAPIDS_VER}-cuda${CUDA_VER}-base-${LINUX_VER} build
setup.py pypi