Search in sources :

Example 1 with AnnotationPayload

use of com.google.cloud.automl.v1.AnnotationPayload in project java-automl by googleapis.

the class PredictionApi method predict.

// [START automl_vision_predict]
/**
 * Demonstrates using the AutoML client to predict an image.
 *
 * @param projectId the Id of the project.
 * @param computeRegion the Region name.
 * @param modelId the Id of the model which will be used for text classification.
 * @param filePath the Local text file path of the content to be classified.
 * @param scoreThreshold the Confidence score. Only classifications with confidence score above
 *     scoreThreshold are displayed.
 */
static void predict(String projectId, String computeRegion, String modelId, String filePath, String scoreThreshold) throws IOException {
    // Instantiate client for prediction service.
    try (PredictionServiceClient predictionClient = PredictionServiceClient.create()) {
        // Get the full path of the model.
        ModelName name = ModelName.of(projectId, computeRegion, modelId);
        // Read the image and assign to payload.
        ByteString content = ByteString.copyFrom(Files.readAllBytes(Paths.get(filePath)));
        Image image = Image.newBuilder().setImageBytes(content).build();
        ExamplePayload examplePayload = ExamplePayload.newBuilder().setImage(image).build();
        // Additional parameters that can be provided for prediction e.g. Score Threshold
        Map<String, String> params = new HashMap<>();
        if (scoreThreshold != null) {
            params.put("score_threshold", scoreThreshold);
        }
        // Perform the AutoML Prediction request
        PredictResponse response = predictionClient.predict(name, examplePayload, params);
        System.out.println("Prediction results:");
        for (AnnotationPayload annotationPayload : response.getPayloadList()) {
            System.out.println("Predicted class name :" + annotationPayload.getDisplayName());
            System.out.println("Predicted class score :" + annotationPayload.getClassification().getScore());
        }
    }
}
Also used : ModelName(com.google.cloud.automl.v1.ModelName) HashMap(java.util.HashMap) ByteString(com.google.protobuf.ByteString) PredictResponse(com.google.cloud.automl.v1.PredictResponse) ExamplePayload(com.google.cloud.automl.v1.ExamplePayload) ByteString(com.google.protobuf.ByteString) Image(com.google.cloud.automl.v1.Image) PredictionServiceClient(com.google.cloud.automl.v1.PredictionServiceClient) AnnotationPayload(com.google.cloud.automl.v1.AnnotationPayload)

Example 2 with AnnotationPayload

use of com.google.cloud.automl.v1.AnnotationPayload in project java-automl by googleapis.

the class LanguageSentimentAnalysisPredict method predict.

static void predict(String projectId, String modelId, String content) throws IOException {
    // the "close" method on the client to safely clean up any remaining background resources.
    try (PredictionServiceClient client = PredictionServiceClient.create()) {
        // Get the full path of the model.
        ModelName name = ModelName.of(projectId, "us-central1", modelId);
        // For available mime types, see:
        // https://cloud.google.com/automl/docs/reference/rest/v1/projects.locations.models/predict#textsnippet
        TextSnippet textSnippet = TextSnippet.newBuilder().setContent(content).setMimeType(// Types: text/plain, text/html
        "text/plain").build();
        ExamplePayload payload = ExamplePayload.newBuilder().setTextSnippet(textSnippet).build();
        PredictRequest predictRequest = PredictRequest.newBuilder().setName(name.toString()).setPayload(payload).build();
        PredictResponse response = client.predict(predictRequest);
        for (AnnotationPayload annotationPayload : response.getPayloadList()) {
            System.out.format("Predicted class name: %s\n", annotationPayload.getDisplayName());
            System.out.format("Predicted sentiment score: %d\n", annotationPayload.getTextSentiment().getSentiment());
        }
    }
}
Also used : ModelName(com.google.cloud.automl.v1.ModelName) TextSnippet(com.google.cloud.automl.v1.TextSnippet) PredictResponse(com.google.cloud.automl.v1.PredictResponse) ExamplePayload(com.google.cloud.automl.v1.ExamplePayload) PredictRequest(com.google.cloud.automl.v1.PredictRequest) PredictionServiceClient(com.google.cloud.automl.v1.PredictionServiceClient) AnnotationPayload(com.google.cloud.automl.v1.AnnotationPayload)

