From 1683a010a5a79d602330828144826f361c2d9d81 Mon Sep 17 00:00:00 2001 From: Anthony Wens Date: Fri, 17 Apr 2020 10:27:35 -0700 Subject: [PATCH] remove samples/tests that aren't on devsite, incl. localized docs --- .../automl/automl_natural_language_dataset.py | 297 ------------- .../automl/automl_natural_language_model.py | 392 ------------------ .../automl/automl_natural_language_predict.py | 85 ---- language/automl/dataset_test.py | 85 ---- language/automl/model_test.py | 82 ---- language/automl/predict_test.py | 31 -- 6 files changed, 972 deletions(-) delete mode 100755 language/automl/automl_natural_language_dataset.py delete mode 100755 language/automl/automl_natural_language_model.py delete mode 100755 language/automl/automl_natural_language_predict.py delete mode 100644 language/automl/dataset_test.py delete mode 100644 language/automl/model_test.py delete mode 100644 language/automl/predict_test.py diff --git a/language/automl/automl_natural_language_dataset.py b/language/automl/automl_natural_language_dataset.py deleted file mode 100755 index df77d54268d..00000000000 --- a/language/automl/automl_natural_language_dataset.py +++ /dev/null @@ -1,297 +0,0 @@ -#!/usr/bin/env python - -# Copyright 2018 Google LLC -# -# 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. - -"""This application demonstrates how to perform basic operations on Dataset -with the Google AutoML Natural Language API. - -For more information, see the tutorial page at -https://cloud.google.com/natural-language/automl/docs/ -""" - -import argparse -import os - - -def create_dataset(project_id, compute_region, dataset_name, multilabel=False): - """Create a dataset.""" - # [START automl_language_create_dataset] - # TODO(developer): Uncomment and set the following variables - # project_id = 'PROJECT_ID_HERE' - # compute_region = 'COMPUTE_REGION_HERE' - # dataset_name = 'DATASET_NAME_HERE' - # multilabel = True for multilabel or False for multiclass - - from google.cloud import automl_v1beta1 as automl - - client = automl.AutoMlClient() - - # A resource that represents Google Cloud Platform location. - project_location = client.location_path(project_id, compute_region) - - # Classification type is assigned based on multilabel value. - classification_type = "MULTICLASS" - if multilabel: - classification_type = "MULTILABEL" - - # Specify the text classification type for the dataset. - dataset_metadata = {"classification_type": classification_type} - - # Set dataset name and metadata. - my_dataset = { - "display_name": dataset_name, - "text_classification_dataset_metadata": dataset_metadata, - } - - # Create a dataset with the dataset metadata in the region. - dataset = client.create_dataset(project_location, my_dataset) - - # Display the dataset information. - print("Dataset name: {}".format(dataset.name)) - print("Dataset id: {}".format(dataset.name.split("/")[-1])) - print("Dataset display name: {}".format(dataset.display_name)) - print("Text classification dataset metadata:") - print("\t{}".format(dataset.text_classification_dataset_metadata)) - print("Dataset example count: {}".format(dataset.example_count)) - print("Dataset create time:") - print("\tseconds: {}".format(dataset.create_time.seconds)) - print("\tnanos: {}".format(dataset.create_time.nanos)) - - # [END automl_language_create_dataset] - - -def list_datasets(project_id, compute_region, filter_): - """List all datasets.""" - # [START automl_language_list_datasets] - # TODO(developer): Uncomment and set the following variables - # project_id = 'PROJECT_ID_HERE' - # compute_region = 'COMPUTE_REGION_HERE' - # filter_ = 'filter expression here' - - from google.cloud import automl_v1beta1 as automl - - client = automl.AutoMlClient() - - # A resource that represents Google Cloud Platform location. - project_location = client.location_path(project_id, compute_region) - - # List all the datasets available in the region by applying filter. - response = client.list_datasets(project_location, filter_) - - print("List of datasets:") - for dataset in response: - # Display the dataset information. - print("Dataset name: {}".format(dataset.name)) - print("Dataset id: {}".format(dataset.name.split("/")[-1])) - print("Dataset display name: {}".format(dataset.display_name)) - print("Text classification dataset metadata:") - print("\t{}".format(dataset.text_classification_dataset_metadata)) - print("Dataset example count: {}".format(dataset.example_count)) - print("Dataset create time:") - print("\tseconds: {}".format(dataset.create_time.seconds)) - print("\tnanos: {}".format(dataset.create_time.nanos)) - - # [END automl_language_list_datasets] - - -def get_dataset(project_id, compute_region, dataset_id): - """Get the dataset.""" - # [START automl_language_get_dataset] - # TODO(developer): Uncomment and set the following variables - # project_id = 'PROJECT_ID_HERE' - # compute_region = 'COMPUTE_REGION_HERE' - # dataset_id = 'DATASET_ID_HERE' - - from google.cloud import automl_v1beta1 as automl - - client = automl.AutoMlClient() - - # Get the full path of the dataset - dataset_full_id = client.dataset_path( - project_id, compute_region, dataset_id - ) - - # Get complete detail of the dataset. - dataset = client.get_dataset(dataset_full_id) - - # Display the dataset information. - print("Dataset name: {}".format(dataset.name)) - print("Dataset id: {}".format(dataset.name.split("/")[-1])) - print("Dataset display name: {}".format(dataset.display_name)) - print("Text classification dataset metadata:") - print("\t{}".format(dataset.text_classification_dataset_metadata)) - print("Dataset example count: {}".format(dataset.example_count)) - print("Dataset create time:") - print("\tseconds: {}".format(dataset.create_time.seconds)) - print("\tnanos: {}".format(dataset.create_time.nanos)) - - # [END automl_language_get_dataset] - - -def import_data(project_id, compute_region, dataset_id, path): - """Import labelled items.""" - # [START automl_language_import_data] - # TODO(developer): Uncomment and set the following variables - # project_id = 'PROJECT_ID_HERE' - # compute_region = 'COMPUTE_REGION_HERE' - # dataset_id = 'DATASET_ID_HERE' - # path = 'gs://path/to/file.csv' - - from google.cloud import automl_v1beta1 as automl - - client = automl.AutoMlClient() - - # Get the full path of the dataset. - dataset_full_id = client.dataset_path( - project_id, compute_region, dataset_id - ) - - # Get the multiple Google Cloud Storage URIs. - input_uris = path.split(",") - input_config = {"gcs_source": {"input_uris": input_uris}} - - # Import the dataset from the input URI. - response = client.import_data(dataset_full_id, input_config) - - print("Processing import...") - # synchronous check of operation status. - print("Data imported. {}".format(response.result())) - - # [END automl_language_import_data] - - -def export_data(project_id, compute_region, dataset_id, output_uri): - """Export a dataset to a Google Cloud Storage bucket.""" - # [START automl_language_export_data] - # TODO(developer): Uncomment and set the following variables - # project_id = 'PROJECT_ID_HERE' - # compute_region = 'COMPUTE_REGION_HERE' - # dataset_id = 'DATASET_ID_HERE' - # output_uri: 'gs://location/to/export/data' - - from google.cloud import automl_v1beta1 as automl - - client = automl.AutoMlClient() - - # Get the full path of the dataset. - dataset_full_id = client.dataset_path( - project_id, compute_region, dataset_id - ) - - # Set the output URI - output_config = {"gcs_destination": {"output_uri_prefix": output_uri}} - - # Export the data to the output URI. - response = client.export_data(dataset_full_id, output_config) - - print("Processing export...") - # synchronous check of operation status. - print("Data exported. {}".format(response.result())) - - # [END automl_language_export_data] - - -def delete_dataset(project_id, compute_region, dataset_id): - """Delete a dataset.""" - # [START automl_language_delete_dataset] - # TODO(developer): Uncomment and set the following variables - # project_id = 'PROJECT_ID_HERE' - # compute_region = 'COMPUTE_REGION_HERE' - # dataset_id = 'DATASET_ID_HERE' - - from google.cloud import automl_v1beta1 as automl - - client = automl.AutoMlClient() - - # Get the full path of the dataset. - dataset_full_id = client.dataset_path( - project_id, compute_region, dataset_id - ) - - # Delete a dataset. - response = client.delete_dataset(dataset_full_id) - - # synchronous check of operation status. - print("Dataset deleted. {}".format(response.result())) - - # [END automl_language_delete_dataset] - - -if __name__ == "__main__": - parser = argparse.ArgumentParser( - description=__doc__, - formatter_class=argparse.RawDescriptionHelpFormatter, - ) - subparsers = parser.add_subparsers(dest="command") - - create_dataset_parser = subparsers.add_parser( - "create_dataset", help=create_dataset.__doc__ - ) - create_dataset_parser.add_argument("dataset_name") - create_dataset_parser.add_argument( - "multilabel", nargs="?", choices=["False", "True"], default="False" - ) - - list_datasets_parser = subparsers.add_parser( - "list_datasets", help=list_datasets.__doc__ - ) - list_datasets_parser.add_argument( - "filter_", nargs="?", default="text_classification_dataset_metadata:*" - ) - - get_dataset_parser = subparsers.add_parser( - "get_dataset", help=get_dataset.__doc__ - ) - get_dataset_parser.add_argument("dataset_id") - - import_data_parser = subparsers.add_parser( - "import_data", help=import_data.__doc__ - ) - import_data_parser.add_argument("dataset_id") - import_data_parser.add_argument("path") - - export_data_parser = subparsers.add_parser( - "export_data", help=export_data.__doc__ - ) - export_data_parser.add_argument("dataset_id") - export_data_parser.add_argument("output_uri") - - delete_dataset_parser = subparsers.add_parser( - "delete_dataset", help=delete_dataset.__doc__ - ) - delete_dataset_parser.add_argument("dataset_id") - - project_id = os.environ["PROJECT_ID"] - compute_region = os.environ["REGION_NAME"] - - args = parser.parse_args() - - if args.command == "create_dataset": - multilabel = True if args.multilabel == "True" else False - create_dataset( - project_id, compute_region, args.dataset_name, multilabel - ) - if args.command == "list_datasets": - list_datasets(project_id, compute_region, args.filter_) - if args.command == "get_dataset": - get_dataset(project_id, compute_region, args.dataset_id) - if args.command == "import_data": - import_data(project_id, compute_region, args.dataset_id, args.path) - if args.command == "export_data": - export_data( - project_id, compute_region, args.dataset_id, args.output_uri - ) - if args.command == "delete_dataset": - delete_dataset(project_id, compute_region, args.dataset_id) diff --git a/language/automl/automl_natural_language_model.py b/language/automl/automl_natural_language_model.py deleted file mode 100755 index 354721213da..00000000000 --- a/language/automl/automl_natural_language_model.py +++ /dev/null @@ -1,392 +0,0 @@ -#!/usr/bin/env python - -# Copyright 2018 Google LLC -# -# 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. - -"""This application demonstrates how to perform basic operations on model -with the Google AutoML Natural Language API. - -For more information, see the tutorial page at -https://cloud.google.com/natural-language/automl/docs/ -""" - -import argparse -import os - - -def create_model(project_id, compute_region, dataset_id, model_name): - """Create a model.""" - # [START automl_language_create_model] - # TODO(developer): Uncomment and set the following variables - # project_id = 'PROJECT_ID_HERE' - # compute_region = 'COMPUTE_REGION_HERE' - # dataset_id = 'DATASET_ID_HERE' - # model_name = 'MODEL_NAME_HERE' - - from google.cloud import automl_v1beta1 as automl - - client = automl.AutoMlClient() - - # A resource that represents Google Cloud Platform location. - project_location = client.location_path(project_id, compute_region) - - # Set model name and model metadata for the dataset. - my_model = { - "display_name": model_name, - "dataset_id": dataset_id, - "text_classification_model_metadata": {}, - } - - # Create a model with the model metadata in the region. - response = client.create_model(project_location, my_model) - print("Training operation name: {}".format(response.operation.name)) - print("Training started...") - - # [END automl_language_create_model] - - -def get_operation_status(operation_full_id): - """Get operation status.""" - # [START automl_language_get_operation_status] - # TODO(developer): Uncomment and set the following variables - # operation_full_id = - # 'projects//locations//operations/' - - from google.cloud import automl_v1beta1 as automl - - client = automl.AutoMlClient() - - # Get the latest state of a long-running operation. - response = client.transport._operations_client.get_operation( - operation_full_id - ) - - print("Operation status: {}".format(response)) - - # [END automl_language_get_operation_status] - - -def list_models(project_id, compute_region, filter_): - """List all models.""" - # [START automl_language_list_models] - # TODO(developer): Uncomment and set the following variables - # project_id = 'PROJECT_ID_HERE' - # compute_region = 'COMPUTE_REGION_HERE' - # filter_ = 'DATASET_ID_HERE' - - from google.cloud import automl_v1beta1 as automl - from google.cloud.automl_v1beta1 import enums - - client = automl.AutoMlClient() - - # A resource that represents Google Cloud Platform location. - project_location = client.location_path(project_id, compute_region) - - # List all the models available in the region by applying filter. - response = client.list_models(project_location, filter_) - - print("List of models:") - for model in response: - # Retrieve deployment state. - deployment_state = "" - if model.deployment_state == enums.Model.DeploymentState.DEPLOYED: - deployment_state = "deployed" - else: - deployment_state = "undeployed" - - # Display the model information. - print("Model name: {}".format(model.name)) - print("Model id: {}".format(model.name.split("/")[-1])) - print("Model display name: {}".format(model.display_name)) - print("Model create time:") - print("\tseconds: {}".format(model.create_time.seconds)) - print("\tnanos: {}".format(model.create_time.nanos)) - print("Model deployment state: {}".format(deployment_state)) - - # [END automl_language_list_models] - - -def get_model(project_id, compute_region, model_id): - """Get model details.""" - # [START automl_language_get_model] - # TODO(developer): Uncomment and set the following variables - # project_id = 'PROJECT_ID_HERE' - # compute_region = 'COMPUTE_REGION_HERE' - # model_id = 'MODEL_ID_HERE' - - from google.cloud import automl_v1beta1 as automl - from google.cloud.automl_v1beta1 import enums - - client = automl.AutoMlClient() - - # Get the full path of the model. - model_full_id = client.model_path(project_id, compute_region, model_id) - - # Get complete detail of the model. - model = client.get_model(model_full_id) - - # Retrieve deployment state. - deployment_state = "" - if model.deployment_state == enums.Model.DeploymentState.DEPLOYED: - deployment_state = "deployed" - else: - deployment_state = "undeployed" - - # Display the model information. - print("Model name: {}".format(model.name)) - print("Model id: {}".format(model.name.split("/")[-1])) - print("Model display name: {}".format(model.display_name)) - print("Model create time:") - print("\tseconds: {}".format(model.create_time.seconds)) - print("\tnanos: {}".format(model.create_time.nanos)) - print("Model deployment state: {}".format(deployment_state)) - - # [END automl_language_get_model] - - -def list_model_evaluations(project_id, compute_region, model_id, filter_): - """List model evaluations.""" - # [START automl_language_list_model_evaluations] - # TODO(developer): Uncomment and set the following variables - # project_id = 'PROJECT_ID_HERE' - # compute_region = 'COMPUTE_REGION_HERE' - # model_id = 'MODEL_ID_HERE' - # filter_ = 'filter expression here' - - from google.cloud import automl_v1beta1 as automl - - client = automl.AutoMlClient() - - # Get the full path of the model. - model_full_id = client.model_path(project_id, compute_region, model_id) - - # List all the model evaluations in the model by applying filter. - response = client.list_model_evaluations(model_full_id, filter_) - - print("List of model evaluations:") - for element in response: - print(element) - - # [END automl_language_list_model_evaluations] - - -def get_model_evaluation( - project_id, compute_region, model_id, model_evaluation_id -): - """Get model evaluation.""" - # [START automl_language_get_model_evaluation] - # TODO(developer): Uncomment and set the following variables - # project_id = 'PROJECT_ID_HERE' - # compute_region = 'COMPUTE_REGION_HERE' - # model_id = 'MODEL_ID_HERE' - # model_evaluation_id = 'MODEL_EVALUATION_ID_HERE' - - from google.cloud import automl_v1beta1 as automl - - client = automl.AutoMlClient() - - # Get the full path of the model evaluation. - model_evaluation_full_id = client.model_evaluation_path( - project_id, compute_region, model_id, model_evaluation_id - ) - - # Get complete detail of the model evaluation. - response = client.get_model_evaluation(model_evaluation_full_id) - - print(response) - - # [END automl_language_get_model_evaluation] - - -def display_evaluation(project_id, compute_region, model_id, filter_): - """Display evaluation.""" - # [START automl_language_display_evaluation] - # TODO(developer): Uncomment and set the following variables - # project_id = 'PROJECT_ID_HERE' - # compute_region = 'COMPUTE_REGION_HERE' - # model_id = 'MODEL_ID_HERE' - # filter_ = 'filter expression here' - - from google.cloud import automl_v1beta1 as automl - - client = automl.AutoMlClient() - - # Get the full path of the model. - model_full_id = client.model_path(project_id, compute_region, model_id) - - # List all the model evaluations in the model by applying filter. - response = client.list_model_evaluations(model_full_id, filter_) - - # Iterate through the results. - for element in response: - # There is evaluation for each class in a model and for overall model. - # Get only the evaluation of overall model. - if not element.annotation_spec_id: - model_evaluation_id = element.name.split("/")[-1] - - # Resource name for the model evaluation. - model_evaluation_full_id = client.model_evaluation_path( - project_id, compute_region, model_id, model_evaluation_id - ) - - # Get a model evaluation. - model_evaluation = client.get_model_evaluation(model_evaluation_full_id) - - class_metrics = model_evaluation.classification_evaluation_metrics - confidence_metrics_entries = class_metrics.confidence_metrics_entry - - # Showing model score based on threshold of 0.5 - for confidence_metrics_entry in confidence_metrics_entries: - if confidence_metrics_entry.confidence_threshold == 0.5: - print("Precision and recall are based on a score threshold of 0.5") - print( - "Model Precision: {}%".format( - round(confidence_metrics_entry.precision * 100, 2) - ) - ) - print( - "Model Recall: {}%".format( - round(confidence_metrics_entry.recall * 100, 2) - ) - ) - print( - "Model F1 score: {}%".format( - round(confidence_metrics_entry.f1_score * 100, 2) - ) - ) - print( - "Model Precision@1: {}%".format( - round(confidence_metrics_entry.precision_at1 * 100, 2) - ) - ) - print( - "Model Recall@1: {}%".format( - round(confidence_metrics_entry.recall_at1 * 100, 2) - ) - ) - print( - "Model F1 score@1: {}%".format( - round(confidence_metrics_entry.f1_score_at1 * 100, 2) - ) - ) - - # [END automl_language_display_evaluation] - - -def delete_model(project_id, compute_region, model_id): - """Delete a model.""" - # [START automl_language_delete_model] - # TODO(developer): Uncomment and set the following variables - # project_id = 'PROJECT_ID_HERE' - # compute_region = 'COMPUTE_REGION_HERE' - # model_id = 'MODEL_ID_HERE' - - from google.cloud import automl_v1beta1 as automl - - client = automl.AutoMlClient() - - # Get the full path of the model. - model_full_id = client.model_path(project_id, compute_region, model_id) - - # Delete a model. - response = client.delete_model(model_full_id) - - # synchronous check of operation status. - print("Model deleted. {}".format(response.result())) - - # [END automl_language_delete_model] - - -if __name__ == "__main__": - parser = argparse.ArgumentParser( - description=__doc__, - formatter_class=argparse.RawDescriptionHelpFormatter, - ) - subparsers = parser.add_subparsers(dest="command") - - create_model_parser = subparsers.add_parser( - "create_model", help=create_model.__doc__ - ) - create_model_parser.add_argument("dataset_id") - create_model_parser.add_argument("model_name") - - get_operation_status_parser = subparsers.add_parser( - "get_operation_status", help=get_operation_status.__doc__ - ) - get_operation_status_parser.add_argument("operation_full_id") - - list_models_parser = subparsers.add_parser( - "list_models", help=list_models.__doc__ - ) - list_models_parser.add_argument("filter_") - - get_model_parser = subparsers.add_parser( - "get_model", help=get_model_evaluation.__doc__ - ) - get_model_parser.add_argument("model_id") - - list_model_evaluations_parser = subparsers.add_parser( - "list_model_evaluations", help=list_model_evaluations.__doc__ - ) - list_model_evaluations_parser.add_argument("model_id") - list_model_evaluations_parser.add_argument( - "filter_", nargs="?", default="" - ) - - get_model_evaluation_parser = subparsers.add_parser( - "get_model_evaluation", help=get_model_evaluation.__doc__ - ) - get_model_evaluation_parser.add_argument("model_id") - get_model_evaluation_parser.add_argument("model_evaluation_id") - - display_evaluation_parser = subparsers.add_parser( - "display_evaluation", help=display_evaluation.__doc__ - ) - display_evaluation_parser.add_argument("model_id") - display_evaluation_parser.add_argument("filter_", nargs="?", default="") - - delete_model_parser = subparsers.add_parser( - "delete_model", help=delete_model.__doc__ - ) - delete_model_parser.add_argument("model_id") - - project_id = os.environ["PROJECT_ID"] - compute_region = os.environ["REGION_NAME"] - - args = parser.parse_args() - - if args.command == "create_model": - create_model( - project_id, compute_region, args.dataset_id, args.model_name - ) - if args.command == "get_operation_status": - get_operation_status(args.operation_full_id) - if args.command == "list_models": - list_models(project_id, compute_region, args.filter_) - if args.command == "get_model": - get_model(project_id, compute_region, args.model_id) - if args.command == "list_model_evaluations": - list_model_evaluations( - project_id, compute_region, args.model_id, args.filter_ - ) - if args.command == "get_model_evaluation": - get_model_evaluation( - project_id, compute_region, args.model_id, args.model_evaluation_id - ) - if args.command == "display_evaluation": - display_evaluation( - project_id, compute_region, args.model_id, args.filter_ - ) - if args.command == "delete_model": - delete_model(project_id, compute_region, args.model_id) diff --git a/language/automl/automl_natural_language_predict.py b/language/automl/automl_natural_language_predict.py deleted file mode 100755 index b328c7aeb63..00000000000 --- a/language/automl/automl_natural_language_predict.py +++ /dev/null @@ -1,85 +0,0 @@ -#!/usr/bin/env python - -# Copyright 2018 Google LLC -# -# 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. - -"""This application demonstrates how to perform basic operations on prediction -with the Google AutoML Natural Language API. - -For more information, see the tutorial page at -https://cloud.google.com/natural-language/automl/docs/ -""" - -import argparse -import os - - -def predict(project_id, compute_region, model_id, file_path): - """Classify the content.""" - # [START automl_language_predict] - # TODO(developer): Uncomment and set the following variables - # project_id = 'PROJECT_ID_HERE' - # compute_region = 'COMPUTE_REGION_HERE' - # model_id = 'MODEL_ID_HERE' - # file_path = '/local/path/to/file' - - from google.cloud import automl_v1beta1 as automl - - automl_client = automl.AutoMlClient() - - # Create client for prediction service. - prediction_client = automl.PredictionServiceClient() - - # Get the full path of the model. - model_full_id = automl_client.model_path( - project_id, compute_region, model_id - ) - - # Read the file content for prediction. - with open(file_path, "rb") as content_file: - snippet = content_file.read() - - # Set the payload by giving the content and type of the file. - payload = {"text_snippet": {"content": snippet, "mime_type": "text/plain"}} - - # params is additional domain-specific parameters. - # currently there is no additional parameters supported. - params = {} - response = prediction_client.predict(model_full_id, payload, params) - print("Prediction results:") - for result in response.payload: - print("Predicted class name: {}".format(result.display_name)) - print("Predicted class score: {}".format(result.classification.score)) - - # [END automl_language_predict] - - -if __name__ == "__main__": - parser = argparse.ArgumentParser( - description=__doc__, - formatter_class=argparse.RawDescriptionHelpFormatter, - ) - subparsers = parser.add_subparsers(dest="command") - - predict_parser = subparsers.add_parser("predict", help=predict.__doc__) - predict_parser.add_argument("model_id") - predict_parser.add_argument("file_path") - - project_id = os.environ["PROJECT_ID"] - compute_region = os.environ["REGION_NAME"] - - args = parser.parse_args() - - if args.command == "predict": - predict(project_id, compute_region, args.model_id, args.file_path) diff --git a/language/automl/dataset_test.py b/language/automl/dataset_test.py deleted file mode 100644 index 94e5e5d062c..00000000000 --- a/language/automl/dataset_test.py +++ /dev/null @@ -1,85 +0,0 @@ -#!/usr/bin/env python - -# Copyright 2018 Google LLC -# -# 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. - -import datetime -import os - -import pytest - -import automl_natural_language_dataset - -project_id = os.environ["GCLOUD_PROJECT"] -compute_region = "us-central1" - - -@pytest.mark.slow -def test_dataset_create_import_delete(capsys): - # create dataset - dataset_name = "test_" + datetime.datetime.now().strftime("%Y%m%d%H%M%S") - automl_natural_language_dataset.create_dataset( - project_id, compute_region, dataset_name - ) - out, _ = capsys.readouterr() - create_dataset_output = out.splitlines() - assert "Dataset id: " in create_dataset_output[1] - dataset_id = create_dataset_output[1].split()[2] - - # delete dataset - automl_natural_language_dataset.delete_dataset( - project_id, compute_region, dataset_id - ) - out, _ = capsys.readouterr() - assert "Dataset deleted." in out - - -def test_import_data(capsys): - # As importing a dataset can take a long time and only four operations can - # be run on a dataset at once. Try to import into a nonexistent dataset and - # confirm that the dataset was not found, but other elements of the request - # were valid. - try: - data = "gs://{}-lcm/happiness.csv".format(project_id) - automl_natural_language_dataset.import_data( - project_id, compute_region, "TEN0000000000000000000", data - ) - out, _ = capsys.readouterr() - assert ( - "Dataset doesn't exist or is inaccessible for use with AutoMl." - in out - ) - except Exception as e: - assert ( - "Dataset doesn't exist or is inaccessible for use with AutoMl." - in e.message - ) - - -def test_dataset_list_get(capsys): - # list datasets - automl_natural_language_dataset.list_datasets( - project_id, compute_region, "" - ) - out, _ = capsys.readouterr() - list_dataset_output = out.splitlines() - assert "Dataset id: " in list_dataset_output[2] - - # get dataset - dataset_id = list_dataset_output[2].split()[2] - automl_natural_language_dataset.get_dataset( - project_id, compute_region, dataset_id - ) - out, _ = capsys.readouterr() - assert "Dataset name: " in out diff --git a/language/automl/model_test.py b/language/automl/model_test.py deleted file mode 100644 index 8f484d2a2ad..00000000000 --- a/language/automl/model_test.py +++ /dev/null @@ -1,82 +0,0 @@ -#!/usr/bin/env python - -# Copyright 2018 Google LLC -# -# 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. - -import datetime -import os - -from google.cloud import automl_v1beta1 as automl -import pytest - -import automl_natural_language_model - -project_id = os.environ["GCLOUD_PROJECT"] -compute_region = "us-central1" - - -@pytest.mark.skip(reason="creates too many models") -def test_model_create_status_delete(capsys): - # create model - client = automl.AutoMlClient() - model_name = "test_" + datetime.datetime.now().strftime("%Y%m%d%H%M%S") - project_location = client.location_path(project_id, compute_region) - my_model = { - "display_name": model_name, - "dataset_id": "2551826603472450019", - "text_classification_model_metadata": {}, - } - response = client.create_model(project_location, my_model) - operation_name = response.operation.name - assert operation_name - - # get operation status - automl_natural_language_model.get_operation_status(operation_name) - out, _ = capsys.readouterr() - assert "Operation status: " in out - - # cancel operation - response.cancel() - - -def test_model_list_get_evaluate(capsys): - # list models - automl_natural_language_model.list_models(project_id, compute_region, "") - out, _ = capsys.readouterr() - list_models_output = out.splitlines() - assert "Model id: " in list_models_output[2] - - # get model - model_id = list_models_output[2].split()[2] - automl_natural_language_model.get_model( - project_id, compute_region, model_id - ) - out, _ = capsys.readouterr() - assert "Model name: " in out - - # list model evaluations - automl_natural_language_model.list_model_evaluations( - project_id, compute_region, model_id, "" - ) - out, _ = capsys.readouterr() - list_evals_output = out.splitlines() - assert "name: " in list_evals_output[1] - - # get model evaluation - model_evaluation_id = list_evals_output[1].split("/")[-1][:-1] - automl_natural_language_model.get_model_evaluation( - project_id, compute_region, model_id, model_evaluation_id - ) - out, _ = capsys.readouterr() - assert "evaluation_metric" in out diff --git a/language/automl/predict_test.py b/language/automl/predict_test.py deleted file mode 100644 index f511302d58b..00000000000 --- a/language/automl/predict_test.py +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env python - -# Copyright 2018 Google LLC -# -# 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. - -import os - -import automl_natural_language_predict - -project_id = os.environ["GCLOUD_PROJECT"] -compute_region = "us-central1" - - -def test_predict(capsys): - model_id = "TCN3472481026502981088" - automl_natural_language_predict.predict( - project_id, compute_region, model_id, "resources/test.txt" - ) - out, _ = capsys.readouterr() - assert "Cheese" in out