feat!: BREAKING CHANGE: remove unsupported accelerator types

feat: add aiplatform API Vizier service

Committer: @dizcology
PiperOrigin-RevId: 363921711
pull/644/head
Google APIs 4 years ago committed by Copybara-Service
parent 7998de5ade
commit 4ea5a2764a
  1. 2
      google/cloud/aiplatform/v1beta1/BUILD.bazel
  2. 8
      google/cloud/aiplatform/v1beta1/accelerator_type.proto
  3. 65
      google/cloud/aiplatform/v1beta1/aiplatform_grpc_service_config.json
  4. 320
      google/cloud/aiplatform/v1beta1/aiplatform_v1beta1.yaml
  5. 7
      google/cloud/aiplatform/v1beta1/annotation.proto
  6. 4
      google/cloud/aiplatform/v1beta1/annotation_spec.proto
  7. 7
      google/cloud/aiplatform/v1beta1/batch_prediction_job.proto
  8. 2
      google/cloud/aiplatform/v1beta1/completion_stats.proto
  9. 14
      google/cloud/aiplatform/v1beta1/custom_job.proto
  10. 5
      google/cloud/aiplatform/v1beta1/data_item.proto
  11. 12
      google/cloud/aiplatform/v1beta1/data_labeling_job.proto
  12. 4
      google/cloud/aiplatform/v1beta1/dataset.proto
  13. 4
      google/cloud/aiplatform/v1beta1/dataset_service.proto
  14. 2
      google/cloud/aiplatform/v1beta1/deployed_model_ref.proto
  15. 2
      google/cloud/aiplatform/v1beta1/encryption_spec.proto
  16. 10
      google/cloud/aiplatform/v1beta1/endpoint.proto
  17. 4
      google/cloud/aiplatform/v1beta1/endpoint_service.proto
  18. 2
      google/cloud/aiplatform/v1beta1/env_var.proto
  19. 3
      google/cloud/aiplatform/v1beta1/explanation.proto
  20. 8
      google/cloud/aiplatform/v1beta1/explanation_metadata.proto
  21. 2
      google/cloud/aiplatform/v1beta1/hyperparameter_tuning_job.proto
  22. 10
      google/cloud/aiplatform/v1beta1/io.proto
  23. 19
      google/cloud/aiplatform/v1beta1/job_service.proto
  24. 5
      google/cloud/aiplatform/v1beta1/job_state.proto
  25. 49
      google/cloud/aiplatform/v1beta1/machine_resources.proto
  26. 2
      google/cloud/aiplatform/v1beta1/manual_batch_tuning_parameters.proto
  27. 8
      google/cloud/aiplatform/v1beta1/migratable_resource.proto
  28. 9
      google/cloud/aiplatform/v1beta1/migration_service.proto
  29. 27
      google/cloud/aiplatform/v1beta1/model.proto
  30. 2
      google/cloud/aiplatform/v1beta1/model_evaluation.proto
  31. 2
      google/cloud/aiplatform/v1beta1/model_evaluation_slice.proto
  32. 5
      google/cloud/aiplatform/v1beta1/model_service.proto
  33. 2
      google/cloud/aiplatform/v1beta1/operation.proto
  34. 7
      google/cloud/aiplatform/v1beta1/pipeline_service.proto
  35. 2
      google/cloud/aiplatform/v1beta1/pipeline_state.proto
  36. 2
      google/cloud/aiplatform/v1beta1/prediction_service.proto
  37. 2
      google/cloud/aiplatform/v1beta1/specialist_pool.proto
  38. 4
      google/cloud/aiplatform/v1beta1/specialist_pool_service.proto
  39. 122
      google/cloud/aiplatform/v1beta1/study.proto
  40. 7
      google/cloud/aiplatform/v1beta1/training_pipeline.proto
  41. 3
      google/cloud/aiplatform/v1beta1/user_action_reference.proto
  42. 502
      google/cloud/aiplatform/v1beta1/vizier_service.proto

@ -59,6 +59,7 @@ proto_library(
"study.proto",
"training_pipeline.proto",
"user_action_reference.proto",
"vizier_service.proto"
],
deps = [
"//google/api:annotations_proto",
@ -145,6 +146,7 @@ java_gapic_test(
"com.google.cloud.aiplatform.v1beta1.PipelineServiceClientTest",
"com.google.cloud.aiplatform.v1beta1.PredictionServiceClientTest",
"com.google.cloud.aiplatform.v1beta1.SpecialistPoolServiceClientTest",
"com.google.cloud.aiplatform.v1beta1.VizierServiceClientTest",
],
runtime_deps = [":aiplatform_java_gapic_test"],
)

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -42,10 +42,4 @@ enum AcceleratorType {
// Nvidia Tesla T4 GPU.
NVIDIA_TESLA_T4 = 5;
// TPU v2.
TPU_V2 = 6;
// TPU v3.
TPU_V3 = 7;
}

@ -274,6 +274,71 @@
}
],
"timeout": "5s"
},
{
"name":[
{
"service": "google.cloud.aiplatform.v1beta1.VizierService",
"method": "CreateStudy"
},
{
"service": "google.cloud.aiplatform.v1beta1.VizierService",
"method": "GetStudy"
},
{
"service": "google.cloud.aiplatform.v1beta1.VizierService",
"method": "ListStudies"
},
{
"service": "google.cloud.aiplatform.v1beta1.VizierService",
"method": "DeleteStudy"
},
{
"service": "google.cloud.aiplatform.v1beta1.VizierService",
"method": "LookupStudy"
},
{
"service": "google.cloud.aiplatform.v1beta1.VizierService",
"method": "SuggestTrials"
},
{
"service": "google.cloud.aiplatform.v1beta1.VizierService",
"method": "CreateTrial"
},
{
"service": "google.cloud.aiplatform.v1beta1.VizierService",
"method": "GetTrial"
},
{
"service": "google.cloud.aiplatform.v1beta1.VizierService",
"method": "ListTrials"
},
{
"service": "google.cloud.aiplatform.v1beta1.VizierService",
"method": "AddTrialMeasurement"
},
{
"service": "google.cloud.aiplatform.v1beta1.VizierService",
"method": "CompleteTrial"
},
{
"service": "google.cloud.aiplatform.v1beta1.VizierService",
"method": "DeleteTrial"
},
{
"service": "google.cloud.aiplatform.v1beta1.VizierService",
"method": "CheckTrialEarlyStoppingState"
},
{
"service": "google.cloud.aiplatform.v1beta1.VizierService",
"method": "StopTrial"
},
{
"service": "google.cloud.aiplatform.v1beta1.VizierService",
"method": "ListOptimalTrials"
}
],
"timeout": "5s"
}
]
}

