kamilwu commented on a change in pull request #11075: [BEAM-9421] Website section that describes getting predictions using AI Platform Prediciton URL: https://github.com/apache/beam/pull/11075#discussion_r392306737
########## File path: website/src/documentation/patterns/ai-platform.md ########## @@ -0,0 +1,87 @@ +--- +layout: section +title: "AI Platform integration patterns" +section_menu: section-menu/documentation.html +permalink: /documentation/patterns/ai-platform/ +--- +<!-- +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +--> + +# AI Platform integration patterns + +This page describes common patterns in pipelines with Google AI Platform transforms. + +<nav class="language-switcher"> + <strong>Adapt for:</strong> + <ul> + <li data-type="language-java">Java SDK</li> + <li data-type="language-py" class="active">Python SDK</li> + </ul> +</nav> + +## Getting predictions + +This section shows how to use your cloud-hosted machine learning model to make predictions about new data using Google Cloud AI Platform Prediction within Beam's pipeline. + +We are going to use [tfx_bsl](https://github.com/tensorflow/tfx-bsl) library which provides `RunInference` Beam's PTransform. `RunInference` is a PTransform able to perform two types of inference. In this section we are going to consider one of them that uses a service endpoint. When using a service endpoint, the transform takes a PCollection of type `tf.train.Example` and, for each element, sends a request to Google Cloud AI Platform Prediction service. The transform produces a PCollection of type `PredictLog` which contains predictions. + +Before we get started, we have to deploy a machine learning model to the cloud. The cloud service manages the infrastructure needed to handle prediction requests in both efficient and scalable way. Only Tensorflow models are supported. For more information, see [Exporting a SavedModel for prediction](https://cloud.google.com/ai-platform/prediction/docs/exporting-savedmodel-for-prediction). + +Let's show an example of a pipeline that reads input instances from the file, converts JSON objects to `tf.train.Example` objects and sends data to the service. The content of a file can look like this: + +``` +{"input": "the quick brown"} +{"input": "la bruja le"} +``` + +Here is the code: + +{:.language-java} +```java +// Getting predictions is not available for Java. Review comment: Done. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services