aboutsummaryrefslogtreecommitdiff
path: root/google/cloud/automl/v1beta1/image.proto
blob: 116904712a24f3f5ab3fed06d2e948058fe37245 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
// Copyright 2018 Google LLC.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//

syntax = "proto3";

package google.cloud.automl.v1beta1;

import "google/api/annotations.proto";
import "google/cloud/automl/v1beta1/classification.proto";
import "google/protobuf/timestamp.proto";

option go_package = "google.golang.org/genproto/googleapis/cloud/automl/v1beta1;automl";
option java_multiple_files = true;
option java_outer_classname = "ImageProto";
option java_package = "com.google.cloud.automl.v1beta1";
option php_namespace = "Google\\Cloud\\AutoMl\\V1beta1";


// Dataset metadata that is specific to image classification.
message ImageClassificationDatasetMetadata {
  // Required. Type of the classification problem.
  ClassificationType classification_type = 1;
}

// Dataset metadata specific to image object detection.
message ImageObjectDetectionDatasetMetadata {

}

// Model metadata for image classification.
message ImageClassificationModelMetadata {
  // Optional. The ID of the `base` model. If it is specified, the new model
  // will be created based on the `base` model. Otherwise, the new model will be
  // created from scratch. The `base` model must be in the same
  // `project` and `location` as the new model to create, and have the same
  // `model_type`.
  string base_model_id = 1;

  // Required. The train budget of creating this model, expressed in hours. The
  // actual `train_cost` will be equal or less than this value.
  int64 train_budget = 2;

  // Output only. The actual train cost of creating this model, expressed in
  // hours. If this model is created from a `base` model, the train cost used
  // to create the `base` model are not included.
  int64 train_cost = 3;

  // Output only. The reason that this create model operation stopped,
  // e.g. `BUDGET_REACHED`, `MODEL_CONVERGED`.
  string stop_reason = 5;

  // Optional. Type of the model. The available values are:
  // *   `cloud` - Model to be used via prediction calls to AutoML API.
  //               This is the default value.
  // *   `mobile-low-latency-1` - A model that, in addition to providing
  //               prediction via AutoML API, can also be exported (see
  //               [AutoMl.ExportModel][google.cloud.automl.v1beta1.AutoMl.ExportModel]) and used on a mobile or edge device
  //               with TensorFlow afterwards. Expected to have low latency, but
  //               may have lower prediction quality than other models.
  // *   `mobile-versatile-1` - A model that, in addition to providing
  //               prediction via AutoML API, can also be exported (see
  //               [AutoMl.ExportModel][google.cloud.automl.v1beta1.AutoMl.ExportModel]) and used on a mobile or edge device
  //               with TensorFlow afterwards.
  // *   `mobile-high-accuracy-1` - A model that, in addition to providing
  //               prediction via AutoML API, can also be exported (see
  //               [AutoMl.ExportModel][google.cloud.automl.v1beta1.AutoMl.ExportModel]) and used on a mobile or edge device
  //               with TensorFlow afterwards.  Expected to have a higher
  //               latency, but should also have a higher prediction quality
  //               than other models.
  // *   `mobile-core-ml-low-latency-1` - A model that, in addition to providing
  //               prediction via AutoML API, can also be exported (see
  //               [AutoMl.ExportModel][google.cloud.automl.v1beta1.AutoMl.ExportModel]) and used on a mobile device with Core
  //               ML afterwards. Expected to have low latency, but may have
  //               lower prediction quality than other models.
  // *   `mobile-core-ml-versatile-1` - A model that, in addition to providing
  //               prediction via AutoML API, can also be exported (see
  //               [AutoMl.ExportModel][google.cloud.automl.v1beta1.AutoMl.ExportModel]) and used on a mobile device with Core
  //               ML afterwards.
  // *   `mobile-core-ml-high-accuracy-1` - A model that, in addition to
  //               providing prediction via AutoML API, can also be exported
  //               (see [AutoMl.ExportModel][google.cloud.automl.v1beta1.AutoMl.ExportModel]) and used on a mobile device with
  //               Core ML afterwards.  Expected to have a higher latency, but
  //               should also have a higher prediction quality than other
  //               models.
  string model_type = 7;
}

// Model metadata specific to image object detection.
message ImageObjectDetectionModelMetadata {
  // Optional. Type of the model. The available values are:
  // *   `cloud-high-accuracy-1` - (default) A model to be used via prediction
  //               calls to AutoML API. Expected to have a higher latency, but
  //               should also have a higher prediction quality than other
  //               models.
  // *   `cloud-low-latency-1` -  A model to be used via prediction
  //               calls to AutoML API. Expected to have low latency, but may
  //               have lower prediction quality than other models.
  string model_type = 1;

  // Output only. The number of nodes this model is deployed on. A node is an
  // abstraction of a machine resource, which can handle online prediction QPS
  // as given in the qps_per_node field.
  int64 node_count = 3;

  // Output only. An approximate number of online prediction QPS that can
  // be supported by this model per each node on which it is deployed.
  double node_qps = 4;
}

// Model deployment metadata specific to Image Object Detection.
message ImageObjectDetectionModelDeploymentMetadata {
  // Input only. The number of nodes to deploy the model on. A node is an
  // abstraction of a machine resource, which can handle online prediction QPS
  // as given in the model's
  //
  // [qps_per_node][google.cloud.automl.v1beta1.ImageObjectDetectionModelMetadata.qps_per_node].
  // Must be between 1 and 100, inclusive on both ends.
  int64 node_count = 1;
}