Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V2 Dataplane in Executor/Operator + Triton Server #2023

Merged
merged 24 commits into from
Sep 23, 2020
Merged
Show file tree
Hide file tree
Changes from 22 commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
6f21e36
initial additions for triton server
ukclivecox May 25, 2020
21d975f
Merge branch 'master' into 1648_v2_dataplane
ukclivecox May 25, 2020
8f41829
Add kfserving API initial integration to executor for REST
ukclivecox May 25, 2020
822b19a
Add v2 grpc implementation and local sample
ukclivecox May 27, 2020
1b45df8
rebase
ukclivecox Jun 27, 2020
3a3a2b6
update due to executor interface change and go.sum additions
ukclivecox Jun 27, 2020
dd9d16f
Update protos and local examples
ukclivecox Jun 27, 2020
c284bdf
Add examples to protocol notebook
ukclivecox Jun 28, 2020
943a7cd
rebase
ukclivecox Sep 4, 2020
7564b69
Update to triton 20-08 triton
ukclivecox Sep 5, 2020
f59936c
Update protocol example
ukclivecox Sep 5, 2020
f161cdb
Update docs
ukclivecox Sep 5, 2020
fe0853c
Merge branch 'master' into 1648_v2_dataplane
ukclivecox Sep 14, 2020
f773e81
address review comments
ukclivecox Sep 14, 2020
2ee0ecf
add updated triton server fixes and example for tensorrt
ukclivecox Sep 16, 2020
f3bf644
update triton settings in container
ukclivecox Sep 16, 2020
e0d07ae
rebase
ukclivecox Sep 21, 2020
f52d71e
Fix ctx arg missing
ukclivecox Sep 21, 2020
dd8ac14
Merge branch 'master' into 1648_v2_dataplane
ukclivecox Sep 22, 2020
dde0b68
rebase
ukclivecox Sep 22, 2020
747fc45
fix executor samples
ukclivecox Sep 22, 2020
a8237d5
Update to not impletemted message
ukclivecox Sep 23, 2020
36b279a
Update KFServing constant
ukclivecox Sep 23, 2020
b07758d
Change v1 to v2 in kfserving typo
ukclivecox Sep 23, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added doc/source/examples/digit.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 11 additions & 1 deletion doc/source/examples/notebooks.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,16 @@
Notebooks
=========

Seldon Core Setup
----

.. toctree::
:titlesonly:

Install Seldon Core <seldon_core_setup>



Prepackaged Inference Server Examples
-----

Expand Down Expand Up @@ -34,7 +44,7 @@ Specialised Framework Examples
.. toctree::
:titlesonly:

NVIDIA TensorRT MNIST <nvidia_mnist>
NVIDIA TensorRT MNIST <tensorrt>
OpenVINO ImageNet <openvino>
OpenVINO ImageNet Ensemble <openvino_ensemble>
ONNX ResNet with Intel nGraph<onnx_resnet>
Expand Down
3 changes: 0 additions & 3 deletions doc/source/examples/nvidia_mnist.nblink

This file was deleted.

3 changes: 3 additions & 0 deletions doc/source/examples/tensorrt.nblink
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"path": "../../../examples/models/tensorrt/triton_tensorrt.ipynb"
}
12 changes: 10 additions & 2 deletions doc/source/graph/protocols.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@ Tensorflow protocol is only available in version >=1.1.

Seldon Core supports the following data planes:

