All Projects → zyfra → Ebonite

zyfra / Ebonite

Licence: apache-2.0
machine learning lifecycle framework

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Ebonite

Pai
Resource scheduling and cluster management for AI
Stars: ✭ 2,223 (+1063.87%)
Mutual labels:  ai
Sunfish
Sunfish: a Python Chess Engine in 111 lines of code
Stars: ✭ 2,254 (+1080.1%)
Mutual labels:  ai
Microsoft Student Partner Workshop Learning Materials Ai Nlp
This repository contains all codes and materials of the current session. It contains the required code on Natural Language Processing, Artificial intelligence.
Stars: ✭ 187 (-2.09%)
Mutual labels:  ai
Atari
AI research environment for the Atari 2600 games 🤖.
Stars: ✭ 174 (-8.9%)
Mutual labels:  ai
Machinelearning ng
吴恩达机器学习coursera课程,学习代码(2017年秋) The Stanford Coursera course on MachineLearning with Andrew Ng
Stars: ✭ 181 (-5.24%)
Mutual labels:  ai
Easymodels
Easily find and view pre-trained AI models and deep learning projects through the command line 💻
Stars: ✭ 186 (-2.62%)
Mutual labels:  ai
Transmogrifai
TransmogrifAI (pronounced trăns-mŏgˈrə-fī) is an AutoML library for building modular, reusable, strongly typed machine learning workflows on Apache Spark with minimal hand-tuning
Stars: ✭ 2,084 (+991.1%)
Mutual labels:  ai
Hyperdash Sdk Py
Official Python SDK for Hyperdash
Stars: ✭ 190 (-0.52%)
Mutual labels:  ai
Deeplearning.ai Note
网易云课堂终于官方发布了吴恩达经过授权的汉化课程-“”深度学习专项课程“”,这是自己做的一些笔记以及代码。下为网易云学习链接
Stars: ✭ 181 (-5.24%)
Mutual labels:  ai
Pytorch Lightning
The lightweight PyTorch wrapper for high-performance AI research. Scale your models, not the boilerplate.
Stars: ✭ 16,641 (+8612.57%)
Mutual labels:  ai
Tock
Tock - the open source conversational AI toolkit
Stars: ✭ 175 (-8.38%)
Mutual labels:  ai
Htframework
Unity HTFramework, a rapid development framework of client to the unity.
Stars: ✭ 179 (-6.28%)
Mutual labels:  ai
Clearml Server
ClearML - Auto-Magical Suite of tools to streamline your ML workflow. Experiment Manager, ML-Ops and Data-Management
Stars: ✭ 186 (-2.62%)
Mutual labels:  ai
04 battletank
An open-world head-to-head tank fight with simple AI, terrain, and advanced control system in Unreal 4. (ref: BT_URC) http://gdev.tv/urcgithub
Stars: ✭ 172 (-9.95%)
Mutual labels:  ai
Go Matrix
First version of go-MATRIX, especially for TPS optimization and AI
Stars: ✭ 187 (-2.09%)
Mutual labels:  ai
Eddi
Scalable Open Source Chatbot Platform. Build multiple Chatbots with NLP, Behavior Rules, API Connector, Templating. Developed in Java, provided with Docker, orchestrated with Kubernetes or Openshift.
Stars: ✭ 171 (-10.47%)
Mutual labels:  ai
Awesome Game Ai
Awesome Game AI materials of Multi-Agent Reinforcement Learning
Stars: ✭ 185 (-3.14%)
Mutual labels:  ai
Deep Learning Paper Review And Practice
꼼꼼한 딥러닝 논문 리뷰와 코드 실습
Stars: ✭ 184 (-3.66%)
Mutual labels:  ai
Classifai
Enhance your WordPress content with Artificial Intelligence and Machine Learning services.
Stars: ✭ 188 (-1.57%)
Mutual labels:  ai
Chatbot
一个可以自己进行训练的中文聊天机器人, 根据自己的语料训练出自己想要的聊天机器人,可以用于智能客服、在线问答、智能聊天等场景。目前包含seq2seq、seqGAN版本、tf2.0版本、pytorch版本。
Stars: ✭ 2,441 (+1178.01%)
Mutual labels:  ai

.. image:: ebonite.jpg .. start-badges

.. list-table:: :stub-columns: 1

* - docs
  - |docs| |slack|
* - tests
  - | |build| |coveralls|
* - package
  - | |version| |wheel| |downloads| |supported-versions|
    | |commits-since|

.. |docs| image:: https://readthedocs.org/projects/ebonite/badge/?style=flat :target: https://readthedocs.org/projects/ebonite :alt: Documentation Status

