A toolkit for geo ML data processing and model evaluation (fork of solaris)

Overview

lunular

An open source ML toolkit for overhead imagery.

PyPI python version PyPI build docs license

This is a beta version of lunular which may continue to develop. Please report any bugs through issues!


This library is a minimal fork of the solaris project by CosmiQ Works. Currently, the focus of this library is to extract the dataset preprocessing and evaluation methods that do not depend on tensorflow or pytorch, in order to produce a relatively light, framework agnostic package for preparing geospatial ML datasets and evaluating geospatial ML results.

This repository provides the source code for the lunular project, which provides software tools for:

  • Tiling large-format overhead images and vector labels
  • Converting between geospatial raster and vector formats and machine learning-compatible formats
  • Evaluating performance of deep learning model predictions, including semantic and instance segmentation, object detection, and related tasks

Documentation

The full documentation for lunular can be found at https://lunular.readthedocs.io, and includes:

  • A summary of lunular
  • Installation instructions
  • API Documentation
  • Tutorials for common uses

The documentation is still being improved, so if a tutorial you need isn't there yet, check back soon or post an issue!

Installation Instructions

coming soon: One-command installation from conda-forge.

We recommend creating a conda environment with the dependencies defined in environment.yml before installing lunular. After cloning the repository:

cd lunular

If you're installing on a system with GPU access:

conda env create -n lunular -f environment-gpu.yml

Otherwise:

conda env create -n lunular -f environment.yml

Finally, regardless of your installation environment:

conda activate lunular
pip install .

pip

The package also exists on PyPI, but note that some of the dependencies, specifically rtree and gdal, are challenging to install without anaconda. We therefore recommend installing at least those dependencies using conda before installing from PyPI.

conda install -c conda-forge rtree gdal=2.4.1
pip install lunular

If you don't want to use conda, you can install libspatialindex, then pip install rtree. Installing GDAL without conda can be very difficult and approaches vary dramatically depending upon the build environment and version, but the rasterio install documentation provides OS-specific install instructions. Simply follow their install instructions, replacing pip install rasterio with pip install lunular at the end.

Dependencies

All dependencies can be found in the requirements file ./requirements.txt or environment.yml

License

See LICENSE.

Owner
Ryan Avery
Ryan Avery
This is the code repository for Interpretable Machine Learning with Python, published by Packt.

Interpretable Machine Learning with Python, published by Packt

Packt 299 Jan 02, 2023
Python factor analysis library (PCA, CA, MCA, MFA, FAMD)

Prince is a library for doing factor analysis. This includes a variety of methods including principal component analysis (PCA) and correspondence anal

Max Halford 915 Dec 31, 2022
ZenML 🙏: MLOps framework to create reproducible ML pipelines for production machine learning.

ZenML is an extensible, open-source MLOps framework to create production-ready machine learning pipelines. It has a simple, flexible syntax, is cloud and tool agnostic, and has interfaces/abstraction

ZenML 2.6k Jan 08, 2023
Pandas-method-chaining is a plugin for flake8 that provides method chaining linting for pandas code

pandas-method-chaining pandas-method-chaining is a plugin for flake8 that provides method chaining linting for pandas code. It is a fork from pandas-v

Francis 5 May 14, 2022
Automated Time Series Forecasting

AutoTS AutoTS is a time series package for Python designed for rapidly deploying high-accuracy forecasts at scale. There are dozens of forecasting mod

Colin Catlin 652 Jan 03, 2023
Automatically build ARIMA, SARIMAX, VAR, FB Prophet and XGBoost Models on Time Series data sets with a Single Line of Code. Now updated with Dask to handle millions of rows.

Auto_TS: Auto_TimeSeries Automatically build multiple Time Series models using a Single Line of Code. Now updated with Dask. Auto_timeseries is a comp

AutoViz and Auto_ViML 519 Jan 03, 2023
Anomaly Detection and Correlation library

luminol Overview Luminol is a light weight python library for time series data analysis. The two major functionalities it supports are anomaly detecti

LinkedIn 1.1k Jan 01, 2023
A modular active learning framework for Python

Modular Active Learning framework for Python3 Page contents Introduction Active learning from bird's-eye view modAL in action From zero to one in a fe

modAL 1.9k Dec 31, 2022
Programming assignments and quizzes from all courses within the Machine Learning Engineering for Production (MLOps) specialization offered by deeplearning.ai

Machine Learning Engineering for Production (MLOps) Specialization on Coursera (offered by deeplearning.ai) Programming assignments from all courses i

Aman Chadha 173 Jan 05, 2023
Predicting Keystrokes using an Audio Side-Channel Attack and Machine Learning

Predicting Keystrokes using an Audio Side-Channel Attack and Machine Learning My

3 Apr 10, 2022
Code Repository for Machine Learning with PyTorch and Scikit-Learn

Code Repository for Machine Learning with PyTorch and Scikit-Learn

Sebastian Raschka 1.4k Jan 03, 2023
Machine Learning Algorithms ( Desion Tree, XG Boost, Random Forest )

implementation of machine learning Algorithms such as decision tree and random forest and xgboost on darasets then compare results for each and implement ant colony and genetic algorithms on tsp map,

Mohamadreza Rezaei 1 Jan 19, 2022
Predict the demand for electricity (R) - FRENCH

06.demand-electricity Predict the demand for electricity (R) - FRENCH Prédisez la demande en électricité Prérequis Pour effectuer ce projet, vous devr

1 Feb 13, 2022
Crunchdao - Python API for the Crunchdao machine learning tournament

Python API for the Crunchdao machine learning tournament Interact with the Crunc

3 Jan 19, 2022
Required for a machine learning pipeline data preprocessing and variable engineering script needs to be prepared

Feature-Engineering Required for a machine learning pipeline data preprocessing and variable engineering script needs to be prepared. When the dataset

kemalgunay 5 Apr 21, 2022
scikit-learn models hyperparameters tuning and feature selection, using evolutionary algorithms.

Sklearn-genetic-opt scikit-learn models hyperparameters tuning and feature selection, using evolutionary algorithms. This is meant to be an alternativ

Rodrigo Arenas 180 Dec 20, 2022
A Python package for time series classification

pyts: a Python package for time series classification pyts is a Python package for time series classification. It aims to make time series classificat

Johann Faouzi 1.4k Jan 01, 2023
Simplify stop motion animation with machine learning.

Simplify stop motion animation with machine learning.

Nick Bild 25 Sep 15, 2022
Decision Tree Regression algorithm implemented on Python from scratch.

Decision_Tree_Regression I implemented the decision tree regression algorithm on Python. Unlike regular linear regression, this algorithm is used when

1 Dec 22, 2021
GroundSeg Clustering Optimized Kdtree

ground seg and clustering based on kitti velodyne data, and a additional optimized kdtree for knn and radius nn search

2 Dec 02, 2021