* REST and gRPC Seldon protocol
* REST and gRPC Tensorflow Serving Protocol
* [REST and gRPC Seldon protocol](#rest-and-grpc-seldon-protocol)
* [REST and gRPC Tensorflow Serving Protocol](#rest-and-grpc-tensorflow-protocol)
* [REST and gRPC V2 KFServing Protocol](#v2-kfserving-protocol)

## REST and gRPC Seldon Protocol

Expand Down Expand Up @@ -39,3 +40,10 @@ General considerations:
* The name of the model in the `graph` section of the SeldonDeployment spec must match the name of the model loaded onto the Tensorflow Server.


## V2 KFServing Protocol

Seldon has collaborated with the [NVIDIA Triton Server Project](https://github.com/triton-inference-server/server) and the [KFServing Project](https://github.com/kubeflow/kfserving) to create a new ML inference protocol.

This protocol can be used by specifing `protocol: kfserving`. At present we only support NVIDIA Triton prepackaged servers but will have support for custom and other server types in the near future.

See [example notebook](../examples/protocol_examples.html).
1 change: 1 addition & 0 deletions doc/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ Documentation Index

MLflow Server <servers/mlflow.md>
SKLearn server <servers/sklearn.md>
Triton Inference Server <servers/triton.md>
Tensorflow Serving <servers/tensorflow.md>
XGBoost server <servers/xgboost.md>

Expand Down
19 changes: 9 additions & 10 deletions doc/source/python/api/seldon_core.proto.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ seldon\_core.proto package
==========================

.. automodule:: seldon_core.proto
:members:
:undoc-members:
:show-inheritance:
:members:
:undoc-members:
:show-inheritance:

Submodules
----------
Expand All @@ -13,16 +13,15 @@ seldon\_core.proto.prediction\_pb2 module
-----------------------------------------

.. automodule:: seldon_core.proto.prediction_pb2
:members:
:undoc-members:
:show-inheritance:
:members:
:undoc-members:
:show-inheritance:

seldon\_core.proto.prediction\_pb2\_grpc module
-----------------------------------------------

.. automodule:: seldon_core.proto.prediction_pb2_grpc
:members:
:undoc-members:
:show-inheritance:

:members:
:undoc-members:
:show-inheritance:

111 changes: 55 additions & 56 deletions doc/source/python/api/seldon_core.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@ seldon\_core package
====================

.. automodule:: seldon_core
:members:
:undoc-members:
:show-inheritance:
:members:
:undoc-members:
:show-inheritance:

Subpackages
-----------

.. toctree::

seldon_core.proto
seldon_core.proto

Submodules
----------
Expand All @@ -20,9 +20,9 @@ seldon\_core.api\_tester module
-------------------------------

.. automodule:: seldon_core.api_tester
:members:
:undoc-members:
:show-inheritance:
:members:
:undoc-members:
:show-inheritance:

seldon\_core.app module
-----------------------
Expand All @@ -36,128 +36,127 @@ seldon\_core.batch\_processor module
------------------------------------

.. automodule:: seldon_core.batch_processor
:members:
:undoc-members:
:show-inheritance:
:members:
:undoc-members:
:show-inheritance:

seldon\_core.flask\_utils module
--------------------------------

.. automodule:: seldon_core.flask_utils
:members:
:undoc-members:
:show-inheritance:
:members:
:undoc-members:
:show-inheritance:

seldon\_core.imports\_helper module
-----------------------------------

.. automodule:: seldon_core.imports_helper
:members:
:undoc-members:
:show-inheritance:
:members:
:undoc-members:
:show-inheritance:

seldon\_core.metadata module
----------------------------

.. automodule:: seldon_core.metadata
:members:
:undoc-members:
:show-inheritance:
:members:
:undoc-members:
:show-inheritance:

seldon\_core.metrics module
---------------------------

.. automodule:: seldon_core.metrics
:members:
:undoc-members:
:show-inheritance:
:members:
:undoc-members:
:show-inheritance:

seldon\_core.microservice module
--------------------------------

.. automodule:: seldon_core.microservice
:members:
:undoc-members:
:show-inheritance:
:members:
:undoc-members:
:show-inheritance:

seldon\_core.microservice\_tester module
----------------------------------------

.. automodule:: seldon_core.microservice_tester
:members:
:undoc-members:
:show-inheritance:
:members:
:undoc-members:
:show-inheritance:

seldon\_core.persistence module
-------------------------------

.. automodule:: seldon_core.persistence
:members:
:undoc-members:
:show-inheritance:
:members:
:undoc-members:
:show-inheritance:

seldon\_core.seldon\_client module
----------------------------------

.. automodule:: seldon_core.seldon_client
:members:
:undoc-members:
:show-inheritance:
:members:
:undoc-members:
:show-inheritance:

seldon\_core.seldon\_methods module
-----------------------------------

.. automodule:: seldon_core.seldon_methods
:members:
:undoc-members:
:show-inheritance:
:members:
:undoc-members:
:show-inheritance:

seldon\_core.serving\_test\_gen module
--------------------------------------

.. automodule:: seldon_core.serving_test_gen
:members:
:undoc-members:
:show-inheritance:
:members:
:undoc-members:
:show-inheritance:

seldon\_core.storage module
---------------------------

.. automodule:: seldon_core.storage
:members:
:undoc-members:
:show-inheritance:
:members:
:undoc-members:
:show-inheritance:

seldon\_core.user\_model module
-------------------------------

.. automodule:: seldon_core.user_model
:members:
:undoc-members:
:show-inheritance:
:members:
:undoc-members:
:show-inheritance:

seldon\_core.utils module
-------------------------

.. automodule:: seldon_core.utils
:members:
:undoc-members:
:show-inheritance:
:members:
:undoc-members:
:show-inheritance:

seldon\_core.version module
---------------------------

.. automodule:: seldon_core.version
:members:
:undoc-members:
:show-inheritance:
:members:
:undoc-members:
:show-inheritance:

seldon\_core.wrapper module
---------------------------

.. automodule:: seldon_core.wrapper
:members:
:undoc-members:
:show-inheritance:

:members:
:undoc-members:
:show-inheritance:

25 changes: 25 additions & 0 deletions doc/source/servers/triton.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Triton Inference Server

If you have a model that can be run on [NVIDIA Triton Inference Server](https://github.com/triton-inference-server/server) you can use Seldon's Prepacked Triton Server.

Triton has multiple supported backends including support for TensorRT, Tensorflow, PyTorch and ONNX models. For further details see the [Triton supported backends documentation](https://docs.nvidia.com/deeplearning/triton-inference-server/master-user-guide/docs/model_repository.html#section-framework-model-definition).

## Example

```
apiVersion: machinelearning.seldon.io/v1alpha2
kind: SeldonDeployment
metadata:
name: triton
spec:
protocol: kfserving
predictors:
- graph:
implementation: TRITON_SERVER
modelUri: gs://seldon-models/trtis/simple-model
name: simple
name: simple
replicas: 1
```

Try out a [worked notebook](../examples/protocol_examples.html)
10 changes: 2 additions & 8 deletions examples/models/azure_aks_deep_mnist/azure_aks_deep_mnist.ipynb

Large diffs are not rendered by default.

4 changes: 0 additions & 4 deletions examples/models/nvidia-mnist/.s2i/environment

This file was deleted.

14 changes: 0 additions & 14 deletions examples/models/nvidia-mnist/Makefile

This file was deleted.

27 changes: 0 additions & 27 deletions examples/models/nvidia-mnist/MnistTransformer.py

This file was deleted.

1 change: 0 additions & 1 deletion examples/models/nvidia-mnist/fetch-model.sh

This file was deleted.

6 changes: 0 additions & 6 deletions examples/models/nvidia-mnist/nvidia-mnist/Chart.yaml

This file was deleted.

Loading