• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2023 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15syntax = "proto3";
16
17package google.cloud.aiplatform.v1;
18
19import "google/api/field_behavior.proto";
20import "google/api/resource.proto";
21import "google/cloud/aiplatform/v1/custom_job.proto";
22import "google/cloud/aiplatform/v1/encryption_spec.proto";
23import "google/cloud/aiplatform/v1/job_state.proto";
24import "google/cloud/aiplatform/v1/study.proto";
25import "google/protobuf/timestamp.proto";
26import "google/rpc/status.proto";
27
28option csharp_namespace = "Google.Cloud.AIPlatform.V1";
29option go_package = "cloud.google.com/go/aiplatform/apiv1/aiplatformpb;aiplatformpb";
30option java_multiple_files = true;
31option java_outer_classname = "HyperparameterTuningJobProto";
32option java_package = "com.google.cloud.aiplatform.v1";
33option php_namespace = "Google\\Cloud\\AIPlatform\\V1";
34option ruby_package = "Google::Cloud::AIPlatform::V1";
35
36// Represents a HyperparameterTuningJob. A HyperparameterTuningJob
37// has a Study specification and multiple CustomJobs with identical
38// CustomJob specification.
39message HyperparameterTuningJob {
40  option (google.api.resource) = {
41    type: "aiplatform.googleapis.com/HyperparameterTuningJob"
42    pattern: "projects/{project}/locations/{location}/hyperparameterTuningJobs/{hyperparameter_tuning_job}"
43  };
44
45  // Output only. Resource name of the HyperparameterTuningJob.
46  string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
47
48  // Required. The display name of the HyperparameterTuningJob.
49  // The name can be up to 128 characters long and can consist of any UTF-8
50  // characters.
51  string display_name = 2 [(google.api.field_behavior) = REQUIRED];
52
53  // Required. Study configuration of the HyperparameterTuningJob.
54  StudySpec study_spec = 4 [(google.api.field_behavior) = REQUIRED];
55
56  // Required. The desired total number of Trials.
57  int32 max_trial_count = 5 [(google.api.field_behavior) = REQUIRED];
58
59  // Required. The desired number of Trials to run in parallel.
60  int32 parallel_trial_count = 6 [(google.api.field_behavior) = REQUIRED];
61
62  // The number of failed Trials that need to be seen before failing
63  // the HyperparameterTuningJob.
64  //
65  // If set to 0, Vertex AI decides how many Trials must fail
66  // before the whole job fails.
67  int32 max_failed_trial_count = 7;
68
69  // Required. The spec of a trial job. The same spec applies to the CustomJobs
70  // created in all the trials.
71  CustomJobSpec trial_job_spec = 8 [(google.api.field_behavior) = REQUIRED];
72
73  // Output only. Trials of the HyperparameterTuningJob.
74  repeated Trial trials = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
75
76  // Output only. The detailed state of the job.
77  JobState state = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
78
79  // Output only. Time when the HyperparameterTuningJob was created.
80  google.protobuf.Timestamp create_time = 11
81      [(google.api.field_behavior) = OUTPUT_ONLY];
82
83  // Output only. Time when the HyperparameterTuningJob for the first time
84  // entered the `JOB_STATE_RUNNING` state.
85  google.protobuf.Timestamp start_time = 12
86      [(google.api.field_behavior) = OUTPUT_ONLY];
87
88  // Output only. Time when the HyperparameterTuningJob entered any of the
89  // following states: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`,
90  // `JOB_STATE_CANCELLED`.
91  google.protobuf.Timestamp end_time = 13
92      [(google.api.field_behavior) = OUTPUT_ONLY];
93
94  // Output only. Time when the HyperparameterTuningJob was most recently
95  // updated.
96  google.protobuf.Timestamp update_time = 14
97      [(google.api.field_behavior) = OUTPUT_ONLY];
98
99  // Output only. Only populated when job's state is JOB_STATE_FAILED or
100  // JOB_STATE_CANCELLED.
101  google.rpc.Status error = 15 [(google.api.field_behavior) = OUTPUT_ONLY];
102
103  // The labels with user-defined metadata to organize HyperparameterTuningJobs.
104  //
105  // Label keys and values can be no longer than 64 characters
106  // (Unicode codepoints), can only contain lowercase letters, numeric
107  // characters, underscores and dashes. International characters are allowed.
108  //
109  // See https://goo.gl/xmQnxf for more information and examples of labels.
110  map<string, string> labels = 16;
111
112  // Customer-managed encryption key options for a HyperparameterTuningJob.
113  // If this is set, then all resources created by the HyperparameterTuningJob
114  // will be encrypted with the provided encryption key.
115  EncryptionSpec encryption_spec = 17;
116}
117