@ -12,10 +12,13 @@ apis:
- name: google.cloud.aiplatform.v1beta1.PipelineService
- name: google.cloud.aiplatform.v1beta1.PredictionService
- name: google.cloud.aiplatform.v1beta1.SpecialistPoolService
- name: google.cloud.aiplatform.v1beta1.VizierService
types:
- name: google.cloud.aiplatform.v1beta1.BatchMigrateResourcesOperationMetadata
- name: google.cloud.aiplatform.v1beta1.BatchMigrateResourcesResponse
- name: google.cloud.aiplatform.v1beta1.CheckTrialEarlyStoppingStateMetatdata
- name: google.cloud.aiplatform.v1beta1.CheckTrialEarlyStoppingStateResponse
- name: google.cloud.aiplatform.v1beta1.CreateDatasetOperationMetadata
- name: google.cloud.aiplatform.v1beta1.CreateEndpointOperationMetadata
- name: google.cloud.aiplatform.v1beta1.CreateSpecialistPoolOperationMetadata
@ -29,6 +32,8 @@ types:
- name: google.cloud.aiplatform.v1beta1.ImportDataOperationMetadata
- name: google.cloud.aiplatform.v1beta1.ImportDataResponse
- name: google.cloud.aiplatform.v1beta1.SpecialistPool
- name: google.cloud.aiplatform.v1beta1.SuggestTrialsMetadata
- name: google.cloud.aiplatform.v1beta1.SuggestTrialsResponse
- name: google.cloud.aiplatform.v1beta1.UndeployModelOperationMetadata
- name: google.cloud.aiplatform.v1beta1.UndeployModelResponse
- name: google.cloud.aiplatform.v1beta1.UpdateSpecialistPoolOperationMetadata
@ -47,6 +52,12 @@ documentation:
to create custom machine learning models specific to their business needs
by leveraging Google's state-of-the-art transfer learning and innovative
AI research.
rules:
- selector: google.cloud.location.Locations.GetLocation
description: Gets information about a location.
- selector: google.cloud.location.Locations.ListLocations
description: Lists information about the supported locations for this service.
backend:
rules:
@ -70,9 +81,306 @@ backend:
deadline: 600.0
- selector: 'google.cloud.aiplatform.v1beta1.SpecialistPoolService.*'
deadline: 60.0
- selector: 'google.cloud.aiplatform.v1beta1.VizierService.*'
deadline: 60.0
- selector: google.cloud.location.Locations.GetLocation
deadline: 30.0
- selector: google.cloud.location.Locations.ListLocations
deadline: 30.0
- selector: 'google.longrunning.Operations.*'
deadline: 60.0
http:
rules:
- selector: google.cloud.location.Locations.GetLocation
get: '/ui/{name=projects/*/locations/*}'
additional_bindings:
- get: '/v1beta1/{name=projects/*/locations/*}'
- selector: google.cloud.location.Locations.ListLocations
get: '/ui/{name=projects/*}/locations'
additional_bindings:
- get: '/v1beta1/{name=projects/*}/locations'
- selector: google.longrunning.Operations.CancelOperation
post: '/ui/{name=projects/*/locations/*/operations/*}:cancel'
additional_bindings:
- post: '/ui/{name=projects/*/locations/*/datasets/*/operations/*}:cancel'
- post: '/ui/{name=projects/*/locations/*/datasets/*/dataItems/*/operations/*}:cancel'
- post: '/ui/{name=projects/*/locations/*/datasets/*/savedQueries/*/operations/*}:cancel'
- post: '/ui/{name=projects/*/locations/*/datasets/*/annotationSpecs/*/operations/*}:cancel'
- post: '/ui/{name=projects/*/locations/*/datasets/*/dataItems/*/annotations/*/operations/*}:cancel'
- post: '/ui/{name=projects/*/locations/*/endpoints/*/operations/*}:cancel'
- post: '/ui/{name=projects/*/locations/*/featurestores/*/operations/*}:cancel'
- post: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*/operations/*}:cancel'
- post: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*/operations/*}:cancel'
- post: '/ui/{name=projects/*/locations/*/customJobs/*/operations/*}:cancel'
- post: '/ui/{name=projects/*/locations/*/dataLabelingJobs/*/operations/*}:cancel'
- post: '/ui/{name=projects/*/locations/*/hyperparameterTuningJobs/*/operations/*}:cancel'
- post: '/ui/{name=projects/*/locations/*/indexes/*/operations/*}:cancel'
- post: '/ui/{name=projects/*/locations/*/indexEndpoints/*/operations/*}:cancel'
- post: '/ui/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*/operations/*}:cancel'
- post: '/ui/{name=projects/*/locations/*/migratableResources/*/operations/*}:cancel'
- post: '/ui/{name=projects/*/locations/*/models/*/operations/*}:cancel'
- post: '/ui/{name=projects/*/locations/*/models/*/evaluations/*/operations/*}:cancel'
- post: '/ui/{name=projects/*/locations/*/studies/*/trials/*/operations/*}:cancel'
- post: '/ui/{name=projects/*/locations/*/trainingPipelines/*/operations/*}:cancel'
- post: '/ui/{name=projects/*/locations/*/pipelineJobs/*/operations/*}:cancel'
- post: '/ui/{name=projects/*/locations/*/specialistPools/*/operations/*}:cancel'
- post: '/ui/{name=projects/*/locations/*/tensorboards/*/operations/*}:cancel'
- post: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/operations/*}:cancel'
- post: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/operations/*}:cancel'
- post: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*/operations/*}:cancel'
- post: '/v1beta1/{name=projects/*/locations/*/operations/*}:cancel'
- post: '/v1beta1/{name=projects/*/locations/*/datasets/*/operations/*}:cancel'
- post: '/v1beta1/{name=projects/*/locations/*/datasets/*/dataItems/*/operations/*}:cancel'
- post: '/v1beta1/{name=projects/*/locations/*/datasets/*/savedQueries/*/operations/*}:cancel'
- post: '/v1beta1/{name=projects/*/locations/*/datasets/*/annotationSpecs/*/operations/*}:cancel'
- post: '/v1beta1/{name=projects/*/locations/*/datasets/*/dataItems/*/annotations/*/operations/*}:cancel'
- post: '/v1beta1/{name=projects/*/locations/*/endpoints/*/operations/*}:cancel'
- post: '/v1beta1/{name=projects/*/locations/*/featurestores/*/operations/*}:cancel'
- post: '/v1beta1/{name=projects/*/locations/*/featurestores/*/entityTypes/*/operations/*}:cancel'
- post: '/v1beta1/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*/operations/*}:cancel'
- post: '/v1beta1/{name=projects/*/locations/*/customJobs/*/operations/*}:cancel'
- post: '/v1beta1/{name=projects/*/locations/*/dataLabelingJobs/*/operations/*}:cancel'
- post: '/v1beta1/{name=projects/*/locations/*/hyperparameterTuningJobs/*/operations/*}:cancel'
- post: '/v1beta1/{name=projects/*/locations/*/indexes/*/operations/*}:cancel'
- post: '/v1beta1/{name=projects/*/locations/*/indexEndpoints/*/operations/*}:cancel'
- post: '/v1beta1/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*/operations/*}:cancel'
- post: '/v1beta1/{name=projects/*/locations/*/migratableResources/*/operations/*}:cancel'
- post: '/v1beta1/{name=projects/*/locations/*/models/*/operations/*}:cancel'
- post: '/v1beta1/{name=projects/*/locations/*/models/*/evaluations/*/operations/*}:cancel'
- post: '/v1beta1/{name=projects/*/locations/*/studies/*/trials/*/operations/*}:cancel'
- post: '/v1beta1/{name=projects/*/locations/*/trainingPipelines/*/operations/*}:cancel'
- post: '/v1beta1/{name=projects/*/locations/*/pipelineJobs/*/operations/*}:cancel'
- post: '/v1beta1/{name=projects/*/locations/*/specialistPools/*/operations/*}:cancel'
- post: '/v1beta1/{name=projects/*/locations/*/tensorboards/*/operations/*}:cancel'
- post: '/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*/operations/*}:cancel'
- post: '/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/operations/*}:cancel'
- post: '/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*/operations/*}:cancel'
- selector: google.longrunning.Operations.DeleteOperation
delete: '/ui/{name=projects/*/locations/*/operations/*}'
additional_bindings:
- delete: '/ui/{name=projects/*/locations/*/datasets/*/operations/*}'
- delete: '/ui/{name=projects/*/locations/*/datasets/*/dataItems/*/operations/*}'
- delete: '/ui/{name=projects/*/locations/*/datasets/*/savedQueries/*/operations/*}'
- delete: '/ui/{name=projects/*/locations/*/datasets/*/annotationSpecs/*/operations/*}'
- delete: '/ui/{name=projects/*/locations/*/datasets/*/dataItems/*/annotations/*/operations/*}'
- delete: '/ui/{name=projects/*/locations/*/endpoints/*/operations/*}'
- delete: '/ui/{name=projects/*/locations/*/featurestores/*/operations/*}'
- delete: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*/operations/*}'
- delete: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*/operations/*}'
- delete: '/ui/{name=projects/*/locations/*/customJobs/*/operations/*}'
- delete: '/ui/{name=projects/*/locations/*/dataLabelingJobs/*/operations/*}'
- delete: '/ui/{name=projects/*/locations/*/hyperparameterTuningJobs/*/operations/*}'
- delete: '/ui/{name=projects/*/locations/*/indexes/*/operations/*}'
- delete: '/ui/{name=projects/*/locations/*/indexEndpoints/*/operations/*}'
- delete: '/ui/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*/operations/*}'
- delete: '/ui/{name=projects/*/locations/*/migratableResources/*/operations/*}'
- delete: '/ui/{name=projects/*/locations/*/models/*/operations/*}'
- delete: '/ui/{name=projects/*/locations/*/models/*/evaluations/*/operations/*}'
- delete: '/ui/{name=projects/*/locations/*/studies/*/trials/*/operations/*}'
- delete: '/ui/{name=projects/*/locations/*/trainingPipelines/*/operations/*}'
- delete: '/ui/{name=projects/*/locations/*/pipelineJobs/*/operations/*}'
- delete: '/ui/{name=projects/*/locations/*/specialistPools/*/operations/*}'
- delete: '/ui/{name=projects/*/locations/*/tensorboards/*/operations/*}'
- delete: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/operations/*}'
- delete: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/operations/*}'
- delete: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*/operations/*}'
- delete: '/v1beta1/{name=projects/*/locations/*/operations/*}'
- delete: '/v1beta1/{name=projects/*/locations/*/datasets/*/operations/*}'
- delete: '/v1beta1/{name=projects/*/locations/*/datasets/*/dataItems/*/operations/*}'
- delete: '/v1beta1/{name=projects/*/locations/*/datasets/*/savedQueries/*/operations/*}'
- delete: '/v1beta1/{name=projects/*/locations/*/datasets/*/annotationSpecs/*/operations/*}'
- delete: '/v1beta1/{name=projects/*/locations/*/datasets/*/dataItems/*/annotations/*/operations/*}'
- delete: '/v1beta1/{name=projects/*/locations/*/endpoints/*/operations/*}'
- delete: '/v1beta1/{name=projects/*/locations/*/featurestores/*/operations/*}'
- delete: '/v1beta1/{name=projects/*/locations/*/featurestores/*/entityTypes/*/operations/*}'
- delete: '/v1beta1/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*/operations/*}'
- delete: '/v1beta1/{name=projects/*/locations/*/customJobs/*/operations/*}'
- delete: '/v1beta1/{name=projects/*/locations/*/dataLabelingJobs/*/operations/*}'
- delete: '/v1beta1/{name=projects/*/locations/*/hyperparameterTuningJobs/*/operations/*}'
- delete: '/v1beta1/{name=projects/*/locations/*/indexes/*/operations/*}'
- delete: '/v1beta1/{name=projects/*/locations/*/indexEndpoints/*/operations/*}'
- delete: '/v1beta1/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*/operations/*}'
- delete: '/v1beta1/{name=projects/*/locations/*/migratableResources/*/operations/*}'
- delete: '/v1beta1/{name=projects/*/locations/*/models/*/operations/*}'
- delete: '/v1beta1/{name=projects/*/locations/*/models/*/evaluations/*/operations/*}'
- delete: '/v1beta1/{name=projects/*/locations/*/studies/*/trials/*/operations/*}'
- delete: '/v1beta1/{name=projects/*/locations/*/trainingPipelines/*/operations/*}'
- delete: '/v1beta1/{name=projects/*/locations/*/pipelineJobs/*/operations/*}'
- delete: '/v1beta1/{name=projects/*/locations/*/specialistPools/*/operations/*}'
- delete: '/v1beta1/{name=projects/*/locations/*/tensorboards/*/operations/*}'
- delete: '/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*/operations/*}'
- delete: '/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/operations/*}'
- delete: '/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*/operations/*}'
- selector: google.longrunning.Operations.GetOperation
get: '/ui/{name=projects/*/locations/*/operations/*}'
additional_bindings:
- get: '/ui/{name=projects/*/locations/*/datasets/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/datasets/*/dataItems/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/datasets/*/savedQueries/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/datasets/*/annotationSpecs/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/datasets/*/dataItems/*/annotations/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/endpoints/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/featurestores/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/customJobs/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/dataLabelingJobs/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/hyperparameterTuningJobs/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/indexes/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/indexEndpoints/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/migratableResources/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/models/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/models/*/evaluations/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/studies/*/trials/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/trainingPipelines/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/pipelineJobs/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/specialistPools/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/tensorboards/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/operations/*}'
- get: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*/operations/*}'
- get: '/v1beta1/{name=projects/*/locations/*/operations/*}'
- get: '/v1beta1/{name=projects/*/locations/*/datasets/*/operations/*}'
- get: '/v1beta1/{name=projects/*/locations/*/datasets/*/dataItems/*/operations/*}'
- get: '/v1beta1/{name=projects/*/locations/*/datasets/*/savedQueries/*/operations/*}'
- get: '/v1beta1/{name=projects/*/locations/*/datasets/*/annotationSpecs/*/operations/*}'
- get: '/v1beta1/{name=projects/*/locations/*/datasets/*/dataItems/*/annotations/*/operations/*}'
- get: '/v1beta1/{name=projects/*/locations/*/endpoints/*/operations/*}'
- get: '/v1beta1/{name=projects/*/locations/*/featurestores/*/operations/*}'
- get: '/v1beta1/{name=projects/*/locations/*/featurestores/*/entityTypes/*/operations/*}'
- get: '/v1beta1/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*/operations/*}'
- get: '/v1beta1/{name=projects/*/locations/*/customJobs/*/operations/*}'
- get: '/v1beta1/{name=projects/*/locations/*/dataLabelingJobs/*/operations/*}'
- get: '/v1beta1/{name=projects/*/locations/*/hyperparameterTuningJobs/*/operations/*}'
- get: '/v1beta1/{name=projects/*/locations/*/indexes/*/operations/*}'
- get: '/v1beta1/{name=projects/*/locations/*/indexEndpoints/*/operations/*}'
- get: '/v1beta1/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*/operations/*}'
- get: '/v1beta1/{name=projects/*/locations/*/migratableResources/*/operations/*}'
- get: '/v1beta1/{name=projects/*/locations/*/models/*/operations/*}'
- get: '/v1beta1/{name=projects/*/locations/*/models/*/evaluations/*/operations/*}'
- get: '/v1beta1/{name=projects/*/locations/*/studies/*/trials/*/operations/*}'
- get: '/v1beta1/{name=projects/*/locations/*/trainingPipelines/*/operations/*}'
- get: '/v1beta1/{name=projects/*/locations/*/pipelineJobs/*/operations/*}'
- get: '/v1beta1/{name=projects/*/locations/*/specialistPools/*/operations/*}'
- get: '/v1beta1/{name=projects/*/locations/*/tensorboards/*/operations/*}'
- get: '/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*/operations/*}'
- get: '/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/operations/*}'
- get: '/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*/operations/*}'
- selector: google.longrunning.Operations.ListOperations
get: '/ui/{name=projects/*/locations/*}/operations'
additional_bindings:
- get: '/ui/{name=projects/*/locations/*/datasets/*}/operations'
- get: '/ui/{name=projects/*/locations/*/datasets/*/dataItems/*}/operations'
- get: '/ui/{name=projects/*/locations/*/datasets/*/savedQueries/*}/operations'
- get: '/ui/{name=projects/*/locations/*/datasets/*/annotationSpecs/*}/operations'
- get: '/ui/{name=projects/*/locations/*/datasets/*/dataItems/*/annotations/*}/operations'
- get: '/ui/{name=projects/*/locations/*/endpoints/*}/operations'
- get: '/ui/{name=projects/*/locations/*/featurestores/*}/operations'
- get: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*}/operations'
- get: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*}/operations'
- get: '/ui/{name=projects/*/locations/*/customJobs/*}/operations'
- get: '/ui/{name=projects/*/locations/*/dataLabelingJobs/*}/operations'
- get: '/ui/{name=projects/*/locations/*/hyperparameterTuningJobs/*}/operations'
- get: '/ui/{name=projects/*/locations/*/indexes/*}/operations'
- get: '/ui/{name=projects/*/locations/*/indexEndpoints/*}/operations'
- get: '/ui/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*}/operations'
- get: '/ui/{name=projects/*/locations/*/migratableResources/*}/operations'
- get: '/ui/{name=projects/*/locations/*/models/*}/operations'
- get: '/ui/{name=projects/*/locations/*/models/*/evaluations/*}/operations'
- get: '/ui/{name=projects/*/locations/*/studies/*/trials/*}/operations'
- get: '/ui/{name=projects/*/locations/*/trainingPipelines/*}/operations'
- get: '/ui/{name=projects/*/locations/*/pipelineJobs/*}/operations'
- get: '/ui/{name=projects/*/locations/*/specialistPools/*}/operations'
- get: '/ui/{name=projects/*/locations/*/tensorboards/*}/operations'
- get: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*}/operations'
- get: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}/operations'
- get: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*}/operations'
- get: '/v1beta1/{name=projects/*/locations/*}/operations'
- get: '/v1beta1/{name=projects/*/locations/*/datasets/*}/operations'
- get: '/v1beta1/{name=projects/*/locations/*/datasets/*/dataItems/*}/operations'
- get: '/v1beta1/{name=projects/*/locations/*/datasets/*/savedQueries/*}/operations'
- get: '/v1beta1/{name=projects/*/locations/*/datasets/*/annotationSpecs/*}/operations'
- get: '/v1beta1/{name=projects/*/locations/*/datasets/*/dataItems/*/annotations/*}/operations'
- get: '/v1beta1/{name=projects/*/locations/*/endpoints/*}/operations'
- get: '/v1beta1/{name=projects/*/locations/*/featurestores/*}/operations'
- get: '/v1beta1/{name=projects/*/locations/*/featurestores/*/entityTypes/*}/operations'
- get: '/v1beta1/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*}/operations'
- get: '/v1beta1/{name=projects/*/locations/*/customJobs/*}/operations'
- get: '/v1beta1/{name=projects/*/locations/*/dataLabelingJobs/*}/operations'
- get: '/v1beta1/{name=projects/*/locations/*/hyperparameterTuningJobs/*}/operations'
- get: '/v1beta1/{name=projects/*/locations/*/indexes/*}/operations'
- get: '/v1beta1/{name=projects/*/locations/*/indexEndpoints/*}/operations'
- get: '/v1beta1/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*}/operations'
- get: '/v1beta1/{name=projects/*/locations/*/migratableResources/*}/operations'
- get: '/v1beta1/{name=projects/*/locations/*/models/*}/operations'
- get: '/v1beta1/{name=projects/*/locations/*/models/*/evaluations/*}/operations'
- get: '/v1beta1/{name=projects/*/locations/*/studies/*/trials/*}/operations'
- get: '/v1beta1/{name=projects/*/locations/*/trainingPipelines/*}/operations'
- get: '/v1beta1/{name=projects/*/locations/*/pipelineJobs/*}/operations'
- get: '/v1beta1/{name=projects/*/locations/*/specialistPools/*}/operations'
- get: '/v1beta1/{name=projects/*/locations/*/tensorboards/*}/operations'
- get: '/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*}/operations'
- get: '/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*}/operations'
- get: '/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*}/operations'
- selector: google.longrunning.Operations.WaitOperation
post: '/ui/{name=projects/*/locations/*/operations/*}:wait'
additional_bindings:
- post: '/ui/{name=projects/*/locations/*/datasets/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/datasets/*/dataItems/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/datasets/*/savedQueries/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/datasets/*/annotationSpecs/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/datasets/*/dataItems/*/annotations/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/endpoints/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/featurestores/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/customJobs/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/dataLabelingJobs/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/hyperparameterTuningJobs/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/indexes/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/indexEndpoints/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/migratableResources/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/models/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/models/*/evaluations/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/studies/*/trials/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/trainingPipelines/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/pipelineJobs/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/specialistPools/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/tensorboards/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/operations/*}:wait'
- post: '/ui/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*/operations/*}:wait'
- post: '/v1beta1/{name=projects/*/locations/*/operations/*}:wait'
- post: '/v1beta1/{name=projects/*/locations/*/datasets/*/operations/*}:wait'
- post: '/v1beta1/{name=projects/*/locations/*/datasets/*/dataItems/*/operations/*}:wait'
- post: '/v1beta1/{name=projects/*/locations/*/datasets/*/savedQueries/*/operations/*}:wait'
- post: '/v1beta1/{name=projects/*/locations/*/datasets/*/annotationSpecs/*/operations/*}:wait'
- post: '/v1beta1/{name=projects/*/locations/*/datasets/*/dataItems/*/annotations/*/operations/*}:wait'
- post: '/v1beta1/{name=projects/*/locations/*/endpoints/*/operations/*}:wait'
- post: '/v1beta1/{name=projects/*/locations/*/featurestores/*/operations/*}:wait'
- post: '/v1beta1/{name=projects/*/locations/*/featurestores/*/entityTypes/*/operations/*}:wait'
- post: '/v1beta1/{name=projects/*/locations/*/featurestores/*/entityTypes/*/features/*/operations/*}:wait'
- post: '/v1beta1/{name=projects/*/locations/*/customJobs/*/operations/*}:wait'
- post: '/v1beta1/{name=projects/*/locations/*/dataLabelingJobs/*/operations/*}:wait'
- post: '/v1beta1/{name=projects/*/locations/*/hyperparameterTuningJobs/*/operations/*}:wait'
- post: '/v1beta1/{name=projects/*/locations/*/indexes/*/operations/*}:wait'
- post: '/v1beta1/{name=projects/*/locations/*/indexEndpoints/*/operations/*}:wait'
- post: '/v1beta1/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*/operations/*}:wait'
- post: '/v1beta1/{name=projects/*/locations/*/migratableResources/*/operations/*}:wait'
- post: '/v1beta1/{name=projects/*/locations/*/models/*/operations/*}:wait'
- post: '/v1beta1/{name=projects/*/locations/*/models/*/evaluations/*/operations/*}:wait'
- post: '/v1beta1/{name=projects/*/locations/*/studies/*/trials/*/operations/*}:wait'
- post: '/v1beta1/{name=projects/*/locations/*/trainingPipelines/*/operations/*}:wait'
- post: '/v1beta1/{name=projects/*/locations/*/pipelineJobs/*/operations/*}:wait'
- post: '/v1beta1/{name=projects/*/locations/*/specialistPools/*/operations/*}:wait'
- post: '/v1beta1/{name=projects/*/locations/*/tensorboards/*/operations/*}:wait'
- post: '/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*/operations/*}:wait'
- post: '/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/operations/*}:wait'
- post: '/v1beta1/{name=projects/*/locations/*/tensorboards/*/experiments/*/runs/*/timeSeries/*/operations/*}:wait'
authentication:
rules:
- selector: 'google.cloud.aiplatform.v1beta1.DatasetService.*'
@ -115,6 +423,18 @@ authentication:
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform
- selector: 'google.cloud.aiplatform.v1beta1.VizierService.*'
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform
- selector: google.cloud.location.Locations.GetLocation
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform
- selector: google.cloud.location.Locations.ListLocations
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform
- selector: 'google.longrunning.Operations.*'
oauth:
canonical_scopes: |-

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -18,6 +18,7 @@ package google.cloud.aiplatform.v1beta1;
import "google/api/field_behavior.proto";
import "google/api/resource.proto";
import "google/cloud/aiplatform/v1beta1/user_action_reference.proto";
import "google/protobuf/struct.proto";
import "google/protobuf/timestamp.proto";
@ -58,7 +59,7 @@ message Annotation {
// Output only. Timestamp when this Annotation was last updated.
google.protobuf.Timestamp update_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
// Optional. Used to perform a consistent read-modify-write updates. If not set, a blind
// Optional. Used to perform consistent read-modify-write updates. If not set, a blind
// "overwrite" update happens.
string etag = 8 [(google.api.field_behavior) = OPTIONAL];
@ -79,7 +80,7 @@ message Annotation {
//
// * "aiplatform.googleapis.com/annotation_set_name":
// optional, name of the UI's annotation set this Annotation belongs to.
// If not set the Annotation is not visible in the UI.
// If not set, the Annotation is not visible in the UI.
//
// * "aiplatform.googleapis.com/payload_schema":
// output only, its value is the [payload_schema's][google.cloud.aiplatform.v1beta1.Annotation.payload_schema_uri]

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -47,7 +47,7 @@ message AnnotationSpec {
// Output only. Timestamp when AnnotationSpec was last updated.
google.protobuf.Timestamp update_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
// Optional. Used to perform a consistent read-modify-write updates. If not set, a blind
// Optional. Used to perform consistent read-modify-write updates. If not set, a blind
// "overwrite" update happens.
string etag = 5 [(google.api.field_behavior) = OPTIONAL];
}

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -120,7 +120,6 @@ message BatchPredictionJob {
// Required. The format in which AI Platform gives the predictions, must be one of the
// [Model's][google.cloud.aiplatform.v1beta1.BatchPredictionJob.model]
//
// [supported_output_storage_formats][google.cloud.aiplatform.v1beta1.Model.supported_output_storage_formats].
string predictions_format = 1 [(google.api.field_behavior) = REQUIRED];
}
@ -206,8 +205,8 @@ message BatchPredictionJob {
// conforms to the [Explanation][google.cloud.aiplatform.v1beta1.Explanation] object.
// * `csv`: Generating explanations for CSV format is not supported.
//
// If this field is set to true, the [Model.explanation_spec][google.cloud.aiplatform.v1beta1.Model.explanation_spec] must be
// populated.
// If this field is set to true, either the [Model.explanation_spec][google.cloud.aiplatform.v1beta1.Model.explanation_spec] or
// [explanation_spec][google.cloud.aiplatform.v1beta1.BatchPredictionJob.explanation_spec] must be populated.
bool generate_explanation = 23;
// Explanation configuration for this BatchPredictionJob. Can be

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -93,6 +93,8 @@ message CustomJob {
// Represents the spec of a CustomJob.
message CustomJobSpec {
// Required. The spec of the worker pools including machine type and Docker image.
// All worker pools except the first one are optional and can be skipped by
// providing an empty value.
repeated WorkerPoolSpec worker_pool_specs = 1 [(google.api.field_behavior) = REQUIRED];
// Scheduling options for a CustomJob.
@ -180,10 +182,12 @@ message ContainerSpec {
// The spec of a Python packaged code.
message PythonPackageSpec {
// Required. The URI of a container image in the Container Registry that will run the
// provided python package. AI Platform provides wide range of executor images
// with pre-installed packages to meet users' various use cases. Only one of
// the provided images can be set here.
// Required. The URI of a container image in Artifact Registry that will run the
// provided Python package. AI Platform provides a wide range of executor
// images with pre-installed packages to meet users' various use cases. See
// the list of [pre-built containers for
// training](https://cloud.google.com/ai-platform-unified/docs/training/pre-built-containers).
// You must use an image from this list.
string executor_image_uri = 1 [(google.api.field_behavior) = REQUIRED];
// Required. The Google Cloud Storage location of the Python package files which are

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -18,6 +18,7 @@ package google.cloud.aiplatform.v1beta1;
import "google/api/field_behavior.proto";
import "google/api/resource.proto";
import "google/protobuf/struct.proto";
import "google/protobuf/timestamp.proto";
import "google/api/annotations.proto";
@ -62,7 +63,7 @@ message DataItem {
// [metadata schema's][google.cloud.aiplatform.v1beta1.Dataset.metadata_schema_uri] dataItemSchemaUri field.
google.protobuf.Value payload = 4 [(google.api.field_behavior) = REQUIRED];
// Optional. Used to perform a consistent read-modify-write updates. If not set, a blind
// Optional. Used to perform consistent read-modify-write updates. If not set, a blind
// "overwrite" update happens.
string etag = 7 [(google.api.field_behavior) = OPTIONAL];
}

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -134,13 +134,13 @@ message DataLabelingJob {
// the EncryptionSpec of the Dataset they are exported to.
EncryptionSpec encryption_spec = 20;
// Parameters that configure active learning pipeline. Active learning will
// label the data incrementally via several iterations. For every iteration,
// it will select a batch of data based on the sampling strategy.
// Parameters that configure the active learning pipeline. Active learning
// will label the data incrementally via several iterations. For every
// iteration, it will select a batch of data based on the sampling strategy.
ActiveLearningConfig active_learning_config = 21;
}
// Parameters that configure active learning pipeline. Active learning will
// Parameters that configure the active learning pipeline. Active learning will
// label the data incrementally by several iterations. For every iteration, it
// will select a batch of data based on the sampling strategy.
message ActiveLearningConfig {
@ -192,7 +192,7 @@ message SampleConfig {
int32 following_batch_sample_percentage = 3;
}
// Field to chose sampling strategy. Sampling strategy will decide which data
// Field to choose sampling strategy. Sampling strategy will decide which data
// should be selected for human labeling in every batch.
SampleStrategy sample_strategy = 5;
}

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -104,7 +104,7 @@ message ImportDataConfig {
// considered identical if their content bytes are identical (e.g. image bytes
// or pdf bytes).
// These labels will be overridden by Annotation labels specified inside index
// file refenced by [import_schema_uri][google.cloud.aiplatform.v1beta1.ImportDataConfig.import_schema_uri], e.g. jsonl file.
// file referenced by [import_schema_uri][google.cloud.aiplatform.v1beta1.ImportDataConfig.import_schema_uri], e.g. jsonl file.
map<string, string> data_item_labels = 2;
// Required. Points to a YAML file stored on Google Cloud Storage describing the import

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -358,7 +358,6 @@ message ListDataItemsResponse {
message GetAnnotationSpecRequest {
// Required. The name of the AnnotationSpec resource.
// Format:
//
// `projects/{project}/locations/{location}/datasets/{dataset}/annotationSpecs/{annotation_spec}`
string name = 1 [
(google.api.field_behavior) = REQUIRED,
@ -375,7 +374,6 @@ message GetAnnotationSpecRequest {
message ListAnnotationsRequest {
// Required. The resource name of the DataItem to list Annotations from.
// Format:
//
// `projects/{project}/locations/{location}/datasets/{dataset}/dataItems/{data_item}`
string parent = 1 [
(google.api.field_behavior) = REQUIRED,

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -108,7 +108,7 @@ message DeployedModel {
// Output only. The ID of the DeployedModel.
string id = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
// Required. The name of the Model this is the deployment of. Note that the Model
// Required. The name of the Model that this is the deployment of. Note that the Model
// may be in a different location than the DeployedModel's Endpoint.
string model = 2 [
(google.api.field_behavior) = REQUIRED,
@ -130,9 +130,9 @@ message DeployedModel {
// overrides the value of [Model.explanation_spec][google.cloud.aiplatform.v1beta1.Model.explanation_spec]. All fields of
// [explanation_spec][google.cloud.aiplatform.v1beta1.DeployedModel.explanation_spec] are optional in the request. If a field of
// [explanation_spec][google.cloud.aiplatform.v1beta1.DeployedModel.explanation_spec] is not populated, the value of the same field of
// [Model.explanation_spec][google.cloud.aiplatform.v1beta1.Model.explanation_spec] is inherited. The corresponding
// [Model.explanation_spec][google.cloud.aiplatform.v1beta1.Model.explanation_spec] must be populated, otherwise explanation for
// this Model is not allowed.
// [Model.explanation_spec][google.cloud.aiplatform.v1beta1.Model.explanation_spec] is inherited. If the corresponding
// [Model.explanation_spec][google.cloud.aiplatform.v1beta1.Model.explanation_spec] is not populated, all fields of the
// [explanation_spec][google.cloud.aiplatform.v1beta1.DeployedModel.explanation_spec] will be used for the explanation configuration.
ExplanationSpec explanation_spec = 9;
// The service account that the DeployedModel's container runs as. Specify the

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -192,7 +192,7 @@ message ListEndpointsResponse {
// List of Endpoints in the requested page.
repeated Endpoint endpoints = 1;
// A token to retrieve next page of results.
// A token to retrieve the next page of results.
// Pass to [ListEndpointsRequest.page_token][google.cloud.aiplatform.v1beta1.ListEndpointsRequest.page_token] to obtain that page.
string next_page_token = 2;
}

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -18,6 +18,7 @@ package google.cloud.aiplatform.v1beta1;
import "google/api/field_behavior.proto";
import "google/cloud/aiplatform/v1beta1/explanation_metadata.proto";
import "google/cloud/aiplatform/v1beta1/io.proto";
import "google/protobuf/struct.proto";
import "google/api/annotations.proto";

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -339,7 +339,7 @@ message ExplanationMetadata {
// outputs by their values.
//
// The shape of the value must be an n-dimensional array of strings. The
// number of dimentions must match that of the outputs to be explained.
// number of dimensions must match that of the outputs to be explained.
// The [Attribution.output_display_name][google.cloud.aiplatform.v1beta1.Attribution.output_display_name] is populated by locating in the
// mapping with [Attribution.output_index][google.cloud.aiplatform.v1beta1.Attribution.output_index].
google.protobuf.Value index_display_name_mapping = 1;
@ -377,8 +377,8 @@ message ExplanationMetadata {
// Required. Map from output names to output metadata.
//
// For AI Platform provided Tensorflow images, keys can be any string user
// defines.
// For AI Platform provided Tensorflow images, keys can be any user defined
// string that consists of any UTF-8 characters.
//
// For custom images, keys are the name of the output field in the prediction
// to be explained.

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -53,9 +53,9 @@ message BigQuerySource {
message BigQueryDestination {
// Required. BigQuery URI to a project or table, up to 2000 characters long.
//
// When only project is specified, Dataset and Table is created.
// When full table reference is specified, Dataset must exist and table must
// not exist.
// When only the project is specified, the Dataset and Table is created.
// When the full table reference is specified, the Dataset must exist and
// table must not exist.
//
// Accepted forms:
//
@ -64,7 +64,7 @@ message BigQueryDestination {
string output_uri = 1 [(google.api.field_behavior) = REQUIRED];
}
// The Container Regsitry location for the container image.
// The Container Registry location for the container image.
message ContainerRegistryDestination {
// Required. Container Registry URI of a container image.
// Only Google Container Registry and Artifact Registry are supported now.

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -331,7 +331,7 @@ message ListCustomJobsResponse {
// List of CustomJobs in the requested page.
repeated CustomJob custom_jobs = 1;
// A token to retrieve next page of results.
// A token to retrieve the next page of results.
// Pass to [ListCustomJobsRequest.page_token][google.cloud.aiplatform.v1beta1.ListCustomJobsRequest.page_token] to obtain that page.
string next_page_token = 2;
}
@ -381,7 +381,6 @@ message CreateDataLabelingJobRequest {
message GetDataLabelingJobRequest {
// Required. The name of the DataLabelingJob.
// Format:
//
// `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}`
string name = 1 [
(google.api.field_behavior) = REQUIRED,
@ -453,7 +452,6 @@ message ListDataLabelingJobsResponse {
message DeleteDataLabelingJobRequest {
// Required. The name of the DataLabelingJob to be deleted.
// Format:
//
// `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}`
string name = 1 [
(google.api.field_behavior) = REQUIRED,
@ -467,7 +465,6 @@ message DeleteDataLabelingJobRequest {
message CancelDataLabelingJobRequest {
// Required. The name of the DataLabelingJob.
// Format:
//
// `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}`
string name = 1 [
(google.api.field_behavior) = REQUIRED,
@ -496,7 +493,6 @@ message CreateHyperparameterTuningJobRequest {
message GetHyperparameterTuningJobRequest {
// Required. The name of the HyperparameterTuningJob resource.
// Format:
//
// `projects/{project}/locations/{location}/hyperparameterTuningJobs/{hyperparameter_tuning_job}`
string name = 1 [
(google.api.field_behavior) = REQUIRED,
@ -555,7 +551,7 @@ message ListHyperparameterTuningJobsResponse {
// [HyperparameterTuningJob.trials][google.cloud.aiplatform.v1beta1.HyperparameterTuningJob.trials] of the jobs will be not be returned.
repeated HyperparameterTuningJob hyperparameter_tuning_jobs = 1;
// A token to retrieve next page of results.
// A token to retrieve the next page of results.
// Pass to [ListHyperparameterTuningJobsRequest.page_token][google.cloud.aiplatform.v1beta1.ListHyperparameterTuningJobsRequest.page_token] to obtain that
// page.
string next_page_token = 2;
@ -565,7 +561,6 @@ message ListHyperparameterTuningJobsResponse {
message DeleteHyperparameterTuningJobRequest {
// Required. The name of the HyperparameterTuningJob resource to be deleted.
// Format:
//
// `projects/{project}/locations/{location}/hyperparameterTuningJobs/{hyperparameter_tuning_job}`
string name = 1 [
(google.api.field_behavior) = REQUIRED,
@ -579,7 +574,6 @@ message DeleteHyperparameterTuningJobRequest {
message CancelHyperparameterTuningJobRequest {
// Required. The name of the HyperparameterTuningJob to cancel.
// Format:
//
// `projects/{project}/locations/{location}/hyperparameterTuningJobs/{hyperparameter_tuning_job}`
string name = 1 [
(google.api.field_behavior) = REQUIRED,
@ -608,7 +602,6 @@ message CreateBatchPredictionJobRequest {
message GetBatchPredictionJobRequest {
// Required. The name of the BatchPredictionJob resource.
// Format:
//
// `projects/{project}/locations/{location}/batchPredictionJobs/{batch_prediction_job}`
string name = 1 [
(google.api.field_behavior) = REQUIRED,
@ -637,6 +630,8 @@ message ListBatchPredictionJobsRequest {
//
// * `state` supports = and !=.
//
// * `model_display_name` supports = and !=
//
// Some examples of using the filter are:
//
// * `state="JOB_STATE_SUCCEEDED" AND display_name="my_job"`
@ -666,7 +661,7 @@ message ListBatchPredictionJobsResponse {
// List of BatchPredictionJobs in the requested page.
repeated BatchPredictionJob batch_prediction_jobs = 1;
// A token to retrieve next page of results.
// A token to retrieve the next page of results.
// Pass to [ListBatchPredictionJobsRequest.page_token][google.cloud.aiplatform.v1beta1.ListBatchPredictionJobsRequest.page_token] to obtain that
// page.
string next_page_token = 2;
@ -676,7 +671,6 @@ message ListBatchPredictionJobsResponse {
message DeleteBatchPredictionJobRequest {
// Required. The name of the BatchPredictionJob resource to be deleted.
// Format:
//
// `projects/{project}/locations/{location}/batchPredictionJobs/{batch_prediction_job}`
string name = 1 [
(google.api.field_behavior) = REQUIRED,
@ -690,7 +684,6 @@ message DeleteBatchPredictionJobRequest {
message CancelBatchPredictionJobRequest {
// Required. The name of the BatchPredictionJob to cancel.
// Format:
//
// `projects/{project}/locations/{location}/batchPredictionJobs/{batch_prediction_job}`
string name = 1 [
(google.api.field_behavior) = REQUIRED,

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -52,4 +52,7 @@ enum JobState {
// The job has been stopped, and can be resumed.
JOB_STATE_PAUSED = 8;
// The job has expired.
JOB_STATE_EXPIRED = 9;
}

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -67,7 +67,7 @@ message DedicatedResources {
];
// Immutable. The maximum number of replicas this DeployedModel may be deployed on when
// the traffic against it increases. If requested value is too large,
// the traffic against it increases. If the requested value is too large,
// the deployment will error, but if deployment succeeds then the ability
// to scale the model to that many replicas is guaranteed (barring service
// outages). If traffic against the DeployedModel increases beyond what its
@ -75,6 +75,28 @@ message DedicatedResources {
// If this value is not provided, will use [min_replica_count][google.cloud.aiplatform.v1beta1.DedicatedResources.min_replica_count] as the
// default value.
int32 max_replica_count = 3 [(google.api.field_behavior) = IMMUTABLE];
// Immutable. The metric specifications that overrides a resource
// utilization metric (CPU utilization, accelerator's duty cycle, and so on)
// target value (default to 60 if not set). At most one entry is allowed per
// metric.
//
// If [machine_spec.accelerator_count][google.cloud.aiplatform.v1beta1.MachineSpec.accelerator_count] is
// above 0, the autoscaling will be based on both CPU utilization and
// accelerator's duty cycle metrics and scale up when either metrics exceeds
// its target value while scale down if both metrics are under their target
// value. The default target value is 60 for both metrics.
//
// If [machine_spec.accelerator_count][google.cloud.aiplatform.v1beta1.MachineSpec.accelerator_count] is
// 0, the autoscaling will be based on CPU utilization metric only with
// default target value 60 if not explicitly set.
//
// For example, in the case of Online Prediction, if you want to override
// target CPU utilization to 80, you should set
// [autoscaling_metric_specs.metric_name][google.cloud.aiplatform.v1beta1.AutoscalingMetricSpec.metric_name]
// to `aiplatform.googleapis.com/prediction/online/cpu/utilization` and
// [autoscaling_metric_specs.target][google.cloud.aiplatform.v1beta1.AutoscalingMetricSpec.target] to `80`.
repeated AutoscalingMetricSpec autoscaling_metric_specs = 4 [(google.api.field_behavior) = IMMUTABLE];
}
// A description of resources that to large degree are decided by AI Platform,
@ -85,11 +107,11 @@ message AutomaticResources {
// on. If traffic against it increases, it may dynamically be deployed onto
// more replicas up to [max_replica_count][google.cloud.aiplatform.v1beta1.AutomaticResources.max_replica_count], and as traffic decreases, some
// of these extra replicas may be freed.
// If requested value is too large, the deployment will error.
// If the requested value is too large, the deployment will error.
int32 min_replica_count = 1 [(google.api.field_behavior) = IMMUTABLE];
// Immutable. The maximum number of replicas this DeployedModel may be deployed on when
// the traffic against it increases. If requested value is too large,
// the traffic against it increases. If the requested value is too large,
// the deployment will error, but if deployment succeeds then the ability
// to scale the model to that many replicas is guaranteed (barring service
// outages). If traffic against the DeployedModel increases beyond what its
@ -137,3 +159,22 @@ message DiskSpec {
// Size in GB of the boot disk (default is 100GB).
int32 boot_disk_size_gb = 2;
}
// The metric specification that defines the target resource utilization
// (CPU utilization, accelerator's duty cycle, and so on) for calculating the
// desired replica count.
message AutoscalingMetricSpec {
// Required. The resource metric name.
// Supported metrics:
//
// * For Online Prediction:
// * `aiplatform.googleapis.com/prediction/online/accelerator/duty_cycle`
// * `aiplatform.googleapis.com/prediction/online/cpu/utilization`
string metric_name = 1 [(google.api.field_behavior) = REQUIRED];
// The target resource utilization in percentage (1% - 100%) for the given
// metric; once the real usage deviates from the target by a certain
// percentage, the machine replicas change. The default value is 60
// (representing 60%) if not provided.
int32 target = 2;
}

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -100,7 +100,6 @@ message MigratableResource {
message DataLabelingAnnotatedDataset {
// Full resource name of data labeling AnnotatedDataset.
// Format:
//
// `projects/{project}/datasets/{dataset}/annotatedDatasets/{annotated_dataset}`.
string annotated_dataset = 1 [(google.api.resource_reference) = {
type: "datalabeling.googleapis.com/AnnotatedDataset"
@ -139,8 +138,9 @@ message MigratableResource {
DataLabelingDataset data_labeling_dataset = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
}
// Output only. Timestamp when last migrate attempt on this MigratableResource started.
// Will not be set if there's no migrate attempt on this MigratableResource.
// Output only. Timestamp when the last migration attempt on this MigratableResource
// started. Will not be set if there's no migration attempt on this
// MigratableResource.
google.protobuf.Timestamp last_migrate_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. Timestamp when this MigratableResource was last updated.

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -93,7 +93,7 @@ message SearchMigratableResourcesRequest {
// * `data_labeling_dataset:*`.
// * Migrated or not: Filter migrated resource or not by last_migrate_time.
// * `last_migrate_time:*` will filter migrated resources.
// * `NOT last_migrate_time:*` will filter not yet migrated resource.
// * `NOT last_migrate_time:*` will filter not yet migrated resources.
string filter = 4;
}
@ -201,7 +201,6 @@ message MigrateResourceRequest {
message MigrateDataLabelingAnnotatedDatasetConfig {
// Required. Full resource name of data labeling AnnotatedDataset.
// Format:
//
// `projects/{project}/datasets/{dataset}/annotatedDatasets/{annotated_dataset}`.
string annotated_dataset = 1 [
(google.api.field_behavior) = REQUIRED,
@ -277,7 +276,7 @@ message MigrateResourceResponse {
// Runtime operation information for [MigrationService.BatchMigrateResources][google.cloud.aiplatform.v1beta1.MigrationService.BatchMigrateResources].
message BatchMigrateResourcesOperationMetadata {
// Represents a partial result in batch migration opreation for one
// Represents a partial result in batch migration operation for one
// [MigrateResourceRequest][google.cloud.aiplatform.v1beta1.MigrateResourceRequest].
message PartialResult {
// If the resource's migration is ongoing, none of the result will be set.
@ -306,6 +305,6 @@ message BatchMigrateResourcesOperationMetadata {
// The common part of the operation metadata.
GenericOperationMetadata generic_metadata = 1;
// Partial results that reflects the latest migration operation progress.
// Partial results that reflect the latest migration operation progress.
repeated PartialResult partial_results = 2;
}

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -39,7 +39,7 @@ message Model {
pattern: "projects/{project}/locations/{location}/models/{model}"
};
// Represents a supported by the Model export format.
// Represents export format supported by the Model.
// All formats export to Google Cloud Storage.
message ExportFormat {
// The Model content that can be exported.
@ -121,7 +121,7 @@ message Model {
// The schema is defined as an OpenAPI 3.0.2
// [Schema Object](https://tinyurl.com/y538mdwt#schema-object).
// AutoML Models always have this field populated by AI Platform, if no
// additional metadata is needed this field is set to an empty string.
// additional metadata is needed, this field is set to an empty string.
// Note: The URI given on output will be immutable and probably different,
// including the URI scheme, than the one given on input. The output URI will
// point to a location where the user only has a read access.
@ -257,15 +257,24 @@ message Model {
//
// The Model can be used for [requesting
// explanation][PredictionService.Explain] after being
// [deployed][google.cloud.aiplatform.v1beta1.EndpointService.DeployModel] iff it is populated.
// [deployed][google.cloud.aiplatform.v1beta1.EndpointService.DeployModel] if it is populated.
// The Model can be used for [batch
// explanation][BatchPredictionJob.generate_explanation] iff it is populated.
// explanation][BatchPredictionJob.generate_explanation] if it is populated.
//
// All fields of the explanation_spec can be overridden by
// [explanation_spec][google.cloud.aiplatform.v1beta1.DeployedModel.explanation_spec] of
// [DeployModelRequest.deployed_model][google.cloud.aiplatform.v1beta1.DeployModelRequest.deployed_model], or
// [explanation_spec][google.cloud.aiplatform.v1beta1.BatchPredictionJob.explanation_spec] of
// [BatchPredictionJob][google.cloud.aiplatform.v1beta1.BatchPredictionJob].
//
// If the default explanation specification is not set for this Model, this
// Model can still be used for [requesting
// explanation][PredictionService.Explain] by setting
// [explanation_spec][google.cloud.aiplatform.v1beta1.DeployedModel.explanation_spec] of
// [DeployModelRequest.deployed_model][google.cloud.aiplatform.v1beta1.DeployModelRequest.deployed_model] and for [batch
// explanation][BatchPredictionJob.generate_explanation] by setting
// [explanation_spec][google.cloud.aiplatform.v1beta1.BatchPredictionJob.explanation_spec] of
// [BatchPredictionJob][google.cloud.aiplatform.v1beta1.BatchPredictionJob].
ExplanationSpec explanation_spec = 23;
// Used to perform consistent read-modify-write updates. If not set, a blind
@ -309,7 +318,7 @@ message PredictSchemata {
// The schema is defined as an OpenAPI 3.0.2
// [Schema Object](https://tinyurl.com/y538mdwt#schema-object).
// AutoML Models always have this field populated by AI Platform, if no
// parameters are supported it is set to an empty string.
// parameters are supported, then it is set to an empty string.
// Note: The URI given on output will be immutable and probably different,
// including the URI scheme, than the one given on input. The output URI will
// point to a location where the user only has a read access.
@ -344,6 +353,10 @@ message ModelContainerSpec {
//
// To learn about the requirements for the Docker image itself, see
// [Custom container requirements](https://tinyurl.com/cust-cont-reqs).
//
// You can use the URI to one of AI Platform's [pre-built container images for
// prediction](https://cloud.google.com/ai-platform-unified/docs/predictions/pre-built-containers)
// in this field.
string image_uri = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.field_behavior) = IMMUTABLE
@ -502,7 +515,7 @@ message ModelContainerSpec {
// variable](https://tinyurl.com/cust-cont-reqs#aip-variables).)
string predict_route = 6 [(google.api.field_behavior) = IMMUTABLE];
// Immutable. HTTP path on the container to send health checkss to. AI Platform
// Immutable. HTTP path on the container to send health checks to. AI Platform
// intermittently sends GET requests to this path on the container's IP
// address and port to check that the container is healthy. Read more about
// [health

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -325,7 +325,6 @@ message ExportModelResponse {
message GetModelEvaluationRequest {
// Required. The name of the ModelEvaluation resource.
// Format:
//
// `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}`
string name = 1 [
(google.api.field_behavior) = REQUIRED,
@ -376,7 +375,6 @@ message ListModelEvaluationsResponse {
message GetModelEvaluationSliceRequest {
// Required. The name of the ModelEvaluationSlice resource.
// Format:
//
// `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}/slices/{slice}`
string name = 1 [
(google.api.field_behavior) = REQUIRED,
@ -390,7 +388,6 @@ message GetModelEvaluationSliceRequest {
message ListModelEvaluationSlicesRequest {
// Required. The resource name of the ModelEvaluation to list the ModelEvaluationSlices
// from. Format:
//
// `projects/{project}/locations/{location}/models/{model}/evaluations/{evaluation}`
string parent = 1 [
(google.api.field_behavior) = REQUIRED,

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -111,7 +111,6 @@ message CreateTrainingPipelineRequest {
message GetTrainingPipelineRequest {
// Required. The name of the TrainingPipeline resource.
// Format:
//
// `projects/{project}/locations/{location}/trainingPipelines/{training_pipeline}`
string name = 1 [
(google.api.field_behavior) = REQUIRED,
@ -168,7 +167,7 @@ message ListTrainingPipelinesResponse {
// List of TrainingPipelines in the requested page.
repeated TrainingPipeline training_pipelines = 1;
// A token to retrieve next page of results.
// A token to retrieve the next page of results.
// Pass to [ListTrainingPipelinesRequest.page_token][google.cloud.aiplatform.v1beta1.ListTrainingPipelinesRequest.page_token] to obtain that page.
string next_page_token = 2;
}
@ -177,7 +176,6 @@ message ListTrainingPipelinesResponse {
message DeleteTrainingPipelineRequest {
// Required. The name of the TrainingPipeline resource to be deleted.
// Format:
//
// `projects/{project}/locations/{location}/trainingPipelines/{training_pipeline}`
string name = 1 [
(google.api.field_behavior) = REQUIRED,
@ -191,7 +189,6 @@ message DeleteTrainingPipelineRequest {
message CancelTrainingPipelineRequest {
// Required. The name of the TrainingPipeline to cancel.
// Format:
//
// `projects/{project}/locations/{location}/trainingPipelines/{training_pipeline}`
string name = 1 [
(google.api.field_behavior) = REQUIRED,

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -121,7 +121,6 @@ message CreateSpecialistPoolOperationMetadata {
message GetSpecialistPoolRequest {
// Required. The name of the SpecialistPool resource.
// The form is
//
// `projects/{project}/locations/{location}/specialistPools/{specialist_pool}`.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
@ -195,7 +194,6 @@ message UpdateSpecialistPoolRequest {
message UpdateSpecialistPoolOperationMetadata {
// Output only. The name of the SpecialistPool to which the specialists are being added.
// Format:
//
// `projects/{project_id}/locations/{location_id}/specialistPools/{specialist_pool}`
string specialist_pool = 1 [
(google.api.field_behavior) = OUTPUT_ONLY,

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -29,6 +29,50 @@ option java_multiple_files = true;
option java_outer_classname = "StudyProto";
option java_package = "com.google.cloud.aiplatform.v1beta1";
// A message representing a Study.
message Study {
option (google.api.resource) = {
type: "aiplatform.googleapis.com/Study"
pattern: "projects/{project}/locations/{location}/studies/{study}"
};
// Describes the Study state.
enum State {
// The study state is unspecified.
STATE_UNSPECIFIED = 0;
// The study is active.
ACTIVE = 1;
// The study is stopped due to an internal error.
INACTIVE = 2;
// The study is done when the service exhausts the parameter search space
// or max_trial_count is reached.
COMPLETED = 3;
}
// Output only. The name of a study. The study's globally unique identifier.
// Format: `projects/{project}/locations/{location}/studies/{study}`
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
// Required. Describes the Study, default value is empty string.
string display_name = 2 [(google.api.field_behavior) = REQUIRED];
// Required. Configuration of the Study.
StudySpec study_spec = 3 [(google.api.field_behavior) = REQUIRED];
// Output only. The detailed state of a Study.
State state = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. Time at which the study was created.
google.protobuf.Timestamp create_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. A human readable reason why the Study is inactive.
// This should be empty if a study is ACTIVE or COMPLETED.
string inactive_reason = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
}
// A message representing a Trial. A Trial contains a unique set of Parameters
// that has been or will be evaluated, along with the objective metrics got by
// running the Trial.
@ -76,6 +120,9 @@ message Trial {
INFEASIBLE = 5;
}
// Output only. Resource name of the Trial assigned by the service.
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. The identifier of the Trial assigned by the service.
string id = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
@ -258,6 +305,68 @@ message StudySpec {
repeated ConditionalParameterSpec conditional_parameter_specs = 10;
}
// The decay curve automated stopping rule builds a Gaussian Process
// Regressor to predict the final objective value of a Trial based on the
// already completed Trials and the intermediate measurements of the current
// Trial. Early stopping is requested for the current Trial if there is very
// low probability to exceed the optimal value found so far.
message DecayCurveAutomatedStoppingSpec {
// True if [Measurement.elapsed_duration][google.cloud.aiplatform.v1beta1.Measurement.elapsed_duration] is used as the x-axis of each
// Trials Decay Curve. Otherwise, [Measurement.step_count][google.cloud.aiplatform.v1beta1.Measurement.step_count] will be used
// as the x-axis.
bool use_elapsed_duration = 1;
}
// The median automated stopping rule stops a pending Trial if the Trial's
// best objective_value is strictly below the median 'performance' of all
// completed Trials reported up to the Trial's last measurement.
// Currently, 'performance' refers to the running average of the objective
// values reported by the Trial in each measurement.
message MedianAutomatedStoppingSpec {
// True if median automated stopping rule applies on
// [Measurement.elapsed_duration][google.cloud.aiplatform.v1beta1.Measurement.elapsed_duration]. It means that elapsed_duration
// field of latest measurement of current Trial is used to compute median
// objective value for each completed Trials.
bool use_elapsed_duration = 1;
}
// Configuration for ConvexStopPolicy.
message ConvexStopConfig {
// Steps used in predicting the final objective for early stopped trials. In
// general, it's set to be the same as the defined steps in training /
// tuning. When use_steps is false, this field is set to the maximum elapsed
// seconds.
int64 max_num_steps = 1;
// Minimum number of steps for a trial to complete. Trials which do not have
// a measurement with num_steps > min_num_steps won't be considered for
// early stopping. It's ok to set it to 0, and a trial can be early stopped
// at any stage. By default, min_num_steps is set to be one-tenth of the
// max_num_steps.
// When use_steps is false, this field is set to the minimum elapsed
// seconds.
int64 min_num_steps = 2;
// The number of Trial measurements used in autoregressive model for
// value prediction. A trial won't be considered early stopping if has fewer
// measurement points.
int64 autoregressive_order = 3;
// The hyper-parameter name used in the tuning job that stands for learning
// rate. Leave it blank if learning rate is not in a parameter in tuning.
// The learning_rate is used to estimate the objective value of the ongoing
// trial.
string learning_rate_parameter_name = 4;
// This bool determines whether or not the rule is applied based on
// elapsed_secs or steps. If use_seconds==false, the early stopping decision
// is made according to the predicted objective values according to the
// target steps. If use_seconds==true, elapsed_secs is used instead of
// steps. Also, in this case, the parameters max_num_steps and min_num_steps
// are overloaded to contain max_elapsed_seconds and min_elapsed_seconds.
bool use_seconds = 5;
}
// The available search algorithms for the Study.
enum Algorithm {
// The default algorithm used by AI Platform Optimization service.
@ -313,6 +422,17 @@ message StudySpec {
BEST_MEASUREMENT = 2;
}
oneof automated_stopping_spec {
// The automated early stopping spec using decay curve rule.
DecayCurveAutomatedStoppingSpec decay_curve_stopping_spec = 4;
// The automated early stopping spec using median rule.
MedianAutomatedStoppingSpec median_automated_stopping_spec = 5;
// The automated early stopping using convex stopping rule.
ConvexStopConfig convex_stop_config = 8;
}
// Required. Metric specs for the Study.
repeated MetricSpec metrics = 1 [(google.api.field_behavior) = REQUIRED];

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -188,15 +188,12 @@ message InputDataConfig {
//
// * AIP_DATA_FORMAT = "jsonl" for non-tabular data, "csv" for tabular data
// * AIP_TRAINING_DATA_URI =
//
// "gcs_destination/dataset-<dataset-id>-<annotation-type>-<time>/training-*.${AIP_DATA_FORMAT}"
//
// * AIP_VALIDATION_DATA_URI =
//
// "gcs_destination/dataset-<dataset-id>-<annotation-type>-<time>/validation-*.${AIP_DATA_FORMAT}"
//
// * AIP_TEST_DATA_URI =
//
// "gcs_destination/dataset-<dataset-id>-<annotation-type>-<time>/test-*.${AIP_DATA_FORMAT}"
GcsDestination gcs_destination = 8;
@ -212,11 +209,9 @@ message InputDataConfig {
//
// * AIP_DATA_FORMAT = "bigquery".
// * AIP_TRAINING_DATA_URI =
//
// "bigquery_destination.dataset_<dataset-id>_<annotation-type>_<time>.training"
//
// * AIP_VALIDATION_DATA_URI =
//
// "bigquery_destination.dataset_<dataset-id>_<annotation-type>_<time>.validation"
//
// * AIP_TEST_DATA_URI =

@ -1,4 +1,4 @@
// Copyright 2020 Google LLC
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -36,7 +36,6 @@ message UserActionReference {
// For API calls that start a LabelingJob.
// Resource name of the LabelingJob.
// Format:
//
// 'projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}'
string data_labeling_job = 2;
}

@ -0,0 +1,502 @@
// Copyright 2021 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.
syntax = "proto3";
package google.cloud.aiplatform.v1beta1;
import "google/api/annotations.proto";
import "google/api/client.proto";
import "google/api/field_behavior.proto";
import "google/api/resource.proto";
import "google/cloud/aiplatform/v1beta1/operation.proto";
import "google/cloud/aiplatform/v1beta1/study.proto";
import "google/longrunning/operations.proto";
import "google/protobuf/empty.proto";
import "google/protobuf/timestamp.proto";
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform";
option java_multiple_files = true;
option java_outer_classname = "VizierServiceProto";
option java_package = "com.google.cloud.aiplatform.v1beta1";
// Cloud AI Platform Vizier API.
//
// Vizier service is a GCP service to solve blackbox optimization problems,
// such as tuning machine learning hyperparameters and searching over deep
// learning architectures.
service VizierService {
option (google.api.default_host) = "aiplatform.googleapis.com";
option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
// Creates a Study. A resource name will be generated after creation of the
// Study.
rpc CreateStudy(CreateStudyRequest) returns (Study) {
option (google.api.http) = {
post: "/v1beta1/{parent=projects/*/locations/*}/studies"
body: "study"
};
option (google.api.method_signature) = "parent,study";
}
// Gets a Study by name.
rpc GetStudy(GetStudyRequest) returns (Study) {
option (google.api.http) = {
get: "/v1beta1/{name=projects/*/locations/*/studies/*}"
};
option (google.api.method_signature) = "name";
}
// Lists all the studies in a region for an associated project.
rpc ListStudies(ListStudiesRequest) returns (ListStudiesResponse) {
option (google.api.http) = {
get: "/v1beta1/{parent=projects/*/locations/*}/studies"
};
option (google.api.method_signature) = "parent";
}
// Deletes a Study.
rpc DeleteStudy(DeleteStudyRequest) returns (google.protobuf.Empty) {
option (google.api.http) = {
delete: "/v1beta1/{name=projects/*/locations/*/studies/*}"
};
option (google.api.method_signature) = "name";
}
// Looks a study up using the user-defined display_name field instead of the
// fully qualified resource name.
rpc LookupStudy(LookupStudyRequest) returns (Study) {
option (google.api.http) = {
post: "/v1beta1/{parent=projects/*/locations/*}/studies:lookup"
body: "*"
};
option (google.api.method_signature) = "parent";
}
// Adds one or more Trials to a Study, with parameter values
// suggested by AI Platform Vizier. Returns a long-running
// operation associated with the generation of Trial suggestions.
// When this long-running operation succeeds, it will contain
// a [SuggestTrialsResponse][google.cloud.ml.v1.SuggestTrialsResponse].
rpc SuggestTrials(SuggestTrialsRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v1beta1/{parent=projects/*/locations/*/studies/*}/trials:suggest"
body: "*"
};
option (google.longrunning.operation_info) = {
response_type: "SuggestTrialsResponse"
metadata_type: "SuggestTrialsMetadata"
};
}
// Adds a user provided Trial to a Study.
rpc CreateTrial(CreateTrialRequest) returns (Trial) {
option (google.api.http) = {
post: "/v1beta1/{parent=projects/*/locations/*/studies/*}/trials"
body: "trial"
};
option (google.api.method_signature) = "parent,trial";
}
// Gets a Trial.
rpc GetTrial(GetTrialRequest) returns (Trial) {
option (google.api.http) = {
get: "/v1beta1/{name=projects/*/locations/*/studies/*/trials/*}"
};
option (google.api.method_signature) = "name";
}
// Lists the Trials associated with a Study.
rpc ListTrials(ListTrialsRequest) returns (ListTrialsResponse) {
option (google.api.http) = {
get: "/v1beta1/{parent=projects/*/locations/*/studies/*}/trials"
};
option (google.api.method_signature) = "parent";
}
// Adds a measurement of the objective metrics to a Trial. This measurement
// is assumed to have been taken before the Trial is complete.
rpc AddTrialMeasurement(AddTrialMeasurementRequest) returns (Trial) {
option (google.api.http) = {
post: "/v1beta1/{trial_name=projects/*/locations/*/studies/*/trials/*}:addTrialMeasurement"
body: "*"
};
}
// Marks a Trial as complete.
rpc CompleteTrial(CompleteTrialRequest) returns (Trial) {
option (google.api.http) = {
post: "/v1beta1/{name=projects/*/locations/*/studies/*/trials/*}:complete"
body: "*"
};
}
// Deletes a Trial.
rpc DeleteTrial(DeleteTrialRequest) returns (google.protobuf.Empty) {
option (google.api.http) = {
delete: "/v1beta1/{name=projects/*/locations/*/studies/*/trials/*}"
};
option (google.api.method_signature) = "name";
}
// Checks whether a Trial should stop or not. Returns a
// long-running operation. When the operation is successful,
// it will contain a
// [CheckTrialEarlyStoppingStateResponse][google.cloud.ml.v1.CheckTrialEarlyStoppingStateResponse].
rpc CheckTrialEarlyStoppingState(CheckTrialEarlyStoppingStateRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v1beta1/{trial_name=projects/*/locations/*/studies/*/trials/*}:checkTrialEarlyStoppingState"
body: "*"
};
option (google.longrunning.operation_info) = {
response_type: "CheckTrialEarlyStoppingStateResponse"
metadata_type: "CheckTrialEarlyStoppingStateMetatdata"
};
}
// Stops a Trial.
rpc StopTrial(StopTrialRequest) returns (Trial) {
option (google.api.http) = {
post: "/v1beta1/{name=projects/*/locations/*/studies/*/trials/*}:stop"
body: "*"
};
}
// Lists the pareto-optimal Trials for multi-objective Study or the
// optimal Trials for single-objective Study. The definition of
// pareto-optimal can be checked in wiki page.
// https://en.wikipedia.org/wiki/Pareto_efficiency
rpc ListOptimalTrials(ListOptimalTrialsRequest) returns (ListOptimalTrialsResponse) {
option (google.api.http) = {
post: "/v1beta1/{parent=projects/*/locations/*/studies/*}/trials:listOptimalTrials"
body: "*"
};
option (google.api.method_signature) = "parent";
}
}
// Request message for [VizierService.GetStudy][google.cloud.aiplatform.v1beta1.VizierService.GetStudy].
message GetStudyRequest {
// Required. The name of the Study resource.
// Format: `projects/{project}/locations/{location}/studies/{study}`
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "aiplatform.googleapis.com/Study"
}
];
}
// Request message for [VizierService.CreateStudy][google.cloud.aiplatform.v1beta1.VizierService.CreateStudy].
message CreateStudyRequest {
// Required. The resource name of the Location to create the CustomJob in.
// Format: `projects/{project}/locations/{location}`
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "locations.googleapis.com/Location"
}
];
// Required. The Study configuration used to create the Study.
Study study = 2 [(google.api.field_behavior) = REQUIRED];
}
// Request message for [VizierService.ListStudies][google.cloud.aiplatform.v1beta1.VizierService.ListStudies].
message ListStudiesRequest {
// Required. The resource name of the Location to list the Study from.
// Format: `projects/{project}/locations/{location}`
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "locations.googleapis.com/Location"
}
];
// Optional. A page token to request the next page of results.
// If unspecified, there are no subsequent pages.
string page_token = 2 [(google.api.field_behavior) = OPTIONAL];
// Optional. The maximum number of studies to return per "page" of results.
// If unspecified, service will pick an appropriate default.
int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL];
}
// Response message for [VizierService.ListStudies][google.cloud.aiplatform.v1beta1.VizierService.ListStudies].
message ListStudiesResponse {
// The studies associated with the project.
repeated Study studies = 1;
// Passes this token as the `page_token` field of the request for a
// subsequent call.
// If this field is omitted, there are no subsequent pages.
string next_page_token = 2;
}
// Request message for [VizierService.DeleteStudy][google.cloud.aiplatform.v1beta1.VizierService.DeleteStudy].
message DeleteStudyRequest {
// Required. The name of the Study resource to be deleted.
// Format: `projects/{project}/locations/{location}/studies/{study}`
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "aiplatform.googleapis.com/Study"
}
];
}
// Request message for [VizierService.LookupStudy][google.cloud.aiplatform.v1beta1.VizierService.LookupStudy].
message LookupStudyRequest {
// Required. The resource name of the Location to get the Study from.
// Format: `projects/{project}/locations/{location}`
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "locations.googleapis.com/Location"
}
];
// Required. The user-defined display name of the Study
string display_name = 2 [(google.api.field_behavior) = REQUIRED];
}
// Request message for [VizierService.SuggestTrials][google.cloud.aiplatform.v1beta1.VizierService.SuggestTrials].
message SuggestTrialsRequest {
// Required. The project and location that the Study belongs to.
// Format: `projects/{project}/locations/{location}/studies/{study}`
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "aiplatform.googleapis.com/Study"
}
];
// Required. The number of suggestions requested.
int32 suggestion_count = 2 [(google.api.field_behavior) = REQUIRED];
// Required. The identifier of the client that is requesting the suggestion.
//
// If multiple SuggestTrialsRequests have the same `client_id`,
// the service will return the identical suggested Trial if the Trial is
// pending, and provide a new Trial if the last suggested Trial was completed.
string client_id = 3 [(google.api.field_behavior) = REQUIRED];
}
// Response message for [VizierService.SuggestTrials][google.cloud.aiplatform.v1beta1.VizierService.SuggestTrials].
message SuggestTrialsResponse {
// A list of Trials.
repeated Trial trials = 1;
// The state of the Study.
Study.State study_state = 2;
// The time at which the operation was started.
google.protobuf.Timestamp start_time = 3;
// The time at which operation processing completed.
google.protobuf.Timestamp end_time = 4;
}
// Details of operations that perform Trials suggestion.
message SuggestTrialsMetadata {
// Operation metadata for suggesting Trials.
GenericOperationMetadata generic_metadata = 1;
// The identifier of the client that is requesting the suggestion.
//
// If multiple SuggestTrialsRequests have the same `client_id`,
// the service will return the identical suggested Trial if the Trial is
// pending, and provide a new Trial if the last suggested Trial was completed.
string client_id = 2;
}
// Request message for [VizierService.CreateTrial][google.cloud.aiplatform.v1beta1.VizierService.CreateTrial].
message CreateTrialRequest {
// Required. The resource name of the Study to create the Trial in.
// Format: `projects/{project}/locations/{location}/studies/{study}`
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "aiplatform.googleapis.com/Study"
}
];
// Required. The Trial to create.
Trial trial = 2 [(google.api.field_behavior) = REQUIRED];
}
// Request message for [VizierService.GetTrial][google.cloud.aiplatform.v1beta1.VizierService.GetTrial].
message GetTrialRequest {
// Required. The name of the Trial resource.
// Format:
// `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "aiplatform.googleapis.com/Trial"
}
];
}
// Request message for [VizierService.ListTrials][google.cloud.aiplatform.v1beta1.VizierService.ListTrials].
message ListTrialsRequest {
// Required. The resource name of the Study to list the Trial from.
// Format: `projects/{project}/locations/{location}/studies/{study}`
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "aiplatform.googleapis.com/Study"
}
];
// Optional. A page token to request the next page of results.
// If unspecified, there are no subsequent pages.
string page_token = 2 [(google.api.field_behavior) = OPTIONAL];
// Optional. The number of Trials to retrieve per "page" of results.
// If unspecified, the service will pick an appropriate default.
int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL];
}
// Response message for [VizierService.ListTrials][google.cloud.aiplatform.v1beta1.VizierService.ListTrials].
message ListTrialsResponse {
// The Trials associated with the Study.
repeated Trial trials = 1;
// Pass this token as the `page_token` field of the request for a
// subsequent call.
// If this field is omitted, there are no subsequent pages.
string next_page_token = 2;
}
// Request message for [VizierService.AddTrialMeasurement][google.cloud.aiplatform.v1beta1.VizierService.AddTrialMeasurement].
message AddTrialMeasurementRequest {
// Required. The name of the trial to add measurement.
// Format:
// `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`
string trial_name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "aiplatform.googleapis.com/Trial"
}
];
// Required. The measurement to be added to a Trial.
Measurement measurement = 3 [(google.api.field_behavior) = REQUIRED];
}
// Request message for [VizierService.CompleteTrial][google.cloud.aiplatform.v1beta1.VizierService.CompleteTrial].
message CompleteTrialRequest {
// Required. The Trial's name.
// Format:
// `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "aiplatform.googleapis.com/Trial"
}
];
// Optional. If provided, it will be used as the completed Trial's
// final_measurement; Otherwise, the service will auto-select a
// previously reported measurement as the final-measurement
Measurement final_measurement = 2 [(google.api.field_behavior) = OPTIONAL];
// Optional. True if the Trial cannot be run with the given Parameter, and
// final_measurement will be ignored.
bool trial_infeasible = 3 [(google.api.field_behavior) = OPTIONAL];
// Optional. A human readable reason why the trial was infeasible. This should
// only be provided if `trial_infeasible` is true.
string infeasible_reason = 4 [(google.api.field_behavior) = OPTIONAL];
}
// Request message for [VizierService.DeleteTrial][google.cloud.aiplatform.v1beta1.VizierService.DeleteTrial].
message DeleteTrialRequest {
// Required. The Trial's name.
// Format:
// `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "aiplatform.googleapis.com/Trial"
}
];
}
// Request message for [VizierService.CheckTrialEarlyStoppingState][google.cloud.aiplatform.v1beta1.VizierService.CheckTrialEarlyStoppingState].
message CheckTrialEarlyStoppingStateRequest {
// Required. The Trial's name.
// Format:
// `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`
string trial_name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "aiplatform.googleapis.com/Trial"
}
];
}
// Response message for [VizierService.CheckTrialEarlyStoppingState][google.cloud.aiplatform.v1beta1.VizierService.CheckTrialEarlyStoppingState].
message CheckTrialEarlyStoppingStateResponse {
// True if the Trial should stop.
bool should_stop = 1;
}
// This message will be placed in the metadata field of a
// google.longrunning.Operation associated with a CheckTrialEarlyStoppingState
// request.
message CheckTrialEarlyStoppingStateMetatdata {
// Operation metadata for suggesting Trials.
GenericOperationMetadata generic_metadata = 1;
// The name of the Study that the Trial belongs to.
string study = 2;
// The Trial name.
string trial = 3;
}
// Request message for [VizierService.StopTrial][google.cloud.aiplatform.v1beta1.VizierService.StopTrial].
message StopTrialRequest {
// Required. The Trial's name.
// Format:
// `projects/{project}/locations/{location}/studies/{study}/trials/{trial}`
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "aiplatform.googleapis.com/Trial"
}
];
}
// Request message for [VizierService.ListOptimalTrials][google.cloud.aiplatform.v1beta1.VizierService.ListOptimalTrials].
message ListOptimalTrialsRequest {
// Required. The name of the Study that the optimal Trial belongs to.
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "aiplatform.googleapis.com/Study"
}
];
}
// Response message for [VizierService.ListOptimalTrials][google.cloud.aiplatform.v1beta1.VizierService.ListOptimalTrials].
message ListOptimalTrialsResponse {
// The pareto-optimal Trials for multiple objective Study or the
// optimal trial for single objective Study. The definition of
// pareto-optimal can be checked in wiki page.
// https://en.wikipedia.org/wiki/Pareto_efficiency
repeated Trial optimal_trials = 1;
}
Loading…
Cancel
Save