// Code generated by protoc-gen-go. DO NOT EDIT.
// source: google/cloud/automl/v1beta1/image.proto

package automl

import (
	fmt "fmt"
	math "math"

	proto "github.com/golang/protobuf/proto"
	_ "github.com/golang/protobuf/ptypes/timestamp"
	_ "google.golang.org/genproto/googleapis/api/annotations"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package

// Dataset metadata that is specific to image classification.
type ImageClassificationDatasetMetadata struct {
	// Required. Type of the classification problem.
	ClassificationType   ClassificationType `protobuf:"varint,1,opt,name=classification_type,json=classificationType,proto3,enum=google.cloud.automl.v1beta1.ClassificationType" json:"classification_type,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

func (m *ImageClassificationDatasetMetadata) Reset()         { *m = ImageClassificationDatasetMetadata{} }
func (m *ImageClassificationDatasetMetadata) String() string { return proto.CompactTextString(m) }
func (*ImageClassificationDatasetMetadata) ProtoMessage()    {}
func (*ImageClassificationDatasetMetadata) Descriptor() ([]byte, []int) {
	return fileDescriptor_29b9f2bc900da869, []int{0}
}

func (m *ImageClassificationDatasetMetadata) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ImageClassificationDatasetMetadata.Unmarshal(m, b)
}
func (m *ImageClassificationDatasetMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ImageClassificationDatasetMetadata.Marshal(b, m, deterministic)
}
func (m *ImageClassificationDatasetMetadata) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ImageClassificationDatasetMetadata.Merge(m, src)
}
func (m *ImageClassificationDatasetMetadata) XXX_Size() int {
	return xxx_messageInfo_ImageClassificationDatasetMetadata.Size(m)
}
func (m *ImageClassificationDatasetMetadata) XXX_DiscardUnknown() {
	xxx_messageInfo_ImageClassificationDatasetMetadata.DiscardUnknown(m)
}

var xxx_messageInfo_ImageClassificationDatasetMetadata proto.InternalMessageInfo

func (m *ImageClassificationDatasetMetadata) GetClassificationType() ClassificationType {
	if m != nil {
		return m.ClassificationType
	}
	return ClassificationType_CLASSIFICATION_TYPE_UNSPECIFIED
}

// Dataset metadata specific to image object detection.
type ImageObjectDetectionDatasetMetadata struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ImageObjectDetectionDatasetMetadata) Reset()         { *m = ImageObjectDetectionDatasetMetadata{} }
func (m *ImageObjectDetectionDatasetMetadata) String() string { return proto.CompactTextString(m) }
func (*ImageObjectDetectionDatasetMetadata) ProtoMessage()    {}
func (*ImageObjectDetectionDatasetMetadata) Descriptor() ([]byte, []int) {
	return fileDescriptor_29b9f2bc900da869, []int{1}
}

func (m *ImageObjectDetectionDatasetMetadata) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ImageObjectDetectionDatasetMetadata.Unmarshal(m, b)
}
func (m *ImageObjectDetectionDatasetMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ImageObjectDetectionDatasetMetadata.Marshal(b, m, deterministic)
}
func (m *ImageObjectDetectionDatasetMetadata) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ImageObjectDetectionDatasetMetadata.Merge(m, src)
}
func (m *ImageObjectDetectionDatasetMetadata) XXX_Size() int {
	return xxx_messageInfo_ImageObjectDetectionDatasetMetadata.Size(m)
}
func (m *ImageObjectDetectionDatasetMetadata) XXX_DiscardUnknown() {
	xxx_messageInfo_ImageObjectDetectionDatasetMetadata.DiscardUnknown(m)
}

var xxx_messageInfo_ImageObjectDetectionDatasetMetadata proto.InternalMessageInfo

// Model metadata for image classification.
type ImageClassificationModelMetadata struct {
	// 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`.
	BaseModelId string `protobuf:"bytes,1,opt,name=base_model_id,json=baseModelId,proto3" json:"base_model_id,omitempty"`
	// Required. The train budget of creating this model, expressed in hours. The
	// actual `train_cost` will be equal or less than this value.
	TrainBudget int64 `protobuf:"varint,2,opt,name=train_budget,json=trainBudget,proto3" json:"train_budget,omitempty"`
	// 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.
	TrainCost int64 `protobuf:"varint,3,opt,name=train_cost,json=trainCost,proto3" json:"train_cost,omitempty"`
	// Output only. The reason that this create model operation stopped,
	// e.g. `BUDGET_REACHED`, `MODEL_CONVERGED`.
	StopReason string `protobuf:"bytes,5,opt,name=stop_reason,json=stopReason,proto3" json:"stop_reason,omitempty"`
	// 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.
	ModelType            string   `protobuf:"bytes,7,opt,name=model_type,json=modelType,proto3" json:"model_type,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ImageClassificationModelMetadata) Reset()         { *m = ImageClassificationModelMetadata{} }
func (m *ImageClassificationModelMetadata) String() string { return proto.CompactTextString(m) }
func (*ImageClassificationModelMetadata) ProtoMessage()    {}
func (*ImageClassificationModelMetadata) Descriptor() ([]byte, []int) {
	return fileDescriptor_29b9f2bc900da869, []int{2}
}

func (m *ImageClassificationModelMetadata) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ImageClassificationModelMetadata.Unmarshal(m, b)
}
func (m *ImageClassificationModelMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ImageClassificationModelMetadata.Marshal(b, m, deterministic)
}
func (m *ImageClassificationModelMetadata) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ImageClassificationModelMetadata.Merge(m, src)
}
func (m *ImageClassificationModelMetadata) XXX_Size() int {
	return xxx_messageInfo_ImageClassificationModelMetadata.Size(m)
}
func (m *ImageClassificationModelMetadata) XXX_DiscardUnknown() {
	xxx_messageInfo_ImageClassificationModelMetadata.DiscardUnknown(m)
}

var xxx_messageInfo_ImageClassificationModelMetadata proto.InternalMessageInfo

func (m *ImageClassificationModelMetadata) GetBaseModelId() string {
	if m != nil {
		return m.BaseModelId
	}
	return ""
}

func (m *ImageClassificationModelMetadata) GetTrainBudget() int64 {
	if m != nil {
		return m.TrainBudget
	}
	return 0
}

func (m *ImageClassificationModelMetadata) GetTrainCost() int64 {
	if m != nil {
		return m.TrainCost
	}
	return 0
}

func (m *ImageClassificationModelMetadata) GetStopReason() string {
	if m != nil {
		return m.StopReason
	}
	return ""
}

func (m *ImageClassificationModelMetadata) GetModelType() string {
	if m != nil {
		return m.ModelType
	}
	return ""
}

// Model metadata specific to image object detection.
type ImageObjectDetectionModelMetadata struct {
	// 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.
	ModelType string `protobuf:"bytes,1,opt,name=model_type,json=modelType,proto3" json:"model_type,omitempty"`
	// 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.
	NodeCount int64 `protobuf:"varint,3,opt,name=node_count,json=nodeCount,proto3" json:"node_count,omitempty"`
	// Output only. An approximate number of online prediction QPS that can
	// be supported by this model per each node on which it is deployed.
	NodeQps              float64  `protobuf:"fixed64,4,opt,name=node_qps,json=nodeQps,proto3" json:"node_qps,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ImageObjectDetectionModelMetadata) Reset()         { *m = ImageObjectDetectionModelMetadata{} }
func (m *ImageObjectDetectionModelMetadata) String() string { return proto.CompactTextString(m) }
func (*ImageObjectDetectionModelMetadata) ProtoMessage()    {}
func (*ImageObjectDetectionModelMetadata) Descriptor() ([]byte, []int) {
	return fileDescriptor_29b9f2bc900da869, []int{3}
}

func (m *ImageObjectDetectionModelMetadata) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ImageObjectDetectionModelMetadata.Unmarshal(m, b)
}
func (m *ImageObjectDetectionModelMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ImageObjectDetectionModelMetadata.Marshal(b, m, deterministic)
}
func (m *ImageObjectDetectionModelMetadata) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ImageObjectDetectionModelMetadata.Merge(m, src)
}
func (m *ImageObjectDetectionModelMetadata) XXX_Size() int {
	return xxx_messageInfo_ImageObjectDetectionModelMetadata.Size(m)
}
func (m *ImageObjectDetectionModelMetadata) XXX_DiscardUnknown() {
	xxx_messageInfo_ImageObjectDetectionModelMetadata.DiscardUnknown(m)
}