Example 3 with AnnotationPayload

use of com.google.cloud.automl.v1.AnnotationPayload in project java-automl by googleapis.

the class LanguageEntityExtractionPredict method predict.

static void predict(String projectId, String modelId, String content) throws IOException {
    // the "close" method on the client to safely clean up any remaining background resources.
    try (PredictionServiceClient client = PredictionServiceClient.create()) {
        // Get the full path of the model.
        ModelName name = ModelName.of(projectId, "us-central1", modelId);
        // For available mime types, see:
        // https://cloud.google.com/automl/docs/reference/rest/v1/projects.locations.models/predict#textsnippet
        TextSnippet textSnippet = TextSnippet.newBuilder().setContent(content).setMimeType(// Types: text/plain, text/html
        "text/plain").build();
        ExamplePayload payload = ExamplePayload.newBuilder().setTextSnippet(textSnippet).build();
        PredictRequest predictRequest = PredictRequest.newBuilder().setName(name.toString()).setPayload(payload).build();
        PredictResponse response = client.predict(predictRequest);
        for (AnnotationPayload annotationPayload : response.getPayloadList()) {
            System.out.format("Text Extract Entity Type: %s\n", annotationPayload.getDisplayName());
            System.out.format("Text score: %.2f\n", annotationPayload.getTextExtraction().getScore());
            TextSegment textSegment = annotationPayload.getTextExtraction().getTextSegment();
            System.out.format("Text Extract Entity Content: %s\n", textSegment.getContent());
            System.out.format("Text Start Offset: %s\n", textSegment.getStartOffset());
            System.out.format("Text End Offset: %s\n\n", textSegment.getEndOffset());
        }
    }
}
Also used : ModelName(com.google.cloud.automl.v1.ModelName) TextSnippet(com.google.cloud.automl.v1.TextSnippet) PredictResponse(com.google.cloud.automl.v1.PredictResponse) ExamplePayload(com.google.cloud.automl.v1.ExamplePayload) TextSegment(com.google.cloud.automl.v1.TextSegment) PredictRequest(com.google.cloud.automl.v1.PredictRequest) PredictionServiceClient(com.google.cloud.automl.v1.PredictionServiceClient) AnnotationPayload(com.google.cloud.automl.v1.AnnotationPayload)

Example 4 with AnnotationPayload

use of com.google.cloud.automl.v1.AnnotationPayload in project java-automl by googleapis.

the class LanguageTextClassificationPredict method predict.

static void predict(String projectId, String modelId, String content) throws IOException {
    // the "close" method on the client to safely clean up any remaining background resources.
    try (PredictionServiceClient client = PredictionServiceClient.create()) {
        // Get the full path of the model.
        ModelName name = ModelName.of(projectId, "us-central1", modelId);
        // For available mime types, see:
        // https://cloud.google.com/automl/docs/reference/rest/v1/projects.locations.models/predict#textsnippet
        TextSnippet textSnippet = TextSnippet.newBuilder().setContent(content).setMimeType(// Types: text/plain, text/html
        "text/plain").build();
        ExamplePayload payload = ExamplePayload.newBuilder().setTextSnippet(textSnippet).build();
        PredictRequest predictRequest = PredictRequest.newBuilder().setName(name.toString()).setPayload(payload).build();
        PredictResponse response = client.predict(predictRequest);
        for (AnnotationPayload annotationPayload : response.getPayloadList()) {
            System.out.format("Predicted class name: %s\n", annotationPayload.getDisplayName());
            System.out.format("Predicted sentiment score: %.2f\n\n", annotationPayload.getClassification().getScore());
        }
    }
}
Also used : ModelName(com.google.cloud.automl.v1.ModelName) TextSnippet(com.google.cloud.automl.v1.TextSnippet) PredictResponse(com.google.cloud.automl.v1.PredictResponse) ExamplePayload(com.google.cloud.automl.v1.ExamplePayload) PredictRequest(com.google.cloud.automl.v1.PredictRequest) PredictionServiceClient(com.google.cloud.automl.v1.PredictionServiceClient) AnnotationPayload(com.google.cloud.automl.v1.AnnotationPayload)

