diff --git a/notebooks/explainer_examples.ipynb b/notebooks/explainer_examples.ipynb index b9478e4728..1decffd888 100644 --- a/notebooks/explainer_examples.ipynb +++ b/notebooks/explainer_examples.ipynb @@ -4,7 +4,49 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Example Model Explanations with Seldon" + "# Example Model Explanations with Seldon\n", + "Seldon core supports various out-of-the-box explainers that leverage the [Alibi ML Expalinability](https://github.com/SeldonIO/alibi) open source library.\n", + "\n", + "In this notebook we show how you can use the pre-packaged explainer functionality that simplifies the creation of advanced AI model explainers.\n", + "\n", + "Seldon provides the following out-of-the-box pre-packaged explainers:\n", + "* Anchor Tabular Explainer \n", + " * AI Explainer that uses the [anchor technique](https://docs.seldon.io/projects/alibi/en/latest/methods/Anchors.html) for tabular data\n", + " * It basically answers the question of what are the most \"powerul\" or \"important\" features in a tabular prediction\n", + "* Anchor Image Explainer\n", + " * AI Explainer that uses the [anchor technique](https://docs.seldon.io/projects/alibi/en/latest/methods/Anchors.html) for image data\n", + " * It basically answers the question of what are the most \"powerul\" or \"important\" pixels in an image prediction\n", + "* Anchor Text Explainer\n", + " * AI Explainer that uses the [anchor technique](https://docs.seldon.io/projects/alibi/en/latest/methods/Anchors.html) for text data\n", + " * It basically answers the question of what are the most \"powerul\" or \"important\" tokens in a text prediction\n", + "* Counterfactual Explainer\n", + " * AI Explainer that uses the [counterfactual technique](https://docs.seldon.io/projects/alibi/en/latest/methods/CF.html) for any type of data\n", + " * It basically provides insight of what are the minimum changes you can do to an input to change the prediction to a different class\n", + "* Contrastive Explainer\n", + " * AI explainer that uses the [Contrastive Explanations](https://docs.seldon.io/projects/alibi/en/latest/methods/CEM.html) technique for any type of data\n", + " * It basically provides insights of what are the minimum changes you can do to an input to change the prediction to change the prediction or the minimum components of the input to make it the same prediction" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Running this notebook\n", + "\n", + "For the [ImageNet Model](http://localhost:8888/notebooks/explainer_examples.ipynb#Imagenet-Model) you will need:\n", + "\n", + " - [alibi package](https://pypi.org/project/alibi/) (```pip install alibi```)\n", + " \n", + " This should install the required package dependencies, if not please also install:\n", + " - [Pillow package](https://pypi.org/project/Pillow/) (```pip install Pillow```)\n", + " - [matplotlib package](https://pypi.org/project/matplotlib/) (```pip install matplotlib```)\n", + " - [tensorflow package](https://pypi.org/project/tensorflow/) (```pip install tensorflow```)\n", + "\n", + "You will also need to start Jupyter with settings to allow for large payloads, for example:\n", + "\n", + "```\n", + "jupyter notebook --NotebookApp.iopub_data_rate_limit=1000000000\n", + "```" ] }, { @@ -13,47 +55,52 @@ "source": [ "## Setup Seldon Core\n", "\n", - "Follow the instructions to [Setup Cluster](seldon_core_setup.ipynb#Setup-Cluster) with [Ambassador Ingress](seldon_core_setup.ipynb#Ambassador) and [Install Seldon Core](seldon_core_setup.ipynb#Install-Seldon-Core)." + "Follow the instructions to [Setup Cluster](seldon_core_setup.ipynb#Setup-Cluster) with [Ambassador Ingress](seldon_core_setup.ipynb#Ambassador) and [Install Seldon Core](seldon_core_setup.ipynb#Install-Seldon-Core).\n", + "\n", + "### Create Namespace for experimentation\n", + "\n", + "We will first set up the namespace of Seldon where we will be deploying all our models" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "namespace/seldon created\r\n" + ] + } + ], "source": [ "!kubectl create namespace seldon" ] }, { - "cell_type": "code", - "execution_count": null, + "cell_type": "markdown", "metadata": {}, - "outputs": [], "source": [ - "!kubectl config set-context $(kubectl config current-context) --namespace=seldon" + "And then we will set the current workspace to use the seldon namespace so all our commands are run there by default (instead of running everything in the default namespace.)" ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": 4, "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Context \"docker-desktop\" modified.\r\n" + ] + } + ], "source": [ - "## Running this notebook\n", - "\n", - "For the [ImageNet Model](http://localhost:8888/notebooks/explainer_examples.ipynb#Imagenet-Model) you will need:\n", - "\n", - " - [alibi package](https://pypi.org/project/alibi/) (```pip install alibi```)\n", - " \n", - " This should install the required package dependencies, if not please also install:\n", - " - [Pillow package](https://pypi.org/project/Pillow/) (```pip install Pillow```)\n", - " - [matplotlib package](https://pypi.org/project/matplotlib/) (```pip install matplotlib```)\n", - " - [tensorflow package](https://pypi.org/project/tensorflow/) (```pip install tensorflow```)\n", - "\n", - "You will also need to start Jupyter with settings to allow for large payloads, for example:\n", - "\n", - "```\n", - "jupyter notebook --NotebookApp.iopub_data_rate_limit=1000000000\n", - "```" + "!kubectl config set-context $(kubectl config current-context) --namespace=seldon" ] }, { @@ -65,49 +112,100 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": { "scrolled": false }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[94mapiVersion\u001b[39;49;00m: machinelearning.seldon.io/v1\r\n", + "\u001b[94mkind\u001b[39;49;00m: SeldonDeployment\r\n", + "\u001b[94mmetadata\u001b[39;49;00m:\r\n", + " \u001b[94mname\u001b[39;49;00m: income\r\n", + "\u001b[94mspec\u001b[39;49;00m:\r\n", + " \u001b[94mname\u001b[39;49;00m: income\r\n", + " \u001b[94mannotations\u001b[39;49;00m:\r\n", + " \u001b[94mseldon.io/rest-timeout\u001b[39;49;00m: \u001b[33m\"\u001b[39;49;00m\u001b[33m100000\u001b[39;49;00m\u001b[33m\"\u001b[39;49;00m\r\n", + " \u001b[94mpredictors\u001b[39;49;00m:\r\n", + " - \u001b[94mgraph\u001b[39;49;00m:\r\n", + " \u001b[94mchildren\u001b[39;49;00m: []\r\n", + " \u001b[94mimplementation\u001b[39;49;00m: SKLEARN_SERVER\r\n", + " \u001b[94mmodelUri\u001b[39;49;00m: gs://seldon-models/sklearn/income/model\r\n", + " \u001b[94mname\u001b[39;49;00m: classifier\r\n", + " \u001b[94mexplainer\u001b[39;49;00m:\r\n", + " \u001b[94mtype\u001b[39;49;00m: AnchorTabular\r\n", + " \u001b[94mmodelUri\u001b[39;49;00m: gs://seldon-models/sklearn/income/explainer\r\n", + " \u001b[94mname\u001b[39;49;00m: default\r\n", + " \u001b[94mreplicas\u001b[39;49;00m: 1\r\n" + ] + } + ], "source": [ "!pygmentize resources/income_explainer.yaml" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": { "scrolled": true }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "seldondeployment.machinelearning.seldon.io/income created\r\n" + ] + } + ], "source": [ "!kubectl apply -f resources/income_explainer.yaml" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Waiting for deployment \"income-default-0-classifier\" rollout to finish: 0 of 1 updated replicas are available...\n", + "deployment \"income-default-0-classifier\" successfully rolled out\n" + ] + } + ], "source": [ "!kubectl rollout status deploy/$(kubectl get deploy -l seldon-deployment-id=income -o jsonpath='{.items[0].metadata.name}')" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "metadata": { "scrolled": true }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "deployment \"income-default-explainer\" successfully rolled out\r\n" + ] + } + ], "source": [ "!kubectl rollout status deploy/income-default-explainer" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "metadata": { "scrolled": true }, @@ -115,7 +213,7 @@ "source": [ "from seldon_core.seldon_client import SeldonClient\n", "import numpy as np\n", - "sc = SeldonClient(deployment_name=\"income\",namespace=\"seldon\")" + "sc = SeldonClient(deployment_name=\"income\",namespace=\"seldon\", gateway=\"ambassador\", gateway_endpoint=\"localhost:80\")" ] }, { @@ -127,15 +225,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "metadata": { "scrolled": true }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'data': {'names': ['t:0', 't:1'], 'tensor': {'shape': [1, 2], 'values': [1.0, 0.0]}}, 'meta': {}}\n" + ] + } + ], "source": [ "data = np.array([[39, 7, 1, 1, 1, 1, 4, 1, 2174, 0, 40, 9]])\n", - "r = sc.predict(gateway=\"ambassador\",transport=\"rest\",data=data)\n", - "print(r)" + "r = sc.predict(data=data)\n", + "print(r.response)" ] }, { @@ -147,9 +253,17 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{\"data\":{\"names\":[\"t:0\",\"t:1\"],\"ndarray\":[[1.0,0.0]]},\"meta\":{}}\r\n" + ] + } + ], "source": [ "!curl -d '{\"data\": {\"ndarray\":[[39, 7, 1, 1, 1, 1, 4, 1, 2174, 0, 40, 9]]}}' \\\n", " -X POST http://localhost:8003/seldon/seldon/income/api/v1.0/predictions \\\n", @@ -165,16 +279,25 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "metadata": { "scrolled": true }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "http://localhost:80/seldon/seldon/income-explainer/default/api/v1.0/explain\n", + "dict\n", + "[21, 'Private', 'High School grad', 'Never-Married', 'Sales', 'Own-child', 'Black', 'Female', 'Capital Gain <= 0.00', 'Capital Loss <= 0.00', 25, 'United-States']\n" + ] + } + ], "source": [ "data = np.array([[39, 7, 1, 1, 1, 1, 4, 1, 2174, 0, 40, 9]])\n", - "explanation = sc.explain(deployment_name=\"income\",gateway=\"ambassador\",transport=\"rest\",data=data)\n", - "print(explanation)\n", - "assert(explanation.success==True)" + "explanation = sc.explain(deployment_name=\"income\", predictor=\"default\", data=data)\n", + "print(explanation.response[\"raw\"][\"examples\"][0][\"covered\"][0])" ] }, { @@ -186,22 +309,54 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 30, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " % Total % Received % Xferd Average Speed Time Time Time Current\n", + " Dload Upload Total Spent Left Speed\n", + "100 10175 100 10084 100 91 11698 105 --:--:-- --:--:-- --:--:-- 11790\n", + "\u001b[1;39m[\n", + " \u001b[0;39m30\u001b[0m\u001b[1;39m,\n", + " \u001b[0;32m\"Local-gov\"\u001b[0m\u001b[1;39m,\n", + " \u001b[0;32m\"High School grad\"\u001b[0m\u001b[1;39m,\n", + " \u001b[0;32m\"Separated\"\u001b[0m\u001b[1;39m,\n", + " \u001b[0;32m\"Admin\"\u001b[0m\u001b[1;39m,\n", + " \u001b[0;32m\"Unmarried\"\u001b[0m\u001b[1;39m,\n", + " \u001b[0;32m\"White\"\u001b[0m\u001b[1;39m,\n", + " \u001b[0;32m\"Female\"\u001b[0m\u001b[1;39m,\n", + " \u001b[0;32m\"Capital Gain <= 0.00\"\u001b[0m\u001b[1;39m,\n", + " \u001b[0;32m\"Capital Loss <= 0.00\"\u001b[0m\u001b[1;39m,\n", + " \u001b[0;39m40\u001b[0m\u001b[1;39m,\n", + " \u001b[0;32m\"United-States\"\u001b[0m\u001b[1;39m\n", + "\u001b[1;39m]\u001b[0m\n" + ] + } + ], "source": [ - "!curl -s -d '{\"data\": {\"ndarray\":[[39, 7, 1, 1, 1, 1, 4, 1, 2174, 0, 40, 9]]}}' \\\n", - " -X POST http://localhost:8003/seldon/seldon/income/explainer/api/v1.0/explain \\\n", - " -H \"Content-Type: application/json\" | jq ." + "!curl -X POST -H 'Content-Type: application/json' \\\n", + " -d '{\"data\": {\"names\": [\"text\"], \"ndarray\": [[52, 4, 0, 2, 8, 4, 2, 0, 0, 0, 60, 9]]}}' \\\n", + " http://localhost:80/seldon/seldon/income-explainer/default/api/v1.0/explain | jq \".raw.examples[0].covered[0]\"" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 31, "metadata": { "scrolled": true }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "seldondeployment.machinelearning.seldon.io \"income\" deleted\r\n" + ] + } + ], "source": [ "!kubectl delete -f resources/income_explainer.yaml" ] @@ -216,51 +371,100 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 32, "metadata": { "scrolled": false }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[94mapiVersion\u001b[39;49;00m: machinelearning.seldon.io/v1\r\n", + "\u001b[94mkind\u001b[39;49;00m: SeldonDeployment\r\n", + "\u001b[94mmetadata\u001b[39;49;00m:\r\n", + " \u001b[94mname\u001b[39;49;00m: movie\r\n", + "\u001b[94mspec\u001b[39;49;00m:\r\n", + " \u001b[94mname\u001b[39;49;00m: movie\r\n", + " \u001b[94mannotations\u001b[39;49;00m:\r\n", + " \u001b[94mseldon.io/rest-timeout\u001b[39;49;00m: \u001b[33m\"\u001b[39;49;00m\u001b[33m100000\u001b[39;49;00m\u001b[33m\"\u001b[39;49;00m\r\n", + " \u001b[94mpredictors\u001b[39;49;00m:\r\n", + " - \u001b[94mgraph\u001b[39;49;00m:\r\n", + " \u001b[94mchildren\u001b[39;49;00m: []\r\n", + " \u001b[94mimplementation\u001b[39;49;00m: SKLEARN_SERVER\r\n", + " \u001b[94mmodelUri\u001b[39;49;00m: gs://seldon-models/sklearn/moviesentiment\r\n", + " \u001b[94mname\u001b[39;49;00m: classifier\r\n", + " \u001b[94mexplainer\u001b[39;49;00m:\r\n", + " \u001b[94mtype\u001b[39;49;00m: AnchorText\r\n", + " \u001b[94mname\u001b[39;49;00m: default\r\n", + " \u001b[94mreplicas\u001b[39;49;00m: 1\r\n" + ] + } + ], "source": [ "!pygmentize resources/moviesentiment_explainer.yaml" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 33, "metadata": { "scrolled": true }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "seldondeployment.machinelearning.seldon.io/movie created\r\n" + ] + } + ], "source": [ "!kubectl apply -f resources/moviesentiment_explainer.yaml" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 35, "metadata": { "scrolled": true }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "deployment \"movie-default-0-classifier\" successfully rolled out\r\n" + ] + } + ], "source": [ "!kubectl rollout status deploy/$(kubectl get deploy -l seldon-deployment-id=movie -o jsonpath='{.items[0].metadata.name}')" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 36, "metadata": { "scrolled": false }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "deployment \"movie-default-explainer\" successfully rolled out\r\n" + ] + } + ], "source": [ "!kubectl rollout status deploy/movie-default-explainer" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 66, "metadata": { "scrolled": true }, @@ -268,66 +472,122 @@ "source": [ "from seldon_core.seldon_client import SeldonClient\n", "import numpy as np\n", - "sc = SeldonClient(deployment_name=\"movie\",namespace=\"seldon\")" + "sc = SeldonClient(deployment_name=\"movie\", namespace=\"seldon\", gateway_endpoint=\"localhost:80\", payload_type='ndarray')" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 52, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{\"data\":{\"names\":[\"t:0\",\"t:1\"],\"ndarray\":[[0.21266916924914636,0.7873308307508536]]},\"meta\":{}}\r\n" + ] + } + ], "source": [ "!curl -d '{\"data\": {\"ndarray\":[\"This film has great actors\"]}}' \\\n", - " -X POST http://localhost:8003/seldon/seldon/movie/api/v1.0/predictions \\\n", + " -X POST http://localhost:80/seldon/seldon/movie/api/v1.0/predictions \\\n", " -H \"Content-Type: application/json\"" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 67, "metadata": { "scrolled": true }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Success:True message:\n", + "Request:\n", + "meta {\n", + "}\n", + "data {\n", + " ndarray {\n", + " values {\n", + " string_value: \"this film has great actors\"\n", + " }\n", + " }\n", + "}\n", + "\n", + "Response:\n", + "{'data': {'names': ['t:0', 't:1'], 'ndarray': [[0.21266916924914636, 0.7873308307508536]]}, 'meta': {}}\n" + ] + } + ], "source": [ "data = np.array(['this film has great actors'])\n", - "r = sc.predict(gateway=\"ambassador\",transport=\"rest\",data=data,payload_type='ndarray')\n", + "r = sc.predict(data=data)\n", "print(r)\n", "assert(r.success==True)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 63, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1;39m[\r\n", + " \u001b[0;32m\"This UNK UNK great actors\"\u001b[0m\u001b[1;39m\r\n", + "\u001b[1;39m]\u001b[0m\r\n" + ] + } + ], "source": [ "!curl -s -d '{\"data\": {\"ndarray\":[\"This movie has great actors\"]}}' \\\n", - " -X POST http://localhost:8003/seldon/seldon/movie/explainer/api/v1.0/explain \\\n", - " -H \"Content-Type: application/json\"" + " -X POST http://localhost:80/seldon/seldon/movie-explainer/default/api/v1.0/explain \\\n", + " -H \"Content-Type: application/json\" | jq \".raw.examples[0].covered[0]\"" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 71, "metadata": { "scrolled": true }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "http://localhost:80/seldon/seldon/movie-explainer/default/api/v1.0/explain\n", + "dict\n", + "['this film UNK great UNK']\n" + ] + } + ], "source": [ "data = np.array(['this film has great actors'])\n", - "explanation = sc.explain(deployment_name=\"movie\",gateway=\"ambassador\",transport=\"rest\",data=data,payload_type='ndarray')\n", - "print(explanation)\n", - "assert(explanation.success==True)" + "explanation = sc.explain(predictor=\"default\", data=data)\n", + "print(explanation.response[\"raw\"][\"examples\"][0][\"covered\"][0])" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 72, "metadata": { "scrolled": true }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "seldondeployment.machinelearning.seldon.io \"movie\" deleted\r\n" + ] + } + ], "source": [ "!kubectl delete -f resources/moviesentiment_explainer.yaml" ] @@ -342,49 +602,136 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 75, "metadata": { "scrolled": true }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[94mapiVersion\u001b[39;49;00m: machinelearning.seldon.io/v1\r\n", + "\u001b[94mkind\u001b[39;49;00m: SeldonDeployment\r\n", + "\u001b[94mmetadata\u001b[39;49;00m:\r\n", + " \u001b[94mname\u001b[39;49;00m: image\r\n", + "\u001b[94mspec\u001b[39;49;00m:\r\n", + " \u001b[94mannotations\u001b[39;49;00m:\r\n", + " \u001b[94mseldon.io/rest-timeout\u001b[39;49;00m: \u001b[33m\"\u001b[39;49;00m\u001b[33m10000000\u001b[39;49;00m\u001b[33m\"\u001b[39;49;00m\r\n", + " \u001b[94mseldon.io/grpc-timeout\u001b[39;49;00m: \u001b[33m\"\u001b[39;49;00m\u001b[33m10000000\u001b[39;49;00m\u001b[33m\"\u001b[39;49;00m\r\n", + " \u001b[94mseldon.io/grpc-max-message-size\u001b[39;49;00m: \u001b[33m\"\u001b[39;49;00m\u001b[33m1000000000\u001b[39;49;00m\u001b[33m\"\u001b[39;49;00m\r\n", + " \u001b[94mname\u001b[39;49;00m: image\r\n", + " \u001b[94mpredictors\u001b[39;49;00m:\r\n", + " - \u001b[94mcomponentSpecs\u001b[39;49;00m:\r\n", + " - \u001b[94mspec\u001b[39;49;00m:\r\n", + " \u001b[94mcontainers\u001b[39;49;00m:\r\n", + " - \u001b[94mimage\u001b[39;49;00m: docker.io/seldonio/imagenet-transformer:0.1\r\n", + " \u001b[94mname\u001b[39;49;00m: transformer\r\n", + " \u001b[94mgraph\u001b[39;49;00m:\r\n", + " \u001b[94mname\u001b[39;49;00m: transformer\r\n", + " \u001b[94mtype\u001b[39;49;00m: TRANSFORMER\r\n", + " \u001b[94mendpoint\u001b[39;49;00m:\r\n", + " \u001b[94mtype\u001b[39;49;00m: GRPC\r\n", + " \u001b[94mchildren\u001b[39;49;00m: \r\n", + " - \u001b[94mimplementation\u001b[39;49;00m: TENSORFLOW_SERVER\r\n", + " \u001b[94mmodelUri\u001b[39;49;00m: gs://seldon-models/tfserving/imagenet/model\r\n", + " \u001b[94mname\u001b[39;49;00m: classifier\r\n", + " \u001b[94mendpoint\u001b[39;49;00m:\r\n", + " \u001b[94mtype\u001b[39;49;00m: GRPC\r\n", + " \u001b[94mparameters\u001b[39;49;00m:\r\n", + " - \u001b[94mname\u001b[39;49;00m: model_name\r\n", + " \u001b[94mtype\u001b[39;49;00m: STRING\r\n", + " \u001b[94mvalue\u001b[39;49;00m: classifier\r\n", + " - \u001b[94mname\u001b[39;49;00m: model_input\r\n", + " \u001b[94mtype\u001b[39;49;00m: STRING\r\n", + " \u001b[94mvalue\u001b[39;49;00m: input_image\r\n", + " - \u001b[94mname\u001b[39;49;00m: model_output\r\n", + " \u001b[94mtype\u001b[39;49;00m: STRING\r\n", + " \u001b[94mvalue\u001b[39;49;00m: predictions/Softmax:0\r\n", + " \u001b[94msvcOrchSpec\u001b[39;49;00m:\r\n", + " \u001b[94mresources\u001b[39;49;00m:\r\n", + " \u001b[94mrequests\u001b[39;49;00m:\r\n", + " \u001b[94mmemory\u001b[39;49;00m: 10Gi\r\n", + " \u001b[94mlimits\u001b[39;49;00m:\r\n", + " \u001b[94mmemory\u001b[39;49;00m: 10Gi \r\n", + " \u001b[94menv\u001b[39;49;00m:\r\n", + " - \u001b[94mname\u001b[39;49;00m: SELDON_LOG_LEVEL\r\n", + " \u001b[94mvalue\u001b[39;49;00m: DEBUG\r\n", + " \u001b[94mexplainer\u001b[39;49;00m:\r\n", + " \u001b[94mtype\u001b[39;49;00m: AnchorImages\r\n", + " \u001b[94mmodelUri\u001b[39;49;00m: gs://seldon-models/tfserving/imagenet/explainer\r\n", + " \u001b[94mconfig\u001b[39;49;00m:\r\n", + " \u001b[94mbatch_size\u001b[39;49;00m: \u001b[33m\"\u001b[39;49;00m\u001b[33m100\u001b[39;49;00m\u001b[33m\"\u001b[39;49;00m\r\n", + " \u001b[94mendpoint\u001b[39;49;00m:\r\n", + " \u001b[94mtype\u001b[39;49;00m: GRPC\r\n", + " \u001b[94mname\u001b[39;49;00m: default\r\n", + " \u001b[94mreplicas\u001b[39;49;00m: 1\r\n" + ] + } + ], "source": [ "!pygmentize resources/imagenet_explainer_grpc.yaml" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 76, "metadata": { "scrolled": true }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "seldondeployment.machinelearning.seldon.io/image created\r\n" + ] + } + ], "source": [ "!kubectl apply -f resources/imagenet_explainer_grpc.yaml" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 77, "metadata": { "scrolled": true }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Waiting for deployment \"image-default-0-transformer-classifier\" rollout to finish: 0 of 1 updated replicas are available...\n", + "deployment \"image-default-0-transformer-classifier\" successfully rolled out\n" + ] + } + ], "source": [ "!kubectl rollout status deploy/$(kubectl get deploy -l seldon-deployment-id=image -o jsonpath='{.items[0].metadata.name}')" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 78, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "deployment \"image-default-explainer\" successfully rolled out\r\n" + ] + } + ], "source": [ "!kubectl rollout status deploy/image-default-explainer" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 79, "metadata": { "scrolled": true }, @@ -414,7 +761,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 91, "metadata": { "scrolled": true }, @@ -422,21 +769,52 @@ "source": [ "from seldon_core.seldon_client import SeldonClient\n", "import numpy as np\n", - "sc = SeldonClient(deployment_name=\"image\",namespace=\"seldon\",grpc_max_send_message_length= 27 * 1024 * 1024,grpc_max_receive_message_length= 27 * 1024 * 1024)" + "sc = SeldonClient(\n", + " deployment_name=\"image\",\n", + " namespace=\"seldon\",\n", + " grpc_max_send_message_length= 27 * 1024 * 1024,\n", + " grpc_max_receive_message_length= 27 * 1024 * 1024, \n", + " gateway=\"ambassador\",\n", + " transport=\"grpc\",\n", + " gateway_endpoint=\"localhost:80\",\n", + " client_return_type='proto')" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 99, "metadata": { "scrolled": true }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 99, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "import tensorflow as tf\n", "data = get_image_data()\n", "req = data[0:1]\n", - "r = sc.predict(gateway=\"ambassador\",transport=\"grpc\",data=req,payload_type='tftensor',client_return_type='proto')\n", + "r = sc.predict(data=req, payload_type='tftensor')\n", "\n", "preds = tf.make_ndarray(r.response.data.tftensor)\n", "\n", @@ -447,14 +825,35 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 103, "metadata": { "scrolled": true }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "http://localhost:80/seldon/seldon/image-explainer/default/api/v1.0/explain\n", + "dict\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "req = np.expand_dims(data[0], axis=0)\n", - "r = sc.explain(deployment_name=\"image\",gateway=\"ambassador\",transport=\"rest\",data=req)\n", + "r = sc.explain(data=req, predictor=\"default\", transport=\"rest\", payload_type='ndarray', client_return_type=\"dict\")\n", "exp_arr = np.array(r.response['anchor'])\n", "\n", "f, axarr = plt.subplots(1, 2)\n", @@ -492,7 +891,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.8" + "version": "3.7.4" }, "varInspector": { "cols": { diff --git a/operator/constants/constants.go b/operator/constants/constants.go index 9ff3831a1b..5b78219498 100644 --- a/operator/constants/constants.go +++ b/operator/constants/constants.go @@ -54,6 +54,6 @@ const ( // Explainers const ( - ExplainerPathSuffix = "/explainer" + ExplainerPathSuffix = "-explainer" ExplainerNameSuffix = "-explainer" ) diff --git a/operator/controllers/ambassador.go b/operator/controllers/ambassador.go index c8670f0497..6778dd8ed4 100644 --- a/operator/controllers/ambassador.go +++ b/operator/controllers/ambassador.go @@ -80,8 +80,8 @@ func getAmbassadorRestConfig(mlDep *machinelearningv1.SeldonDeployment, name := p.Name if isExplainer { - name = name + constants.ExplainerNameSuffix - serviceNameExternal = serviceNameExternal + constants.ExplainerPathSuffix + name = p.Name + constants.ExplainerNameSuffix + serviceNameExternal = serviceNameExternal + constants.ExplainerPathSuffix + "/" + p.Name } c := AmbassadorConfig{ diff --git a/operator/controllers/ambassador_test.go b/operator/controllers/ambassador_test.go index d8c380fbc9..438148cd14 100644 --- a/operator/controllers/ambassador_test.go +++ b/operator/controllers/ambassador_test.go @@ -25,7 +25,7 @@ func basicAbassadorTests(t *testing.T, mlDep *machinelearningv1.SeldonDeployment err = yaml.Unmarshal([]byte(parts[0]), &c) g.Expect(err).To(BeNil()) if isExplainer { - g.Expect(c.Prefix).To(Equal("/seldon/default/mymodel" + constants.ExplainerPathSuffix + "/")) + g.Expect(c.Prefix).To(Equal("/seldon/default/mymodel" + constants.ExplainerPathSuffix + "/" + p.Name + "/")) } else { g.Expect(c.Prefix).To(Equal("/seldon/default/mymodel/")) } diff --git a/operator/controllers/seldondeployment_explainers.go b/operator/controllers/seldondeployment_explainers.go index a247a8b5fd..44aa2fdb02 100644 --- a/operator/controllers/seldondeployment_explainers.go +++ b/operator/controllers/seldondeployment_explainers.go @@ -224,7 +224,7 @@ func createExplainerIstioResources(pSvcName string, p *machinelearningv1.Predict { Match: []*istio_networking.HTTPMatchRequest{ { - Uri: &istio_networking.StringMatch{MatchType: &istio_networking.StringMatch_Prefix{Prefix: "/seldon/" + namespace + "/" + mlDep.Name + "/" + p.Name + constants.ExplainerPathSuffix + "/"}}, + Uri: &istio_networking.StringMatch{MatchType: &istio_networking.StringMatch_Prefix{Prefix: "/seldon/" + namespace + "/" + mlDep.GetName() + constants.ExplainerPathSuffix + "/" + p.Name + "/"}}, }, }, Rewrite: &istio_networking.HTTPRewrite{Uri: "/"}, @@ -247,7 +247,7 @@ func createExplainerIstioResources(pSvcName string, p *machinelearningv1.Predict { Uri: &istio_networking.StringMatch{MatchType: &istio_networking.StringMatch_Prefix{Prefix: "/seldon.protos.Seldon/"}}, Headers: map[string]*istio_networking.StringMatch{ - "seldon": &istio_networking.StringMatch{MatchType: &istio_networking.StringMatch_Exact{Exact: mlDep.Name}}, + "seldon": &istio_networking.StringMatch{MatchType: &istio_networking.StringMatch_Exact{Exact: mlDep.GetName()}}, "namespace": &istio_networking.StringMatch{MatchType: &istio_networking.StringMatch_Exact{Exact: namespace}}, }, }, diff --git a/python/seldon_core/seldon_client.py b/python/seldon_core/seldon_client.py index 132a4591d6..128c889417 100644 --- a/python/seldon_core/seldon_client.py +++ b/python/seldon_core/seldon_client.py @@ -211,10 +211,15 @@ def __init__( logger.debug("Configuration:" + str(self.config)) def _gather_args(self, **kwargs): - - c2 = {**self.config} - c2.update({k: v for k, v in kwargs.items() if v is not None}) - return c2 + """ + Performs a left outer join where kwargs is left and self.config is right + which means that the resulting dictionary will only have the variables provided + by the parameters available in kwargs, but will be overriden by kwargs if a value + that is not None is present. + """ + for k, v in kwargs.items(): + kwargs[k] = v if kwargs[k] is not None else self.config.get(k, None) + return kwargs def _validate_args( self, @@ -512,11 +517,7 @@ def explain( transport: str = None, deployment_name: str = None, payload_type: str = None, - seldon_rest_endpoint: str = None, - seldon_grpc_endpoint: str = None, gateway_endpoint: str = None, - microservice_endpoint: str = None, - method: str = None, shape: Tuple = (1, 1), namespace: str = None, data: np.ndarray = None, @@ -528,6 +529,7 @@ def explain( headers: Dict = None, http_path: str = None, client_return_type: str = None, + predictor: str = None, ) -> Dict: """ @@ -573,6 +575,8 @@ def explain( Custom http path for predict call to use client_return_type the return type of all functions can be either dict or proto + predictor + The name of the predictor to send the explanations to Returns ------- @@ -583,11 +587,7 @@ def explain( transport=transport, deployment_name=deployment_name, payload_type=payload_type, - seldon_rest_endpoint=seldon_rest_endpoint, - seldon_grpc_endpoint=seldon_grpc_endpoint, gateway_endpoint=gateway_endpoint, - microservice_endpoint=microservice_endpoint, - method=method, shape=shape, namespace=namespace, names=names, @@ -599,6 +599,7 @@ def explain( headers=headers, http_path=http_path, client_return_type=client_return_type, + predictor=predictor, ) self._validate_args(**k) if k["gateway"] == "ambassador" or k["gateway"] == "istio": @@ -1272,7 +1273,7 @@ def get_token( token = response.json()["access_token"] return token else: - print("Failed to get token:" + response.text) + logger.debug("Failed to get token:" + response.text) raise SeldonClientException(response.text) @@ -1641,6 +1642,8 @@ def explain_predict_gateway( deployment_name: str, namespace: str = None, gateway_endpoint: str = "localhost:8003", + gateway: str = None, + transport: str = "rest", shape: Tuple[int, int] = (1, 1), data: np.ndarray = None, headers: Dict = None, @@ -1654,7 +1657,7 @@ def explain_predict_gateway( channel_credentials: SeldonChannelCredentials = None, http_path: str = None, client_return_type: str = "dict", - **kwargs, + predictor: str = None, ) -> SeldonClientPrediction: """ REST explain request to Gateway Ingress @@ -1667,6 +1670,10 @@ def explain_predict_gateway( k8s namespace of running deployment gateway_endpoint The host:port of gateway + gateway + The type of gateway which can be seldon or ambassador/istio + transport + The type of transport, in this case only rest is supported shape The shape of the data to send data @@ -1699,6 +1706,9 @@ def explain_predict_gateway( A JSON Dict """ + if transport != "rest": + raise SeldonClientException("Only supported transport is REST for explanations") + if bin_data is not None: request = prediction_pb2.SeldonMessage(binData=bin_data) elif str_data is not None: @@ -1724,7 +1734,7 @@ def explain_predict_gateway( if not call_credentials.token is None: req_headers["X-Auth-Token"] = call_credentials.token if http_path is not None: - url = url = ( + url = ( scheme + "://" + gateway_endpoint @@ -1732,9 +1742,19 @@ def explain_predict_gateway( + namespace + "/" + deployment_name + + "-explainer" + + "/" + + predictor + http_path ) + elif gateway == "seldon": + url = scheme + "://" + gateway_endpoint + "/api/v1.0/explain" else: + if not predictor: + raise SeldonClientException( + "Predictor parameter must be provided to talk through explainer via gateway" + ) + if gateway_prefix is None: if namespace is None: url = ( @@ -1743,7 +1763,10 @@ def explain_predict_gateway( + gateway_endpoint + "/seldon/" + deployment_name - + "/explainer/api/v1.0/explain" + + "-explainer" + + "/" + + predictor + + "/api/v1.0/explain" ) else: url = ( @@ -1754,15 +1777,14 @@ def explain_predict_gateway( + namespace + "/" + deployment_name - + "/explainer/api/v1.0/explain" + + "-explainer" + + "/" + + predictor + + "/api/v1.0/explain" ) else: url = ( - scheme - + "://" - + gateway_endpoint - + gateway_prefix - + +"/api/v1.0/explain" + scheme + "://" + gateway_endpoint + gateway_prefix + "/api/v1.0/explain" ) verify = True cert = None @@ -1781,7 +1803,6 @@ def explain_predict_gateway( url, json=payload, headers=req_headers, verify=verify, cert=cert ) if response_raw.status_code == 200: - print(client_return_type) if client_return_type == "dict": ret_request = payload ret_response = response_raw.json() diff --git a/python/seldon_core/version.py b/python/seldon_core/version.py index 7863915fa5..7138c42cf2 100644 --- a/python/seldon_core/version.py +++ b/python/seldon_core/version.py @@ -1 +1 @@ -__version__ = "1.0.2" +__version__ = "1.0.3-SNAPSHOT" diff --git a/python/tests/test_seldon_client.py b/python/tests/test_seldon_client.py index 40121c8e44..16d4168889 100644 --- a/python/tests/test_seldon_client.py +++ b/python/tests/test_seldon_client.py @@ -142,9 +142,9 @@ def test_predict_rest_json_data_seldon_return_type(mock_post, mock_token): @mock.patch("requests.post", side_effect=mocked_requests_post_success_json_data) def test_explain_rest_json_data_ambassador(mock_post): sc = SeldonClient( - deployment_name="mymodel", gateway="ambassador", client_return_type="dict" + deployment_name="mymodel", gateway="ambassador", client_return_type="dict", ) - response = sc.explain(json_data=JSON_TEST_DATA) + response = sc.explain(json_data=JSON_TEST_DATA, predictor="default") json_response = response.response # Currently this doesn't need to convert to JSON due to #1083 # i.e. json_response = seldon_message_to_json(response.response) @@ -157,9 +157,9 @@ def test_explain_rest_json_data_ambassador(mock_post): @mock.patch("requests.post", side_effect=mocked_requests_post_success_json_data) def test_explain_rest_json_data_ambassador_dict_response(mock_post): sc = SeldonClient( - deployment_name="mymodel", gateway="ambassador", client_return_type="dict" + deployment_name="mymodel", gateway="ambassador", client_return_type="dict", ) - response = sc.explain(json_data=JSON_TEST_DATA) + response = sc.explain(json_data=JSON_TEST_DATA, predictor="default") json_response = response.response # Currently this doesn't need to convert to JSON due to #1083 # i.e. json_response = seldon_message_to_json(response.response) diff --git a/testing/resources/movies-text-explainer.yaml b/testing/resources/movies-text-explainer.yaml new file mode 100644 index 0000000000..fbbad7951a --- /dev/null +++ b/testing/resources/movies-text-explainer.yaml @@ -0,0 +1,16 @@ +apiVersion: machinelearning.seldon.io/v1 +kind: SeldonDeployment +metadata: + name: movie +spec: + name: movie + predictors: + - graph: + children: [] + implementation: SKLEARN_SERVER + modelUri: gs://seldon-models/sklearn/moviesentiment + name: classifier + explainer: + type: AnchorText + name: movies-predictor + replicas: 1 diff --git a/testing/scripts/seldon_e2e_utils.py b/testing/scripts/seldon_e2e_utils.py index afe58d9e5d..ca48a0edb9 100644 --- a/testing/scripts/seldon_e2e_utils.py +++ b/testing/scripts/seldon_e2e_utils.py @@ -185,6 +185,8 @@ def rest_request( data=None, dtype="tensor", names=None, + method="predict", + predictor_name="default", ): try: r = rest_request_ambassador( @@ -196,6 +198,8 @@ def rest_request( data=data, dtype=dtype, names=names, + method=method, + predictor_name=predictor_name, ) if not r.status_code == 200: logging.warning(f"Bad status:{r.status_code}") @@ -216,6 +220,7 @@ def initial_rest_request( data=None, dtype="tensor", names=None, + method="predict", ): sleeping_times = [1, 5, 10] attempt = 0 @@ -231,6 +236,7 @@ def initial_rest_request( data=data, dtype=dtype, names=names, + method=method, ) if r is None or r.status_code != 200: @@ -319,6 +325,8 @@ def rest_request_ambassador( data=None, dtype="tensor", names=None, + method="predict", + predictor_name="default", ): if data is None: shape, arr = create_random_data(data_size, rows) @@ -336,16 +344,18 @@ def rest_request_ambassador( if names is not None: payload["data"]["names"] = names - if namespace is None: + if method == "predict": response = requests.post( "http://" + endpoint + "/seldon/" + + namespace + + "/" + deployment_name + "/api/v0.1/predictions", json=payload, ) - else: + elif method == "explain": response = requests.post( "http://" + endpoint @@ -353,9 +363,13 @@ def rest_request_ambassador( + namespace + "/" + deployment_name - + "/api/v0.1/predictions", + + "-explainer" + + "/" + + predictor_name + + "/api/v0.1/explain", json=payload, ) + return response diff --git a/testing/scripts/test_prepackaged_servers.py b/testing/scripts/test_prepackaged_servers.py index 79a51745c4..81ba231c40 100644 --- a/testing/scripts/test_prepackaged_servers.py +++ b/testing/scripts/test_prepackaged_servers.py @@ -4,6 +4,7 @@ retry_run, create_random_data, wait_for_status, + rest_request, ) from subprocess import run import time @@ -90,3 +91,27 @@ def test_mlflow(self, namespace): assert r.status_code == 200 run(f"kubectl delete -f {spec} -n {namespace}", shell=True) + + # Test prepackaged Text SKLearn Alibi Explainer + def test_text_alibi_explainer(self, namespace): + spec = "../resources/movies-text-explainer.yaml" + retry_run(f"kubectl apply -f {spec} -n {namespace}") + wait_for_status("movie", namespace) + wait_for_rollout("movie", namespace, expected_deployments=2) + time.sleep(1) + logging.warning("Initial request") + r = initial_rest_request( + "movie", namespace, data=["This is test data"], dtype="ndarray" + ) + assert r.status_code == 200 + e = rest_request( + "movie", + namespace, + data=["This is test data"], + dtype="ndarray", + method="explain", + predictor_name="movies-predictor", + ) + assert e.status_code == 200 + logging.warning("Success for test_prepack_sklearn") + run(f"kubectl delete -f {spec} -n {namespace}", shell=True)