From 1714d37073da63758291ad2b85c580410f96a2c8 Mon Sep 17 00:00:00 2001 From: nnegrey Date: Mon, 18 Nov 2019 08:55:45 -0700 Subject: [PATCH 1/3] Update model evaluation due to canonical sample changes --- automl/cloud-client/README.md | 4 +- .../example/automl/GetModelEvaluation.java | 45 +++++++++++++++++-- .../example/automl/ListModelEvaluations.java | 45 +++++++++++++++++-- 3 files changed, 86 insertions(+), 8 deletions(-) diff --git a/automl/cloud-client/README.md b/automl/cloud-client/README.md index b7d8d39298c..f9482342b51 100644 --- a/automl/cloud-client/README.md +++ b/automl/cloud-client/README.md @@ -56,9 +56,9 @@ small section of code to print out the `metadata` field. * [Delete Dataset](src/main/java/com/example/automl/DeleteDataset.java) ### Model Management * [List Models](src/main/java/com/example/automl/ListModels.java) -* [List Model Evaluation](src/main/java/com/example/automl/ListModelEvaluations.java) +* [List Model Evaluation](src/main/java/com/example/automl/ListModelEvaluations.java) - For each AutoML Type the `metrics` field inside the model is unique, therefore each AutoML Type will have a small section of code to print out the `metrics` field. * [Get Model](src/main/java/com/example/automl/) -* [Get Model Evaluation](src/main/java/com/example/automl/GetModelEvaluation.java) +* [Get Model Evaluation](src/main/java/com/example/automl/GetModelEvaluation.java) - For each AutoML Type the `metrics` field inside the model is unique, therefore each AutoML Type will have a small section of code to print out the `metrics` field. * [Delete Model](src/main/java/com/example/automl/DeleteModel.java) * [Deploy Model](src/main/java/com/example/automl/DeployModel.java) - Not supported by Translation * [Uneploy Model](src/main/java/com/example/automl/UndeployModel.java) - Not supported by Translation diff --git a/automl/cloud-client/src/main/java/com/example/automl/GetModelEvaluation.java b/automl/cloud-client/src/main/java/com/example/automl/GetModelEvaluation.java index 3048f6648a4..4531184186e 100644 --- a/automl/cloud-client/src/main/java/com/example/automl/GetModelEvaluation.java +++ b/automl/cloud-client/src/main/java/com/example/automl/GetModelEvaluation.java @@ -16,7 +16,12 @@ package com.example.automl; -// [START automl_get_model_evaluation] +// [START automl_language_entity_extraction_get_model_evaluation] +// [START automl_language_sentiment_analysis_get_model_evaluation] +// [START automl_language_text_classification_get_model_evaluation] +// [START automl_translate_get_model_evaluation] +// [START automl_vision_classification_get_model_evaluation] +// [START automl_vision_object_detection_get_model_evaluation] import com.google.cloud.automl.v1.AutoMlClient; import com.google.cloud.automl.v1.ModelEvaluation; import com.google.cloud.automl.v1.ModelEvaluationName; @@ -54,9 +59,43 @@ static void getModelEvaluation(String projectId, String modelId, String modelEva System.out.format("\tnanos: %s", modelEvaluation.getCreateTime().getNanos() / 1e9); System.out.format( "Evalution Example Count: %d\n", modelEvaluation.getEvaluatedExampleCount()); + // [END automl_language_sentiment_analysis_get_model_evaluation] + // [END automl_language_text_classification_get_model_evaluation] + // [END automl_translate_get_model_evaluation] + // [END automl_vision_classification_get_model_evaluation] + // [END automl_vision_object_detection_get_model_evaluation] + System.out.format("Entity Extraction Model Evaluation Metrics: %s\n", modelEvaluation.getTextExtractionEvaluationMetrics()); + // [END automl_language_entity_extraction_get_model_evaluation] + + // [START automl_language_sentiment_analysis_get_model_evaluation] + System.out.format("Sentiment Analysis Model Evaluation Metrics: %s\n", modelEvaluation.getTextSentimentEvaluationMetrics()); + // [END automl_language_sentiment_analysis_get_model_evaluation] + + // [START automl_language_text_classification_get_model_evaluation] + // [START automl_vision_classification_get_model_evaluation] + System.out.format("Classification Model Evaluation Metrics: %s\n", modelEvaluation.getClassificationEvaluationMetrics()); + // [END automl_language_text_classification_get_model_evaluation] + // [END automl_vision_classification_get_model_evaluation] + + // [START automl_translate_get_model_evaluation] System.out.format( - "Model Evaluation Metrics: %s\n", modelEvaluation.getTranslationEvaluationMetrics()); + "Translate Model Evaluation Metrics: %s\n", modelEvaluation.getTranslationEvaluationMetrics()); + // [END automl_translate_get_model_evaluation] + + + // [START automl_vision_object_detection_get_model_evaluation] + System.out.format("Object Detection Model Evaluation Metrics: %s\n", modelEvaluation.getImageObjectDetectionEvaluationMetrics()); + // [START automl_language_entity_extraction_get_model_evaluation] + // [START automl_language_sentiment_analysis_get_model_evaluation] + // [START automl_language_text_classification_get_model_evaluation] + // [START automl_translate_get_model_evaluation] + // [START automl_vision_classification_get_model_evaluation] } } } -// [END automl_get_model_evaluation] +// [END automl_language_entity_extraction_get_model_evaluation] +// [END automl_language_sentiment_analysis_get_model_evaluation] +// [END automl_language_text_classification_get_model_evaluation] +// [END automl_translate_get_model_evaluation] +// [END automl_vision_classification_get_model_evaluation] +// [END automl_vision_object_detection_get_model_evaluation] \ No newline at end of file diff --git a/automl/cloud-client/src/main/java/com/example/automl/ListModelEvaluations.java b/automl/cloud-client/src/main/java/com/example/automl/ListModelEvaluations.java index 8172f9dfc00..e0ad1b7f345 100644 --- a/automl/cloud-client/src/main/java/com/example/automl/ListModelEvaluations.java +++ b/automl/cloud-client/src/main/java/com/example/automl/ListModelEvaluations.java @@ -16,7 +16,12 @@ package com.example.automl; -// [START automl_list_model_evaluations] +// [START automl_language_entity_extraction_list_model_evaluations] +// [START automl_language_sentiment_analysis_list_model_evaluations] +// [START automl_language_text_classification_list_model_evaluations] +// [START automl_translate_list_model_evaluations] +// [START automl_vision_classification_list_model_evaluations] +// [START automl_vision_object_detection_list_model_evaluations] import com.google.cloud.automl.v1.AutoMlClient; import com.google.cloud.automl.v1.ListModelEvaluationsRequest; import com.google.cloud.automl.v1.ModelEvaluation; @@ -56,10 +61,44 @@ static void listModelEvaluations(String projectId, String modelId) throws IOExce System.out.format("\tnanos: %s", modelEvaluation.getCreateTime().getNanos() / 1e9); System.out.format( "Evalution Example Count: %d\n", modelEvaluation.getEvaluatedExampleCount()); + // [END automl_language_sentiment_analysis_list_model_evaluations] + // [END automl_language_text_classification_list_model_evaluations] + // [END automl_translate_list_model_evaluations] + // [END automl_vision_classification_list_model_evaluations] + // [END automl_vision_object_detection_list_model_evaluations] + System.out.format("Entity Extraction Model Evaluation Metrics: %s\n", modelEvaluation.getTextExtractionEvaluationMetrics()); + // [END automl_language_entity_extraction_list_model_evaluations] + + // [START automl_language_sentiment_analysis_list_model_evaluations] + System.out.format("Sentiment Analysis Model Evaluation Metrics: %s\n", modelEvaluation.getTextSentimentEvaluationMetrics()); + // [END automl_language_sentiment_analysis_list_model_evaluations] + + // [START automl_language_text_classification_list_model_evaluations] + // [START automl_vision_classification_list_model_evaluations] + System.out.format("Classification Model Evaluation Metrics: %s\n", modelEvaluation.getClassificationEvaluationMetrics()); + // [END automl_language_text_classification_list_model_evaluations] + // [END automl_vision_classification_list_model_evaluations] + + // [START automl_translate_list_model_evaluations] System.out.format( - "Model Evaluation Metrics: %s\n\n", modelEvaluation.getTranslationEvaluationMetrics()); + "Translate Model Evaluation Metrics: %s\n", modelEvaluation.getTranslationEvaluationMetrics()); + // [END automl_translate_list_model_evaluations] + + + // [START automl_vision_object_detection_list_model_evaluations] + System.out.format("Object Detection Model Evaluation Metrics: %s\n", modelEvaluation.getImageObjectDetectionEvaluationMetrics()); + // [START automl_language_entity_extraction_list_model_evaluations] + // [START automl_language_sentiment_analysis_list_model_evaluations] + // [START automl_language_text_classification_list_model_evaluations] + // [START automl_translate_list_model_evaluations] + // [START automl_vision_classification_list_model_evaluations] } } } } -// [END automl_list_model_evaluations] +// [END automl_language_entity_extraction_list_model_evaluations] +// [END automl_language_sentiment_analysis_list_model_evaluations] +// [END automl_language_text_classification_list_model_evaluations] +// [END automl_translate_list_model_evaluations] +// [END automl_vision_classification_list_model_evaluations] +// [END automl_vision_object_detection_list_model_evaluations] From c0902b3afecbb3bd37cd8e58b3f5c9db41a08f98 Mon Sep 17 00:00:00 2001 From: Noah Negrey Date: Mon, 18 Nov 2019 08:57:07 -0700 Subject: [PATCH 2/3] Update GetModelEvaluation.java --- .../src/main/java/com/example/automl/GetModelEvaluation.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/automl/cloud-client/src/main/java/com/example/automl/GetModelEvaluation.java b/automl/cloud-client/src/main/java/com/example/automl/GetModelEvaluation.java index 4531184186e..3fb265b58d0 100644 --- a/automl/cloud-client/src/main/java/com/example/automl/GetModelEvaluation.java +++ b/automl/cloud-client/src/main/java/com/example/automl/GetModelEvaluation.java @@ -98,4 +98,4 @@ static void getModelEvaluation(String projectId, String modelId, String modelEva // [END automl_language_text_classification_get_model_evaluation] // [END automl_translate_get_model_evaluation] // [END automl_vision_classification_get_model_evaluation] -// [END automl_vision_object_detection_get_model_evaluation] \ No newline at end of file +// [END automl_vision_object_detection_get_model_evaluation] From f33831853b4f02f3f04c8d04adee1cbfe5298061 Mon Sep 17 00:00:00 2001 From: nnegrey Date: Mon, 18 Nov 2019 09:25:46 -0700 Subject: [PATCH 3/3] Run formatter and lint --- .../example/automl/GetModelEvaluation.java | 22 ++++++++++++------- .../example/automl/ListModelEvaluations.java | 22 ++++++++++++------- 2 files changed, 28 insertions(+), 16 deletions(-) diff --git a/automl/cloud-client/src/main/java/com/example/automl/GetModelEvaluation.java b/automl/cloud-client/src/main/java/com/example/automl/GetModelEvaluation.java index 4531184186e..5796810e821 100644 --- a/automl/cloud-client/src/main/java/com/example/automl/GetModelEvaluation.java +++ b/automl/cloud-client/src/main/java/com/example/automl/GetModelEvaluation.java @@ -22,6 +22,7 @@ // [START automl_translate_get_model_evaluation] // [START automl_vision_classification_get_model_evaluation] // [START automl_vision_object_detection_get_model_evaluation] + import com.google.cloud.automl.v1.AutoMlClient; import com.google.cloud.automl.v1.ModelEvaluation; import com.google.cloud.automl.v1.ModelEvaluationName; @@ -40,14 +41,14 @@ static void getModelEvaluation() throws IOException { // Get a model evaluation static void getModelEvaluation(String projectId, String modelId, String modelEvaluationId) - throws IOException { + throws IOException { // Initialize client that will be used to send requests. This client only needs to be created // once, and can be reused for multiple requests. After completing all of your requests, call // the "close" method on the client to safely clean up any remaining background resources. try (AutoMlClient client = AutoMlClient.create()) { // Get the full path of the model evaluation. ModelEvaluationName modelEvaluationFullId = - ModelEvaluationName.of(projectId, "us-central1", modelId, modelEvaluationId); + ModelEvaluationName.of(projectId, "us-central1", modelId, modelEvaluationId); // Get complete detail of the model evaluation. ModelEvaluation modelEvaluation = client.getModelEvaluation(modelEvaluationFullId); @@ -58,33 +59,38 @@ static void getModelEvaluation(String projectId, String modelId, String modelEva System.out.format("\tseconds: %s\n", modelEvaluation.getCreateTime().getSeconds()); System.out.format("\tnanos: %s", modelEvaluation.getCreateTime().getNanos() / 1e9); System.out.format( - "Evalution Example Count: %d\n", modelEvaluation.getEvaluatedExampleCount()); + "Evalution Example Count: %d\n", modelEvaluation.getEvaluatedExampleCount()); // [END automl_language_sentiment_analysis_get_model_evaluation] // [END automl_language_text_classification_get_model_evaluation] // [END automl_translate_get_model_evaluation] // [END automl_vision_classification_get_model_evaluation] // [END automl_vision_object_detection_get_model_evaluation] - System.out.format("Entity Extraction Model Evaluation Metrics: %s\n", modelEvaluation.getTextExtractionEvaluationMetrics()); + System.out.format("Entity Extraction Model Evaluation Metrics: %s\n", + modelEvaluation.getTextExtractionEvaluationMetrics()); // [END automl_language_entity_extraction_get_model_evaluation] // [START automl_language_sentiment_analysis_get_model_evaluation] - System.out.format("Sentiment Analysis Model Evaluation Metrics: %s\n", modelEvaluation.getTextSentimentEvaluationMetrics()); + System.out.format("Sentiment Analysis Model Evaluation Metrics: %s\n", + modelEvaluation.getTextSentimentEvaluationMetrics()); // [END automl_language_sentiment_analysis_get_model_evaluation] // [START automl_language_text_classification_get_model_evaluation] // [START automl_vision_classification_get_model_evaluation] - System.out.format("Classification Model Evaluation Metrics: %s\n", modelEvaluation.getClassificationEvaluationMetrics()); + System.out.format("Classification Model Evaluation Metrics: %s\n", + modelEvaluation.getClassificationEvaluationMetrics()); // [END automl_language_text_classification_get_model_evaluation] // [END automl_vision_classification_get_model_evaluation] // [START automl_translate_get_model_evaluation] System.out.format( - "Translate Model Evaluation Metrics: %s\n", modelEvaluation.getTranslationEvaluationMetrics()); + "Translate Model Evaluation Metrics: %s\n", + modelEvaluation.getTranslationEvaluationMetrics()); // [END automl_translate_get_model_evaluation] // [START automl_vision_object_detection_get_model_evaluation] - System.out.format("Object Detection Model Evaluation Metrics: %s\n", modelEvaluation.getImageObjectDetectionEvaluationMetrics()); + System.out.format("Object Detection Model Evaluation Metrics: %s\n", + modelEvaluation.getImageObjectDetectionEvaluationMetrics()); // [START automl_language_entity_extraction_get_model_evaluation] // [START automl_language_sentiment_analysis_get_model_evaluation] // [START automl_language_text_classification_get_model_evaluation] diff --git a/automl/cloud-client/src/main/java/com/example/automl/ListModelEvaluations.java b/automl/cloud-client/src/main/java/com/example/automl/ListModelEvaluations.java index e0ad1b7f345..3798979a0cd 100644 --- a/automl/cloud-client/src/main/java/com/example/automl/ListModelEvaluations.java +++ b/automl/cloud-client/src/main/java/com/example/automl/ListModelEvaluations.java @@ -22,6 +22,7 @@ // [START automl_translate_list_model_evaluations] // [START automl_vision_classification_list_model_evaluations] // [START automl_vision_object_detection_list_model_evaluations] + import com.google.cloud.automl.v1.AutoMlClient; import com.google.cloud.automl.v1.ListModelEvaluationsRequest; import com.google.cloud.automl.v1.ModelEvaluation; @@ -47,12 +48,12 @@ static void listModelEvaluations(String projectId, String modelId) throws IOExce // Get the full path of the model. ModelName modelFullId = ModelName.of(projectId, "us-central1", modelId); ListModelEvaluationsRequest modelEvaluationsrequest = - ListModelEvaluationsRequest.newBuilder().setParent(modelFullId.toString()).build(); + ListModelEvaluationsRequest.newBuilder().setParent(modelFullId.toString()).build(); // List all the model evaluations in the model by applying filter. System.out.println("List of model evaluations:"); for (ModelEvaluation modelEvaluation : - client.listModelEvaluations(modelEvaluationsrequest).iterateAll()) { + client.listModelEvaluations(modelEvaluationsrequest).iterateAll()) { System.out.format("Model Evaluation Name: %s\n", modelEvaluation.getName()); System.out.format("Model Annotation Spec Id: %s", modelEvaluation.getAnnotationSpecId()); @@ -60,33 +61,38 @@ static void listModelEvaluations(String projectId, String modelId) throws IOExce System.out.format("\tseconds: %s\n", modelEvaluation.getCreateTime().getSeconds()); System.out.format("\tnanos: %s", modelEvaluation.getCreateTime().getNanos() / 1e9); System.out.format( - "Evalution Example Count: %d\n", modelEvaluation.getEvaluatedExampleCount()); + "Evalution Example Count: %d\n", modelEvaluation.getEvaluatedExampleCount()); // [END automl_language_sentiment_analysis_list_model_evaluations] // [END automl_language_text_classification_list_model_evaluations] // [END automl_translate_list_model_evaluations] // [END automl_vision_classification_list_model_evaluations] // [END automl_vision_object_detection_list_model_evaluations] - System.out.format("Entity Extraction Model Evaluation Metrics: %s\n", modelEvaluation.getTextExtractionEvaluationMetrics()); + System.out.format("Entity Extraction Model Evaluation Metrics: %s\n", + modelEvaluation.getTextExtractionEvaluationMetrics()); // [END automl_language_entity_extraction_list_model_evaluations] // [START automl_language_sentiment_analysis_list_model_evaluations] - System.out.format("Sentiment Analysis Model Evaluation Metrics: %s\n", modelEvaluation.getTextSentimentEvaluationMetrics()); + System.out.format("Sentiment Analysis Model Evaluation Metrics: %s\n", + modelEvaluation.getTextSentimentEvaluationMetrics()); // [END automl_language_sentiment_analysis_list_model_evaluations] // [START automl_language_text_classification_list_model_evaluations] // [START automl_vision_classification_list_model_evaluations] - System.out.format("Classification Model Evaluation Metrics: %s\n", modelEvaluation.getClassificationEvaluationMetrics()); + System.out.format("Classification Model Evaluation Metrics: %s\n", + modelEvaluation.getClassificationEvaluationMetrics()); // [END automl_language_text_classification_list_model_evaluations] // [END automl_vision_classification_list_model_evaluations] // [START automl_translate_list_model_evaluations] System.out.format( - "Translate Model Evaluation Metrics: %s\n", modelEvaluation.getTranslationEvaluationMetrics()); + "Translate Model Evaluation Metrics: %s\n", + modelEvaluation.getTranslationEvaluationMetrics()); // [END automl_translate_list_model_evaluations] // [START automl_vision_object_detection_list_model_evaluations] - System.out.format("Object Detection Model Evaluation Metrics: %s\n", modelEvaluation.getImageObjectDetectionEvaluationMetrics()); + System.out.format("Object Detection Model Evaluation Metrics: %s\n", + modelEvaluation.getImageObjectDetectionEvaluationMetrics()); // [START automl_language_entity_extraction_list_model_evaluations] // [START automl_language_sentiment_analysis_list_model_evaluations] // [START automl_language_text_classification_list_model_evaluations]