var xxx_messageInfo_ImageObjectDetectionModelMetadata proto.InternalMessageInfo

func (m *ImageObjectDetectionModelMetadata) GetModelType() string {
	if m != nil {
		return m.ModelType
	}
	return ""
}

func (m *ImageObjectDetectionModelMetadata) GetNodeCount() int64 {
	if m != nil {
		return m.NodeCount
	}
	return 0
}

func (m *ImageObjectDetectionModelMetadata) GetNodeQps() float64 {
	if m != nil {
		return m.NodeQps
	}
	return 0
}

// Model deployment metadata specific to Image Object Detection.
type ImageObjectDetectionModelDeploymentMetadata struct {
	// 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.
	NodeCount            int64    `protobuf:"varint,1,opt,name=node_count,json=nodeCount,proto3" json:"node_count,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ImageObjectDetectionModelDeploymentMetadata) Reset() {
	*m = ImageObjectDetectionModelDeploymentMetadata{}
}
func (m *ImageObjectDetectionModelDeploymentMetadata) String() string {
	return proto.CompactTextString(m)
}
func (*ImageObjectDetectionModelDeploymentMetadata) ProtoMessage() {}
func (*ImageObjectDetectionModelDeploymentMetadata) Descriptor() ([]byte, []int) {
	return fileDescriptor_29b9f2bc900da869, []int{4}
}

func (m *ImageObjectDetectionModelDeploymentMetadata) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ImageObjectDetectionModelDeploymentMetadata.Unmarshal(m, b)
}
func (m *ImageObjectDetectionModelDeploymentMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ImageObjectDetectionModelDeploymentMetadata.Marshal(b, m, deterministic)
}
func (m *ImageObjectDetectionModelDeploymentMetadata) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ImageObjectDetectionModelDeploymentMetadata.Merge(m, src)
}
func (m *ImageObjectDetectionModelDeploymentMetadata) XXX_Size() int {
	return xxx_messageInfo_ImageObjectDetectionModelDeploymentMetadata.Size(m)
}
func (m *ImageObjectDetectionModelDeploymentMetadata) XXX_DiscardUnknown() {
	xxx_messageInfo_ImageObjectDetectionModelDeploymentMetadata.DiscardUnknown(m)
}

var xxx_messageInfo_ImageObjectDetectionModelDeploymentMetadata proto.InternalMessageInfo

func (m *ImageObjectDetectionModelDeploymentMetadata) GetNodeCount() int64 {
	if m != nil {
		return m.NodeCount
	}
	return 0
}

func init() {
	proto.RegisterType((*ImageClassificationDatasetMetadata)(nil), "google.cloud.automl.v1beta1.ImageClassificationDatasetMetadata")
	proto.RegisterType((*ImageObjectDetectionDatasetMetadata)(nil), "google.cloud.automl.v1beta1.ImageObjectDetectionDatasetMetadata")
	proto.RegisterType((*ImageClassificationModelMetadata)(nil), "google.cloud.automl.v1beta1.ImageClassificationModelMetadata")
	proto.RegisterType((*ImageObjectDetectionModelMetadata)(nil), "google.cloud.automl.v1beta1.ImageObjectDetectionModelMetadata")
	proto.RegisterType((*ImageObjectDetectionModelDeploymentMetadata)(nil), "google.cloud.automl.v1beta1.ImageObjectDetectionModelDeploymentMetadata")
}

func init() {
	proto.RegisterFile("google/cloud/automl/v1beta1/image.proto", fileDescriptor_29b9f2bc900da869)
}

var fileDescriptor_29b9f2bc900da869 = []byte{
	// 458 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0xd1, 0x6b, 0xd4, 0x40,
	0x10, 0xc6, 0xd9, 0x56, 0xad, 0xdd, 0x53, 0x1f, 0xe2, 0x4b, 0x6c, 0x95, 0xbb, 0x46, 0xc4, 0x03,
	0x21, 0xb1, 0xfa, 0xe8, 0x53, 0xef, 0x0e, 0xa4, 0xe0, 0x61, 0x0d, 0xe2, 0x83, 0x1c, 0xc4, 0x4d,
	0x32, 0x0d, 0x91, 0x64, 0x67, 0xbd, 0x9d, 0x08, 0x07, 0x3e, 0xfb, 0xec, 0x9f, 0x25, 0xfe, 0x55,
	0xb2, 0xb3, 0xa1, 0x34, 0xf5, 0xbc, 0xc7, 0xfd, 0xe6, 0x37, 0xf3, 0x7d, 0xb3, 0x8c, 0x7c, 0x5e,
	0x21, 0x56, 0x0d, 0x24, 0x45, 0x83, 0x5d, 0x99, 0xa8, 0x8e, 0xb0, 0x6d, 0x92, 0xef, 0xa7, 0x39,
	0x90, 0x3a, 0x4d, 0xea, 0x56, 0x55, 0x10, 0x9b, 0x35, 0x12, 0x06, 0xc7, 0x1e, 0x8c, 0x19, 0x8c,
	0x3d, 0x18, 0xf7, 0xe0, 0xd1, 0xe3, 0x7e, 0x8a, 0x32, 0x75, 0xa2, 0xb4, 0x46, 0x52, 0x54, 0xa3,
	0xb6, 0xbe, 0xf5, 0xe8, 0xe5, 0x2e, 0x8f, 0xa2, 0x51, 0xd6, 0xd6, 0x97, 0x75, 0xc1, 0x2d, 0x7d,
	0xc7, 0xb8, 0xef, 0xe0, 0x57, 0xde, 0x5d, 0x26, 0x54, 0xb7, 0x60, 0x49, 0xb5, 0xc6, 0x03, 0xd1,
	0x4f, 0x21, 0xa3, 0x73, 0x97, 0x6e, 0x3e, 0x68, 0x5f, 0x28, 0x52, 0x16, 0x68, 0x09, 0xa4, 0x4a,
	0x45, 0x2a, 0xf8, 0x22, 0x1f, 0x0e, 0xe7, 0x67, 0xb4, 0x31, 0x10, 0x8a, 0x89, 0x98, 0x3e, 0x78,
	0x95, 0xc4, 0x3b, 0x56, 0x8a, 0x87, 0x83, 0x3f, 0x6e, 0x0c, 0xa4, 0x41, 0xf1, 0x8f, 0x16, 0x3d,
	0x93, 0x4f, 0x39, 0xc7, 0xfb, 0xfc, 0x2b, 0x14, 0xb4, 0x00, 0x82, 0x62, 0x4b, 0x90, 0xe8, 0xb7,
	0x90, 0x93, 0x2d, 0x79, 0x97, 0x58, 0x42, 0x73, 0x95, 0x36, 0x92, 0xf7, 0x73, 0x65, 0x21, 0x6b,
	0x9d, 0x9a, 0xd5, 0x25, 0xe7, 0x3c, 0x4c, 0x47, 0x4e, 0x64, 0xf2, 0xbc, 0x0c, 0x4e, 0xe4, 0x3d,
	0x5a, 0xab, 0x5a, 0x67, 0x79, 0x57, 0x56, 0x40, 0xe1, 0xde, 0x44, 0x4c, 0xf7, 0xd3, 0x11, 0x6b,
	0x33, 0x96, 0x82, 0x27, 0x52, 0x7a, 0xa4, 0x40, 0x4b, 0xe1, 0x3e, 0x03, 0x87, 0xac, 0xcc, 0xd1,
	0x52, 0x30, 0x96, 0x23, 0x4b, 0x68, 0xb2, 0x35, 0x28, 0x8b, 0x3a, 0xbc, 0xcd, 0x1e, 0xd2, 0x49,
	0x29, 0x2b, 0xae, 0xdf, 0x27, 0xe0, 0xbf, 0x3a, 0xe0, 0xfa, 0x21, 0x2b, 0xbc, 0xf1, 0x0f, 0x79,
	0xb2, 0x6d, 0xe3, 0xe1, 0x2a, 0xc3, 0x19, 0xe2, 0xc6, 0x0c, 0x57, 0xd6, 0x58, 0x42, 0x56, 0x60,
	0xa7, 0xaf, 0x22, 0x3a, 0x65, 0xee, 0x84, 0xe0, 0x91, 0xbc, 0xcb, 0xe5, 0x6f, 0xc6, 0x86, 0xb7,
	0x26, 0x62, 0x2a, 0xd2, 0x03, 0xf7, 0xfe, 0x60, 0x6c, 0xf4, 0x4e, 0xbe, 0xf8, 0xaf, 0xfb, 0x02,
	0x4c, 0x83, 0x9b, 0x16, 0x34, 0x5d, 0xcf, 0x71, 0xcd, 0x48, 0xdc, 0x30, 0x9a, 0xfd, 0x12, 0x72,
	0x5c, 0x60, 0xbb, 0xeb, 0x10, 0x66, 0x92, 0xfd, 0x2e, 0xdc, 0xd9, 0x5d, 0x88, 0xcf, 0x67, 0x3d,
	0x5a, 0x61, 0xa3, 0x74, 0x15, 0xe3, 0xba, 0x4a, 0x2a, 0xd0, 0x7c, 0x94, 0x89, 0x2f, 0x29, 0x53,
	0xdb, 0xad, 0xa7, 0xfe, 0xc6, 0x3f, 0xff, 0xec, 0x1d, 0xbf, 0x65, 0x70, 0x35, 0x77, 0xd0, 0xea,
	0xac, 0x23, 0x5c, 0x36, 0xab, 0x4f, 0x1e, 0xca, 0xef, 0xf0, 0xac, 0xd7, 0x7f, 0x03, 0x00, 0x00,
	0xff, 0xff, 0x28, 0xe5, 0x7e, 0xd9, 0x99, 0x03, 0x00, 0x00,
}