.. |build| image:: https://github.com/zyfra/ebonite/workflows/tox/badge.svg :alt: Actions Status :target: https://github.com/zyfra/ebonite/actions

.. |requires| image:: https://requires.io/github/zyfra/ebonite/requirements.svg?branch=master :alt: Requirements Status :target: https://requires.io/github/zyfra/ebonite/requirements/?branch=master

.. |coveralls| image:: https://coveralls.io/repos/github/zyfra/ebonite/badge.svg?branch=master :alt: Coverage Status :target: https://coveralls.io/r/zyfra/ebonite

.. |codecov| image:: https://codecov.io/github/zyfra/ebonite/coverage.svg?branch=master :alt: Coverage Status :target: https://codecov.io/github/zyfra/ebonite

.. |landscape| image:: https://landscape.io/github/zyfra/ebonite/master/landscape.svg?style=flat :target: https://landscape.io/github/zyfra/ebonite/master :alt: Code Quality Status

.. |version| image:: https://img.shields.io/pypi/v/ebonite.svg :alt: PyPI Package latest release :target: https://pypi.org/project/ebonite

.. |downloads| image:: https://pepy.tech/badge/ebonite :alt: PyPI downloads :target: https://pepy.tech/project/ebonite

.. |slack| image:: https://img.shields.io/badge/ODS-slack-red :alt: ODS slack channel :target: https://app.slack.com/client/T040HKJE3/CR1K8N2KA

.. |commits-since| image:: https://img.shields.io/github/commits-since/zyfra/ebonite/v0.7.0.svg :alt: Commits since latest release :target: https://github.com/zyfra/ebonite/compare/v0.7.0...dev

.. |wheel| image:: https://img.shields.io/pypi/wheel/ebonite.svg :alt: PyPI Wheel :target: https://pypi.org/project/ebonite

.. |supported-versions| image:: https://img.shields.io/pypi/pyversions/ebonite.svg :alt: Supported versions :target: https://pypi.org/project/ebonite

.. |supported-implementations| image:: https://img.shields.io/pypi/implementation/ebonite.svg :alt: Supported implementations :target: https://pypi.org/project/ebonite

.. end-badges

Ebonite is a machine learning lifecycle framework. It allows you to persist your models and reproduce them (as services or in general).

Installation

::

pip install ebonite

Quickstart

Before you start with Ebonite you need to have your model. This could be a model from your favorite library (list of supported libraries is below) or just a custom Python function working with typical machine learning data.

.. code-block:: python

import numpy as np def clf(data): return (np.sum(a, axis=-1) > 1).astype(np.int32)

Moreover, your custom function can wrap a model from some library. This gives you flexibility to use not only pure ML models but rule-based ones (e.g., as a service stub at project start) and hybrid (ML with pre/postprocessing) ones which are often applied to solve real world problems.

When a model is prepared you should create an Ebonite client.

.. code-block:: python

from ebonite import Ebonite ebnt = Ebonite.local()

Then create a task and push your model object with some sample data. Sample data is required for Ebonite to determine structure of inputs and outputs for your model.

.. code-block:: python

task = ebnt.get_or_create_task('my_project', 'my_task') model = task.create_and_push_model(clf, test_x, 'my_clf')

You are awesome! Now your model is safely persisted in a repository.

Later on in other Python process you can load your model from this repository and do some wonderful stuff with it, e.g., create a Docker image named my_service with an HTTP service wrapping your model.

.. code-block:: python

from ebonite import Ebonite ebnt = Ebonite.local() task = ebnt.get_or_create_task('my_project', 'my_task') model = client.get_model('my_clf', task) client.build_image('my_service', model)

Check out examples (in examples <examples/>_ directory) and documentation to learn more.

Documentation

... is available here <https://ebonite.readthedocs.io/en/latest/>_

Examples

... are available in this folder </examples/>_. Here are some of them:

  • Jupyter Notebook guide </examples/notebook_tutorial/ebonite_tutorial.ipynb>_
  • Scikit-learn guide </examples/sklearn_model/>_
  • TensorFlow 2.0 </examples/tensorflow_v2_example/>_
  • etc.

Supported libraries and repositories

  • Models

    • your arbitrary Python function

    • scikit-learn

    • TensorFlow (1.x and 2.x)

    • XGBoost

    • LightGBM

    • PyTorch

    • CatBoost

  • Model input / output data

    • NumPy

    • pandas

    • images

  • Model repositories

    • in-memory

    • local filesystem

    • SQLAlchemy

    • Amazon S3

  • Serving

    • Flask

    • aiohttp

Create an issue if you need support for something other than that!

Contributing

Read this <CONTRIBUTING.rst>_

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].