Example 5 with AnnotationPayload

use of com.google.cloud.automl.v1.AnnotationPayload in project java-automl by googleapis.

the class VisionClassificationPredict method predict.

static void predict(String projectId, String modelId, String filePath) throws IOException {
    // the "close" method on the client to safely clean up any remaining background resources.
    try (PredictionServiceClient client = PredictionServiceClient.create()) {
        // Get the full path of the model.
        ModelName name = ModelName.of(projectId, "us-central1", modelId);
        ByteString content = ByteString.copyFrom(Files.readAllBytes(Paths.get(filePath)));
        Image image = Image.newBuilder().setImageBytes(content).build();
        ExamplePayload payload = ExamplePayload.newBuilder().setImage(image).build();
        PredictRequest predictRequest = PredictRequest.newBuilder().setName(name.toString()).setPayload(payload).putParams("score_threshold", // [0.0-1.0] Only produce results higher than this value
        "0.8").build();
        PredictResponse response = client.predict(predictRequest);
        for (AnnotationPayload annotationPayload : response.getPayloadList()) {
            System.out.format("Predicted class name: %s\n", annotationPayload.getDisplayName());
            System.out.format("Predicted class score: %.2f\n", annotationPayload.getClassification().getScore());
        }
    }
}
Also used : ModelName(com.google.cloud.automl.v1.ModelName) ByteString(com.google.protobuf.ByteString) PredictResponse(com.google.cloud.automl.v1.PredictResponse) ExamplePayload(com.google.cloud.automl.v1.ExamplePayload) Image(com.google.cloud.automl.v1.Image) PredictRequest(com.google.cloud.automl.v1.PredictRequest) PredictionServiceClient(com.google.cloud.automl.v1.PredictionServiceClient) AnnotationPayload(com.google.cloud.automl.v1.AnnotationPayload)

Aggregations

AnnotationPayload (com.google.cloud.automl.v1.AnnotationPayload)6 ExamplePayload (com.google.cloud.automl.v1.ExamplePayload)6 ModelName (com.google.cloud.automl.v1.ModelName)6 PredictResponse (com.google.cloud.automl.v1.PredictResponse)6 PredictionServiceClient (com.google.cloud.automl.v1.PredictionServiceClient)6 PredictRequest (com.google.cloud.automl.v1.PredictRequest)5 ByteString (com.google.protobuf.ByteString)4 Image (com.google.cloud.automl.v1.Image)3 TextSnippet (com.google.cloud.automl.v1.TextSnippet)3 AnnotationPayload (com.google.cloud.automl.v1beta1.AnnotationPayload)2 ExamplePayload (com.google.cloud.automl.v1beta1.ExamplePayload)2 ModelName (com.google.cloud.automl.v1beta1.ModelName)2 PredictResponse (com.google.cloud.automl.v1beta1.PredictResponse)2 PredictionServiceClient (com.google.cloud.automl.v1beta1.PredictionServiceClient)2 HashMap (java.util.HashMap)2 BoundingPoly (com.google.cloud.automl.v1.BoundingPoly)1 NormalizedVertex (com.google.cloud.automl.v1.NormalizedVertex)1 TextSegment (com.google.cloud.automl.v1.TextSegment)1 Image (com.google.cloud.automl.v1beta1.Image)1 PredictRequest (com.google.cloud.automl.v1beta1.PredictRequest)1