Description
Bodywork is a simple framework for machine learning engineers to run containerised model-training workloads and deploy model-scoring services on Kubernetes. It is built by machine learning engineers, for machine learning engineers. It automates the repetitive tasks that most machine learning engineers think of as DevOps, allowing them to focus their time on what they do best - machine learning.
bodywork alternatives and similar packages
Based on the "Machine Learning" category.
Alternatively, view bodywork alternatives based on common mentions on social networks and blogs.
-
tensorflow
An Open Source Machine Learning Framework for Everyone -
xgboost
Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, Scala, C++ and more. Runs on single machine, Hadoop, Spark, Dask, Flink and DataFlow -
gym
A toolkit for developing and comparing reinforcement learning algorithms. -
CNTK
Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit -
PaddlePaddle
PArallel Distributed Deep LEarning: Machine Learning Framework from Industrial Practice (『飞桨』核心框架,深度学习&机器学习高性能单机、分布式训练和跨平台部署) -
Prophet
Tool for producing high quality forecasts for time series data that has multiple seasonality with linear or non-linear growth. -
MindsDB
MindsDB is a Server for Artificial Intelligence Logic. Enabling developers to ship AI powered projects to production in a fast and scalable way. -
TFLearn
Deep learning library featuring a higher-level API for TensorFlow. -
H2O
H2O is an Open Source, Distributed, Fast & Scalable Machine Learning Platform: Deep Learning, Gradient Boosting (GBM) & XGBoost, Random Forest, Generalized Linear Modeling (GLM with Elastic Net), K-Means, PCA, Generalized Additive Models (GAM), RuleFit, Support Vector Machine (SVM), Stacked Ensembles, Automatic Machine Learning (AutoML), etc. -
NuPIC
Numenta Platform for Intelligent Computing is an implementation of Hierarchical Temporal Memory (HTM), a theory of intelligence based strictly on the neuroscience of the neocortex. -
Pyro.ai
Deep universal probabilistic programming with Python and PyTorch -
Surprise
A Python scikit for building and analyzing recommender systems -
Pylearn2
Warning: This project does not have any current developer. See bellow. -
LightFM
A Python implementation of LightFM, a hybrid recommendation algorithm. -
Sacred
Sacred is a tool to help you configure, organize, log and reproduce experiments developed at IDSIA. -
skflow
Simplified interface for TensorFlow (mimicking Scikit Learn) for Deep Learning -
Clairvoyant
Software designed to identify and monitor social/historical cues for short term stock movement -
python-recsys
A python library for implementing a recommender system -
Metrics
Machine learning evaluation metrics, implemented in Python, R, Haskell, and MATLAB / Octave -
karateclub
Karate Club: An API Oriented Open-source Python Framework for Unsupervised Learning on Graphs (CIKM 2020) -
awesome-embedding-models
A curated list of awesome embedding models tutorials, projects and communities. -
Crab
Crab is a flexible, fast recommender engine for Python that integrates classic information filtering recommendation algorithms in the world of scientific Python packages (numpy, scipy, matplotlib). -
adaptive
:chart_with_upwards_trend: Adaptive: parallel active learning of mathematical functions -
seqeval
A Python framework for sequence labeling evaluation(named-entity recognition, pos tagging, etc...) -
TrueSkill, the video game rating system
An implementation of the TrueSkill rating system for Python -
rwa
Machine Learning on Sequential Data Using a Recurrent Weighted Average -
SciKit-Learn Laboratory
SciKit-Learn Laboratory (SKLL) makes it easy to run machine learning experiments. -
Feature Forge
A set of tools for creating and testing machine learning features, with a scikit-learn compatible API -
Data Flow Facilitator for Machine Learning (dffml)
The easiest way to use Machine Learning. Mix and match underlying ML libraries and data set sources. Generate new datasets or modify existing ones with ease. -
Xorbits
Scalable Python data science, in an API compatible & lightning fast way. -
brew
Multiple Classifier Systems and Ensemble Learning Library in Python. -
MLP Classifier
A handwritten multilayer perceptron classifer using numpy. -
OptaPy
OptaPy is an AI constraint solver for Python to optimize planning and scheduling problems. -
omega-ml
MLOps simplified. From ML Pipeline ⇨ Data Product without the hassle -
ChaiPy
A developer interface for creating advanced chatbots for the Chai app. -
tfgraphviz
A visualization tool to show a TensorFlow's graph like TensorBoard -
neptune-contrib
This library is a location of the LegacyLogger for PyTorch Lightning.
Write Clean Python Code. Always.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of bodywork or a related project?
README
Bodywork is a command line tool that deploys machine learning pipelines to Kubernetes. It takes care of everything to do with containers and orchestration, so that you don't have to.
Who is this for?
Bodywork is aimed at teams who want a solution for running ML pipelines and deploying models to Kubernetes. It is a lightweight and simpler alternative to Kubeflow, or to building your own platform based around a workflow orchestration tool like Apache Airflow, Argo Workflows or Dagster.
Pipeline = Jobs + Services
Any stage in a Bodywork pipeline can do one of two things:
- [x] run a batch job, to prepare features, train models, compute batch predictions, etc.
- [x] start a long-running process, like a Flask app that serves model predictions via HTTP.
You can use these to compose pipelines for many common ML use-cases, from serving pre-trained models to running continuous training on a schedule.
No Boilerplate Code Required
Defining a stage is as simple as developing an executable Python module or Jupyter notebook that performs the required tasks, and then committing it to your project's Git repository. You are free to structure your codebase as you wish and there are no new APIs to learn.
Easy to Configure
Stages are assembled into DAGs that define your pipeline's workflow. This and other key [configuration](user_guide.md#configuring-a-project-for-deployment-with-bodywork) is contained within a single bodywork.yaml file.
Simplified DevOps for ML
Bodywork removes the need for you to build and manage container images for any stage of your pipeline. It works by running all stages using Bodywork's custom container image. Each stage starts by pulling all the required files directly from your project's Git repository (e.g., from GitHub), pip-installing any required dependencies, and then running the stage's designated Python module (or Jupyter notebook).
Get Started
Bodywork is distributed as a Python package - install it from PyPI:
Add a bodywork.yaml file to your Python project’s Git repo. The contents of this file describe how your project will be deployed:
Bodywork is used from the command-line to deploy projects to Kubernetes clusters. With a single command, you can start Bodywork containers (hosted by us on Docker Hub), that pull Python modules directly from your project’s Git repo, and run them:
You don’t need to build Docker images or understand how to configure Kuberentes resources. Bodywork will fill the gap between executable Python modules and operational jobs and services on Kubernetes.
If you’re new to Kubernetes then check out our guide to Kubernetes for ML - we’ll have you up-and-running with a test cluster on your laptop, in under 10 minutes.
Documentation
The documentation for bodywork-core can be found here. This is the best place to start.
Deployment Templates
To accelerate your project's journey to production, we provide deployment templates for common use-cases:
- batch scoring data
- deploying a predict service with a REST API
- scheduling a continuous-training pipeline
We want your Feedback
If Bodywork sounds like a useful tool, then please send us a signal with a GitHub ★
Contacting Us
If you:
- Have a question that these pages haven't answered, or need help getting started with Kubernetes, then please use our discussion board.
- Have found a bug, then please open an issue.
- Would like to contribute, then please talk to us first at [email protected].
- Would like to commission new functionality, then please contact us at [email protected].
Bodywork is brought to you by Bodywork Machine Learning.
*Note that all licence references and agreements mentioned in the bodywork README section above
are relevant to that project's source code only.