All Projects → SeldonIO → Seldon Core

SeldonIO / Seldon Core

Licence: apache-2.0
An MLOps framework to package, deploy, monitor and manage thousands of production machine learning models

Programming Languages

HTML
75241 projects
python
139335 projects - #7 most used programming language
Jupyter Notebook
11667 projects
go
31211 projects - #10 most used programming language
C++
36643 projects - #6 most used programming language
java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Seldon Core

Awesome Production Machine Learning
A curated list of awesome open source libraries to deploy, monitor, version and scale your machine learning
Stars: ✭ 10,504 (+273.14%)
Mutual labels:  production-machine-learning, mlops, machine-learning-operations
Deep Learning In Production
Develop production ready deep learning code, deploy it and scale it
Stars: ✭ 216 (-92.33%)
Mutual labels:  jupyter-notebook, deployment
Ray
An open source framework that provides a simple, universal API for building distributed applications. Ray is packaged with RLlib, a scalable reinforcement learning library, and Tune, a scalable hyperparameter tuning library.
Stars: ✭ 18,547 (+558.86%)
Mutual labels:  serving, deployment
amazon-sagemaker-model-serving-using-aws-cdk
This repository provides AI/ML service(MachineLearning model serving) modernization solution using Amazon SageMaker, AWS CDK, and AWS Serverless services.
Stars: ✭ 23 (-99.18%)
Mutual labels:  serving, mlops
Bentoml
Model Serving Made Easy
Stars: ✭ 3,064 (+8.85%)
Mutual labels:  mlops, machine-learning-operations
bodywork-ml-pipeline-project
Deployment template for a continuous training pipeline.
Stars: ✭ 22 (-99.22%)
Mutual labels:  serving, mlops
Boostcamp-AI-Tech-Product-Serving
[Machine Learning Engineer Basic Guide] 부스트캠프 AI Tech - Product Serving 자료
Stars: ✭ 280 (-90.05%)
Mutual labels:  serving, mlops
Pytorch classification
利用pytorch实现图像分类的一个完整的代码,训练,预测,TTA,模型融合,模型部署,cnn提取特征,svm或者随机森林等进行分类,模型蒸馏,一个完整的代码
Stars: ✭ 395 (-85.97%)
Mutual labels:  jupyter-notebook, deployment
Amazon Sagemaker Examples
Example 📓 Jupyter notebooks that demonstrate how to build, train, and deploy machine learning models using 🧠 Amazon SageMaker.
Stars: ✭ 6,346 (+125.44%)
Mutual labels:  jupyter-notebook, mlops
Madewithml
Learn how to responsibly deliver value with ML.
Stars: ✭ 29,253 (+939.18%)
Mutual labels:  jupyter-notebook, mlops
Machine Learning Projects
This repository consists of all my Machine Learning Projects.
Stars: ✭ 135 (-95.2%)
Mutual labels:  jupyter-notebook, deployment
Ml Dl Scripts
The repository provides usefull python scripts for ML and data analysis
Stars: ✭ 119 (-95.77%)
Mutual labels:  jupyter-notebook, deployment
Cartoonify
Deploy and scale serverless machine learning app - in 4 steps.
Stars: ✭ 157 (-94.42%)
Mutual labels:  jupyter-notebook, deployment
Notebooks
Jupyter Notebooks with Deep Learning Tutorials
Stars: ✭ 188 (-93.32%)
Mutual labels:  jupyter-notebook
Faceshifter
Try to reproduce FaceShifter
Stars: ✭ 188 (-93.32%)
Mutual labels:  jupyter-notebook
Ipypublish
A workflow for creating and editing publication ready scientific reports and presentations, from one or more Jupyter Notebooks, without leaving the browser!
Stars: ✭ 188 (-93.32%)
Mutual labels:  jupyter-notebook
Autoserver
Create a full-featured REST/GraphQL API from a configuration file
Stars: ✭ 188 (-93.32%)
Mutual labels:  deployment
Nbinteract
Create interactive webpages from Jupyter Notebooks
Stars: ✭ 189 (-93.29%)
Mutual labels:  jupyter-notebook
Tensorflow2.0 Notes
Tensorflow 2.0 Notes 提供了TF2.0案例实战以及TF2.0基础实战,目标是帮助那些希望和使用Tensorflow 2.0进行深度学习开发和研究的朋友快速入门,其中包含的Tensorflow 2.0教程基本通过测试保证可以成功运行(有问题的可以提issue,笔记网站正在建设中)。
Stars: ✭ 187 (-93.36%)
Mutual labels:  jupyter-notebook
Kapsamli derin ogrenme rehberi
Bu çalışma araştırmalar yaparken benzerlerine rastlayıp iyileştirerek derlemeye çalıştığım ve derin öğrenme (deep learning) konusunda kısa bir özet ve bolca kaynak yönlendirmesi olan (hatta sonunda koca bir liste var) hızlıca konuya giriş yapılabilinmesi için gereklilikleri özetlemektedir. Lütfen katkı vermekten çekinmeyin 👽
Stars: ✭ 188 (-93.32%)
Mutual labels:  jupyter-notebook

Seldon Core: Blazing Fast, Industry-Ready ML

An open source platform to deploy your machine learning models on Kubernetes at massive scale.

Overview

Seldon core converts your ML models (Tensorflow, Pytorch, H2o, etc.) or language wrappers (Python, Java, etc.) into production REST/GRPC microservices.

Seldon handles scaling to thousands of production machine learning models and provides advanced machine learning capabilities out of the box including Advanced Metrics, Request Logging, Explainers, Outlier Detectors, A/B Tests, Canaries and more.

High Level Features

With over 2M installs, Seldon Core is used across organisations to manage large scale deployment of machine learning models, and key benefits include:

