Modelforge

Modelforge is a foundation for sharing trained machine learning models. It is a set of command line
tools and a Python library. Modelforge maintains model files in a third-party remote storage service
("cloud") using the backend mechanism. Model metadata (download links, names, descriptions, versions,
etc.) resides in a Git repository called the "Index", and documentation is automatically generated
there. Modelforge does no assumptions about the models: they can be of any origin, such as TensorFlow,
scikit-learn, or your custom. The underlying model storage format -
Advanced Scientific Data Format - can wrap any data
easily and efficiently, but it's the developer's responsibility to convert.
Learn more about:
- Why? - what problem Modelforge tries to solve.
- Modelforge model - what is a model in Modelforge context.
- Model storage format - low-level serialization details.
- Backends - extension system to upload and download models from clouds.
- Git Index - how documentation about the models is generated from the structured metadata.
- Command line tools - how to perform typical operations.
- API - Modelforge API for developers.
Who uses Modelforge?
Install
You can run Modelforge through Docker:
docker run -it --rm srcd/modelforge --help
or install it using the Python package manager:
pip3 install modelforge
Usage
The project exposes two interfaces: command line and API.
Contributions
Contributions are pretty much welcome! Please follow the contributions guide
and the code of conduct.
If you wish to make your MLonCode model available in src-d/models,
please fork that repository and run modelforge publish
to upload your model on your fork. Then
create a pull request. You should provide read access to the model file for everybody. If you
consider using our Google Cloud Storage bucket, feel free to contact us through GitHub issues.
License
Apache 2.0.