OMLT  by cog-imperial

Python package for representing ML models as Pyomo optimization formulations

Created 4 years ago
329 stars

Top 83.0% on SourcePulse

GitHubView on GitHub
Project Summary

OMLT (Optimization and Machine Learning Toolkit) enables the integration of trained machine learning models, specifically neural networks and gradient-boosted trees, into Pyomo optimization frameworks. It targets researchers and engineers who need to embed predictive models within formal optimization problems, allowing for hybrid optimization and simulation workflows.

How It Works

OMLT translates ML models into mathematical formulations suitable for optimization solvers. It supports various representations, including full-space, reduced-space, and MILP formulations for neural networks, and interfaces with Keras and ONNX models. This approach allows for the rigorous analysis and optimization of systems that incorporate complex ML components, leveraging the power of established optimization solvers.

Quick Start & Requirements

Highlighted Details

  • Supports sequential Keras and general ONNX model imports.
  • Offers multiple formulation types (FullSpaceNNFormulation, etc.).
  • Includes scaling and input bound handling for model integration.
  • Cites multiple papers for specific model types (NNs, GBTs, GNNs).

Maintenance & Community

The project has contributions from researchers at Imperial College London and Sandia National Laboratories, with funding from various institutions and industry partners (BASF SE). Development tasks are managed using just.

Licensing & Compatibility

The license is not explicitly stated in the README. Compatibility for commercial use or closed-source linking would require clarification of the license.

Limitations & Caveats

The README does not specify the project's license, which is crucial for determining commercial use and compatibility with closed-source projects. Support for specific ML frameworks beyond Keras and ONNX is not detailed.

Health Check
Last Commit

5 months ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
1
Star History
2 stars in the last 30 days

Explore Similar Projects

Starred by Junyang Lin Junyang Lin(Core Maintainer at Alibaba Qwen), Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), and
3 more.

neural-compressor by intel

0.2%
2k
Python library for model compression (quantization, pruning, distillation, NAS)
Created 5 years ago
Updated 16 hours ago
Starred by Travis Addair Travis Addair(Cofounder of Predibase), Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), and
10 more.

hummingbird by microsoft

0.0%
3k
Compiler for trained ML models into tensor computation
Created 5 years ago
Updated 2 months ago
Starred by Elie Bursztein Elie Bursztein(Cybersecurity Lead at Google DeepMind), Omar Khattab Omar Khattab(Coauthor of DSPy, ColBERT; Professor at MIT), and
15 more.

gpt-neo by EleutherAI

0.0%
8k
GPT-2/3-style model implementation using mesh-tensorflow
Created 5 years ago
Updated 3 years ago
Starred by Aravind Srinivas Aravind Srinivas(Cofounder of Perplexity), Li Jiang Li Jiang(Coauthor of AutoGen; Engineer at Microsoft), and
6 more.

numpy-ml by ddbourgin

0.1%
16k
ML algorithms implemented in NumPy
Created 6 years ago
Updated 1 year ago
Feedback? Help us improve.