Getting Started

Deploying your models using Seldon Core is simplified through our pre-packaged inference servers and language wrappers. Below you can see how you can deploy our "hello world Iris" example. You can see more details on these workflows in our Documentation Quickstart.

Install Seldon Core

Quick install using Helm 3 (you can also use Kustomize):

kubectl create namespace seldon-system

helm install seldon-core seldon-core-operator \
    --repo https://storage.googleapis.com/seldon-charts \
    --set usageMetrics.enabled=true \
    --namespace seldon-system \
    --set istio.enabled=true
    # You can set ambassador instead with --set ambassador.enabled=true

Deploy your model using pre-packaged model servers

We provide optimized model servers for some of the most popular Deep Learning and Machine Learning frameworks that allow you to deploy your trained model binaries/weights without having to containerize or modify them.

You only have to upload your model binaries into your preferred object store, in this case we have a trained scikit-learn iris model in a Google bucket:

gs://seldon-models/v1.13.0-dev/sklearn/iris/model.joblib

Create a namespace to run your model in:

kubectl create namespace seldon

We then can deploy this model with Seldon Core to our Kubernetes cluster using the pre-packaged model server for scikit-learn (SKLEARN_SERVER) by running the kubectl apply command below:

$ kubectl apply -f - << END
apiVersion: machinelearning.seldon.io/v1
kind: SeldonDeployment
metadata:
  name: iris-model
  namespace: seldon
spec:
  name: iris
  predictors:
  - graph:
      implementation: SKLEARN_SERVER
      modelUri: gs://seldon-models/v1.13.0-dev/sklearn/iris
      name: classifier
    name: default
    replicas: 1
END

Send API requests to your deployed model

Every model deployed exposes a standardised User Interface to send requests using our OpenAPI schema.

This can be accessed through the endpoint http://<ingress_url>/seldon/<namespace>/<model-name>/api/v1.0/doc/ which will allow you to send requests directly through your browser.

Or alternatively you can send requests programmatically using our Seldon Python Client or another Linux CLI:

$ curl -X POST http://<ingress>/seldon/seldon/iris-model/api/v1.0/predictions \
    -H 'Content-Type: application/json' \
    -d '{ "data": { "ndarray": [[1,2,3,4]] } }'

{
   "meta" : {},
   "data" : {
      "names" : [
         "t:0",
         "t:1",
         "t:2"
      ],
      "ndarray" : [
         [
            0.000698519453116284,
            0.00366803903943576,
            0.995633441507448
         ]
      ]
   }
}

Deploy your custom model using language wrappers

For more custom deep learning and machine learning use-cases which have custom dependencies (such as 3rd party libraries, operating system binaries or even external systems), we can use any of the Seldon Core language wrappers.

You only have to write a class wrapper that exposes the logic of your model; for example in Python we can create a file Model.py:

import pickle
class Model:
    def __init__(self):
        self._model = pickle.loads( open("model.pickle", "rb") )

    def predict(self, X):
        output = self._model(X)
        return output

We can now containerize our class file using the Seldon Core s2i utils to produce the sklearn_iris image:

s2i build . seldonio/seldon-core-s2i-python3:0.18 sklearn_iris:0.1

And we now deploy it to our Seldon Core Kubernetes Cluster:

$ kubectl apply -f - << END
apiVersion: machinelearning.seldon.io/v1
kind: SeldonDeployment
metadata:
  name: iris-model
  namespace: model-namespace
spec:
  name: iris
  predictors:
  - componentSpecs:
    - spec:
      containers:
      - name: classifier
        image: sklearn_iris:0.1
  - graph:
      name: classifier
    name: default
    replicas: 1
END

Send API requests to your deployed model

Every model deployed exposes a standardised User Interface to send requests using our OpenAPI schema.

This can be accessed through the endpoint http://<ingress_url>/seldon/<namespace>/<model-name>/api/v1.0/doc/ which will allow you to send requests directly through your browser.

Or alternatively you can send requests programmatically using our Seldon Python Client or another Linux CLI:

$ curl -X POST http://<ingress>/seldon/model-namespace/iris-model/api/v1.0/predictions \
    -H 'Content-Type: application/json' \
    -d '{ "data": { "ndarray": [1,2,3,4] } }' | json_pp

{
   "meta" : {},
   "data" : {
      "names" : [
         "t:0",
         "t:1",
         "t:2"
      ],
      "ndarray" : [
         [
            0.000698519453116284,
            0.00366803903943576,
            0.995633441507448
         ]
      ]
   }
}

Dive into the Advanced Production ML Integrations

Any model that is deployed and orchestrated with Seldon Core provides out of the box machine learning insights for monitoring, managing, scaling and debugging.

Below are some of the core components together with link to the logs that provide further insights on how to set them up.


Standard and custom metrics with prometheus


Full audit trails with ELK request logging


Explainers for Machine Learning Interpretability


Outlier and Adversarial Detectors for Monitoring


CI/CD for MLOps at Massive Scale


Distributed tracing for performance monitoring

Where to go from here

Getting Started

Seldon Core Deep Dive

Pre-Packaged Inference Servers

Language Wrappers (Production)

Language Wrappers (Incubating)

Ingress

Production

Advanced Inference

Examples

Reference

Developer

About the name "Seldon Core"

The name Seldon (ˈSɛldən) Core was inspired from the Foundation Series (Scifi Novel) where it's premise consists of a mathematician called "Hari Seldon" who spends his life developing a theory of Psychohistory, a new and effective mathematical sociology which allows for the future to be predicted extremely accurate through long periods of time (across hundreds of thousands of years).

Commercial Support

We offer commercial support via our enterprise product Seldon Deploy. Please visit https://www.seldon.io/ for details and a trial.

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].