mirror of
https://github.com/xxjwxc/public.git
synced 2025-09-26 20:01:19 +08:00
6353 lines
249 KiB
Go
6353 lines
249 KiB
Go
// Copyright 2018-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
//
|
|
// Redistribution and use in source and binary forms, with or without
|
|
// modification, are permitted provided that the following conditions
|
|
// are met:
|
|
// * Redistributions of source code must retain the above copyright
|
|
// notice, this list of conditions and the following disclaimer.
|
|
// * Redistributions in binary form must reproduce the above copyright
|
|
// notice, this list of conditions and the following disclaimer in the
|
|
// documentation and/or other materials provided with the distribution.
|
|
// * Neither the name of NVIDIA CORPORATION nor the names of its
|
|
// contributors may be used to endorse or promote products derived
|
|
// from this software without specific prior written permission.
|
|
//
|
|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
|
|
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
|
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
|
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
|
|
// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
//
|
|
// Copyright (c) 2018, TensorFlow Authors. All rights reserved.
|
|
|
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
|
// versions:
|
|
// protoc-gen-go v1.31.0
|
|
// protoc v3.14.0
|
|
// source: model_config.proto
|
|
|
|
package grpc_client
|
|
|
|
import (
|
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
|
reflect "reflect"
|
|
sync "sync"
|
|
)
|
|
|
|
const (
|
|
// Verify that this generated code is sufficiently up-to-date.
|
|
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
|
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
|
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
|
)
|
|
|
|
// @@
|
|
// @@.. cpp:enum:: DataType
|
|
// @@
|
|
// @@ Data types supported for input and output tensors.
|
|
// @@
|
|
type DataType int32
|
|
|
|
const (
|
|
// @@ .. cpp:enumerator:: DataType::INVALID = 0
|
|
DataType_TYPE_INVALID DataType = 0
|
|
// @@ .. cpp:enumerator:: DataType::BOOL = 1
|
|
DataType_TYPE_BOOL DataType = 1
|
|
// @@ .. cpp:enumerator:: DataType::UINT8 = 2
|
|
DataType_TYPE_UINT8 DataType = 2
|
|
// @@ .. cpp:enumerator:: DataType::UINT16 = 3
|
|
DataType_TYPE_UINT16 DataType = 3
|
|
// @@ .. cpp:enumerator:: DataType::UINT32 = 4
|
|
DataType_TYPE_UINT32 DataType = 4
|
|
// @@ .. cpp:enumerator:: DataType::UINT64 = 5
|
|
DataType_TYPE_UINT64 DataType = 5
|
|
// @@ .. cpp:enumerator:: DataType::INT8 = 6
|
|
DataType_TYPE_INT8 DataType = 6
|
|
// @@ .. cpp:enumerator:: DataType::INT16 = 7
|
|
DataType_TYPE_INT16 DataType = 7
|
|
// @@ .. cpp:enumerator:: DataType::INT32 = 8
|
|
DataType_TYPE_INT32 DataType = 8
|
|
// @@ .. cpp:enumerator:: DataType::INT64 = 9
|
|
DataType_TYPE_INT64 DataType = 9
|
|
// @@ .. cpp:enumerator:: DataType::FP16 = 10
|
|
DataType_TYPE_FP16 DataType = 10
|
|
// @@ .. cpp:enumerator:: DataType::FP32 = 11
|
|
DataType_TYPE_FP32 DataType = 11
|
|
// @@ .. cpp:enumerator:: DataType::FP64 = 12
|
|
DataType_TYPE_FP64 DataType = 12
|
|
// @@ .. cpp:enumerator:: DataType::STRING = 13
|
|
DataType_TYPE_STRING DataType = 13
|
|
// @@ .. cpp:enumerator:: DataType::BF16 = 14
|
|
DataType_TYPE_BF16 DataType = 14
|
|
)
|
|
|
|
// Enum value maps for DataType.
|
|
var (
|
|
DataType_name = map[int32]string{
|
|
0: "TYPE_INVALID",
|
|
1: "TYPE_BOOL",
|
|
2: "TYPE_UINT8",
|
|
3: "TYPE_UINT16",
|
|
4: "TYPE_UINT32",
|
|
5: "TYPE_UINT64",
|
|
6: "TYPE_INT8",
|
|
7: "TYPE_INT16",
|
|
8: "TYPE_INT32",
|
|
9: "TYPE_INT64",
|
|
10: "TYPE_FP16",
|
|
11: "TYPE_FP32",
|
|
12: "TYPE_FP64",
|
|
13: "TYPE_STRING",
|
|
14: "TYPE_BF16",
|
|
}
|
|
DataType_value = map[string]int32{
|
|
"TYPE_INVALID": 0,
|
|
"TYPE_BOOL": 1,
|
|
"TYPE_UINT8": 2,
|
|
"TYPE_UINT16": 3,
|
|
"TYPE_UINT32": 4,
|
|
"TYPE_UINT64": 5,
|
|
"TYPE_INT8": 6,
|
|
"TYPE_INT16": 7,
|
|
"TYPE_INT32": 8,
|
|
"TYPE_INT64": 9,
|
|
"TYPE_FP16": 10,
|
|
"TYPE_FP32": 11,
|
|
"TYPE_FP64": 12,
|
|
"TYPE_STRING": 13,
|
|
"TYPE_BF16": 14,
|
|
}
|
|
)
|
|
|
|
func (x DataType) Enum() *DataType {
|
|
p := new(DataType)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x DataType) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (DataType) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_model_config_proto_enumTypes[0].Descriptor()
|
|
}
|
|
|
|
func (DataType) Type() protoreflect.EnumType {
|
|
return &file_model_config_proto_enumTypes[0]
|
|
}
|
|
|
|
func (x DataType) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Use DataType.Descriptor instead.
|
|
func (DataType) EnumDescriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{0}
|
|
}
|
|
|
|
// @@
|
|
// @@ .. cpp:enum:: Kind
|
|
// @@
|
|
// @@ Kind of this instance group.
|
|
// @@
|
|
type ModelInstanceGroup_Kind int32
|
|
|
|
const (
|
|
// @@ .. cpp:enumerator:: Kind::KIND_AUTO = 0
|
|
// @@
|
|
// @@ This instance group represents instances that can run on either
|
|
// @@ CPU or GPU. If all GPUs listed in 'gpus' are available then
|
|
// @@ instances will be created on GPU(s), otherwise instances will
|
|
// @@ be created on CPU.
|
|
// @@
|
|
ModelInstanceGroup_KIND_AUTO ModelInstanceGroup_Kind = 0
|
|
// @@ .. cpp:enumerator:: Kind::KIND_GPU = 1
|
|
// @@
|
|
// @@ This instance group represents instances that must run on the
|
|
// @@ GPU.
|
|
// @@
|
|
ModelInstanceGroup_KIND_GPU ModelInstanceGroup_Kind = 1
|
|
// @@ .. cpp:enumerator:: Kind::KIND_CPU = 2
|
|
// @@
|
|
// @@ This instance group represents instances that must run on the
|
|
// @@ CPU.
|
|
// @@
|
|
ModelInstanceGroup_KIND_CPU ModelInstanceGroup_Kind = 2
|
|
// @@ .. cpp:enumerator:: Kind::KIND_MODEL = 3
|
|
// @@
|
|
// @@ This instance group represents instances that should run on the
|
|
// @@ CPU and/or GPU(s) as specified by the model or backend itself.
|
|
// @@ The inference server will not override the model/backend
|
|
// @@ settings.
|
|
// @@
|
|
ModelInstanceGroup_KIND_MODEL ModelInstanceGroup_Kind = 3
|
|
)
|
|
|
|
// Enum value maps for ModelInstanceGroup_Kind.
|
|
var (
|
|
ModelInstanceGroup_Kind_name = map[int32]string{
|
|
0: "KIND_AUTO",
|
|
1: "KIND_GPU",
|
|
2: "KIND_CPU",
|
|
3: "KIND_MODEL",
|
|
}
|
|
ModelInstanceGroup_Kind_value = map[string]int32{
|
|
"KIND_AUTO": 0,
|
|
"KIND_GPU": 1,
|
|
"KIND_CPU": 2,
|
|
"KIND_MODEL": 3,
|
|
}
|
|
)
|
|
|
|
func (x ModelInstanceGroup_Kind) Enum() *ModelInstanceGroup_Kind {
|
|
p := new(ModelInstanceGroup_Kind)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x ModelInstanceGroup_Kind) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (ModelInstanceGroup_Kind) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_model_config_proto_enumTypes[1].Descriptor()
|
|
}
|
|
|
|
func (ModelInstanceGroup_Kind) Type() protoreflect.EnumType {
|
|
return &file_model_config_proto_enumTypes[1]
|
|
}
|
|
|
|
func (x ModelInstanceGroup_Kind) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelInstanceGroup_Kind.Descriptor instead.
|
|
func (ModelInstanceGroup_Kind) EnumDescriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{1, 0}
|
|
}
|
|
|
|
// @@
|
|
// @@ .. cpp:enum:: SecondaryDeviceKind
|
|
// @@
|
|
// @@ The kind of the secondary device.
|
|
// @@
|
|
type ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind int32
|
|
|
|
const (
|
|
// @@ .. cpp:enumerator:: SecondaryDeviceKind::KIND_NVDLA = 0
|
|
// @@
|
|
// @@ An NVDLA core. http://nvdla.org
|
|
// @@ Currently KIND_NVDLA is only supported by the TensorRT backend.
|
|
// @@
|
|
ModelInstanceGroup_SecondaryDevice_KIND_NVDLA ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind = 0
|
|
)
|
|
|
|
// Enum value maps for ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind.
|
|
var (
|
|
ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind_name = map[int32]string{
|
|
0: "KIND_NVDLA",
|
|
}
|
|
ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind_value = map[string]int32{
|
|
"KIND_NVDLA": 0,
|
|
}
|
|
)
|
|
|
|
func (x ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind) Enum() *ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind {
|
|
p := new(ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_model_config_proto_enumTypes[2].Descriptor()
|
|
}
|
|
|
|
func (ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind) Type() protoreflect.EnumType {
|
|
return &file_model_config_proto_enumTypes[2]
|
|
}
|
|
|
|
func (x ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind.Descriptor instead.
|
|
func (ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind) EnumDescriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{1, 0, 0}
|
|
}
|
|
|
|
// @@
|
|
// @@ .. cpp:enum:: Format
|
|
// @@
|
|
// @@ The format for the input.
|
|
// @@
|
|
type ModelInput_Format int32
|
|
|
|
const (
|
|
// @@ .. cpp:enumerator:: Format::FORMAT_NONE = 0
|
|
// @@
|
|
// @@ The input has no specific format. This is the default.
|
|
// @@
|
|
ModelInput_FORMAT_NONE ModelInput_Format = 0
|
|
// @@ .. cpp:enumerator:: Format::FORMAT_NHWC = 1
|
|
// @@
|
|
// @@ HWC image format. Tensors with this format require 3 dimensions
|
|
// @@ if the model does not support batching (max_batch_size = 0) or 4
|
|
// @@ dimensions if the model does support batching (max_batch_size
|
|
// @@ >= 1). In either case the 'dims' below should only specify the
|
|
// @@ 3 non-batch dimensions (i.e. HWC or CHW).
|
|
// @@
|
|
ModelInput_FORMAT_NHWC ModelInput_Format = 1
|
|
// @@ .. cpp:enumerator:: Format::FORMAT_NCHW = 2
|
|
// @@
|
|
// @@ CHW image format. Tensors with this format require 3 dimensions
|
|
// @@ if the model does not support batching (max_batch_size = 0) or 4
|
|
// @@ dimensions if the model does support batching (max_batch_size
|
|
// @@ >= 1). In either case the 'dims' below should only specify the
|
|
// @@ 3 non-batch dimensions (i.e. HWC or CHW).
|
|
// @@
|
|
ModelInput_FORMAT_NCHW ModelInput_Format = 2
|
|
)
|
|
|
|
// Enum value maps for ModelInput_Format.
|
|
var (
|
|
ModelInput_Format_name = map[int32]string{
|
|
0: "FORMAT_NONE",
|
|
1: "FORMAT_NHWC",
|
|
2: "FORMAT_NCHW",
|
|
}
|
|
ModelInput_Format_value = map[string]int32{
|
|
"FORMAT_NONE": 0,
|
|
"FORMAT_NHWC": 1,
|
|
"FORMAT_NCHW": 2,
|
|
}
|
|
)
|
|
|
|
func (x ModelInput_Format) Enum() *ModelInput_Format {
|
|
p := new(ModelInput_Format)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x ModelInput_Format) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (ModelInput_Format) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_model_config_proto_enumTypes[3].Descriptor()
|
|
}
|
|
|
|
func (ModelInput_Format) Type() protoreflect.EnumType {
|
|
return &file_model_config_proto_enumTypes[3]
|
|
}
|
|
|
|
func (x ModelInput_Format) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelInput_Format.Descriptor instead.
|
|
func (ModelInput_Format) EnumDescriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{3, 0}
|
|
}
|
|
|
|
// @@
|
|
// @@ .. cpp:enum:: Kind
|
|
// @@
|
|
// @@ The kind of the batch input.
|
|
// @@
|
|
type BatchInput_Kind int32
|
|
|
|
const (
|
|
// @@ .. cpp:enumerator:: Kind::BATCH_ELEMENT_COUNT = 0
|
|
// @@
|
|
// @@ The element count of the 'source_input' will be added as
|
|
// @@ input with shape [1].
|
|
// @@
|
|
BatchInput_BATCH_ELEMENT_COUNT BatchInput_Kind = 0
|
|
// @@ .. cpp:enumerator:: Kind::BATCH_ACCUMULATED_ELEMENT_COUNT = 1
|
|
// @@
|
|
// @@ The accumulated element count of the 'source_input' will be
|
|
// @@ added as input with shape [1]. For example, if there is a
|
|
// @@ batch of two request, each with 2 elements, an input of value
|
|
// @@ 2 will be added to the first request, and an input of value
|
|
// @@ 4 will be added to the second request.
|
|
// @@
|
|
BatchInput_BATCH_ACCUMULATED_ELEMENT_COUNT BatchInput_Kind = 1
|
|
// @@ .. cpp:enumerator::
|
|
// @@ Kind::BATCH_ACCUMULATED_ELEMENT_COUNT_WITH_ZERO = 2
|
|
// @@
|
|
// @@ The accumulated element count of the 'source_input' will be
|
|
// @@ added as input with shape [1], except for the first request
|
|
// @@ in the batch. For the first request in the batch, the input
|
|
// @@ will have shape [2] where the first element is value 0.
|
|
// @@
|
|
BatchInput_BATCH_ACCUMULATED_ELEMENT_COUNT_WITH_ZERO BatchInput_Kind = 2
|
|
// @@ .. cpp:enumerator:: Kind::BATCH_MAX_ELEMENT_COUNT_AS_SHAPE = 3
|
|
// @@
|
|
// @@ Among the requests in the batch, the max element count of the
|
|
// @@ 'source_input' will be added as input with shape
|
|
// @@ [max_element_count] for the first request in the batch.
|
|
// @@ For other requests, such input will be with shape [0].
|
|
// @@ The data of the tensor will be uninitialized.
|
|
// @@
|
|
BatchInput_BATCH_MAX_ELEMENT_COUNT_AS_SHAPE BatchInput_Kind = 3
|
|
// @@ .. cpp:enumerator:: Kind::BATCH_ITEM_SHAPE = 4
|
|
// @@
|
|
// @@ Among the requests in the batch, the shape of the
|
|
// @@ 'source_input' will be added as input with shape
|
|
// @@ [batch_size, len(input_dim)]. For example, if one
|
|
// @@ batch-2 input with shape [3, 1] and batch-1 input
|
|
// @@ with shape [2, 2] are batched, the batch input will
|
|
// @@ have shape [3, 2] and value [ [3, 1], [3, 1], [2, 2]].
|
|
// @@
|
|
BatchInput_BATCH_ITEM_SHAPE BatchInput_Kind = 4
|
|
// @@ .. cpp:enumerator:: Kind::BATCH_ITEM_SHAPE_FLATTEN = 5
|
|
// @@
|
|
// @@ Among the requests in the batch, the shape of the
|
|
// @@ 'source_input' will be added as input with single dimensional
|
|
// @@ shape [batch_size * len(input_dim)]. For example, if one
|
|
// @@ batch-2 input with shape [3, 1] and batch-1 input
|
|
// @@ with shape [2, 2] are batched, the batch input will
|
|
// @@ have shape [6] and value [3, 1, 3, 1, 2, 2].
|
|
// @@
|
|
BatchInput_BATCH_ITEM_SHAPE_FLATTEN BatchInput_Kind = 5
|
|
)
|
|
|
|
// Enum value maps for BatchInput_Kind.
|
|
var (
|
|
BatchInput_Kind_name = map[int32]string{
|
|
0: "BATCH_ELEMENT_COUNT",
|
|
1: "BATCH_ACCUMULATED_ELEMENT_COUNT",
|
|
2: "BATCH_ACCUMULATED_ELEMENT_COUNT_WITH_ZERO",
|
|
3: "BATCH_MAX_ELEMENT_COUNT_AS_SHAPE",
|
|
4: "BATCH_ITEM_SHAPE",
|
|
5: "BATCH_ITEM_SHAPE_FLATTEN",
|
|
}
|
|
BatchInput_Kind_value = map[string]int32{
|
|
"BATCH_ELEMENT_COUNT": 0,
|
|
"BATCH_ACCUMULATED_ELEMENT_COUNT": 1,
|
|
"BATCH_ACCUMULATED_ELEMENT_COUNT_WITH_ZERO": 2,
|
|
"BATCH_MAX_ELEMENT_COUNT_AS_SHAPE": 3,
|
|
"BATCH_ITEM_SHAPE": 4,
|
|
"BATCH_ITEM_SHAPE_FLATTEN": 5,
|
|
}
|
|
)
|
|
|
|
func (x BatchInput_Kind) Enum() *BatchInput_Kind {
|
|
p := new(BatchInput_Kind)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x BatchInput_Kind) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (BatchInput_Kind) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_model_config_proto_enumTypes[4].Descriptor()
|
|
}
|
|
|
|
func (BatchInput_Kind) Type() protoreflect.EnumType {
|
|
return &file_model_config_proto_enumTypes[4]
|
|
}
|
|
|
|
func (x BatchInput_Kind) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Use BatchInput_Kind.Descriptor instead.
|
|
func (BatchInput_Kind) EnumDescriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{5, 0}
|
|
}
|
|
|
|
// @@
|
|
// @@ .. cpp:enum:: Kind
|
|
// @@
|
|
// @@ The kind of the batch output.
|
|
// @@
|
|
type BatchOutput_Kind int32
|
|
|
|
const (
|
|
// @@ .. cpp:enumerator:: Kind::BATCH_SCATTER_WITH_INPUT_SHAPE = 0
|
|
// @@
|
|
// @@ The output should be scattered according to the shape of
|
|
// @@ 'source_input'. The dynamic dimension of the output will
|
|
// @@ be set to the value of the same dimension in the input.
|
|
// @@
|
|
BatchOutput_BATCH_SCATTER_WITH_INPUT_SHAPE BatchOutput_Kind = 0
|
|
)
|
|
|
|
// Enum value maps for BatchOutput_Kind.
|
|
var (
|
|
BatchOutput_Kind_name = map[int32]string{
|
|
0: "BATCH_SCATTER_WITH_INPUT_SHAPE",
|
|
}
|
|
BatchOutput_Kind_value = map[string]int32{
|
|
"BATCH_SCATTER_WITH_INPUT_SHAPE": 0,
|
|
}
|
|
)
|
|
|
|
func (x BatchOutput_Kind) Enum() *BatchOutput_Kind {
|
|
p := new(BatchOutput_Kind)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x BatchOutput_Kind) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (BatchOutput_Kind) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_model_config_proto_enumTypes[5].Descriptor()
|
|
}
|
|
|
|
func (BatchOutput_Kind) Type() protoreflect.EnumType {
|
|
return &file_model_config_proto_enumTypes[5]
|
|
}
|
|
|
|
func (x BatchOutput_Kind) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Use BatchOutput_Kind.Descriptor instead.
|
|
func (BatchOutput_Kind) EnumDescriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{6, 0}
|
|
}
|
|
|
|
// @@
|
|
// @@ .. cpp:enum:: ModelPriority
|
|
// @@
|
|
// @@ Model priorities. A model will be given scheduling and execution
|
|
// @@ preference over models at lower priorities. Current model
|
|
// @@ priorities only work for TensorRT models.
|
|
// @@
|
|
type ModelOptimizationPolicy_ModelPriority int32
|
|
|
|
const (
|
|
// @@ .. cpp:enumerator:: ModelPriority::PRIORITY_DEFAULT = 0
|
|
// @@
|
|
// @@ The default model priority.
|
|
// @@
|
|
ModelOptimizationPolicy_PRIORITY_DEFAULT ModelOptimizationPolicy_ModelPriority = 0
|
|
// @@ .. cpp:enumerator:: ModelPriority::PRIORITY_MAX = 1
|
|
// @@
|
|
// @@ The maximum model priority.
|
|
// @@
|
|
ModelOptimizationPolicy_PRIORITY_MAX ModelOptimizationPolicy_ModelPriority = 1
|
|
// @@ .. cpp:enumerator:: ModelPriority::PRIORITY_MIN = 2
|
|
// @@
|
|
// @@ The minimum model priority.
|
|
// @@
|
|
ModelOptimizationPolicy_PRIORITY_MIN ModelOptimizationPolicy_ModelPriority = 2
|
|
)
|
|
|
|
// Enum value maps for ModelOptimizationPolicy_ModelPriority.
|
|
var (
|
|
ModelOptimizationPolicy_ModelPriority_name = map[int32]string{
|
|
0: "PRIORITY_DEFAULT",
|
|
1: "PRIORITY_MAX",
|
|
2: "PRIORITY_MIN",
|
|
}
|
|
ModelOptimizationPolicy_ModelPriority_value = map[string]int32{
|
|
"PRIORITY_DEFAULT": 0,
|
|
"PRIORITY_MAX": 1,
|
|
"PRIORITY_MIN": 2,
|
|
}
|
|
)
|
|
|
|
func (x ModelOptimizationPolicy_ModelPriority) Enum() *ModelOptimizationPolicy_ModelPriority {
|
|
p := new(ModelOptimizationPolicy_ModelPriority)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x ModelOptimizationPolicy_ModelPriority) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (ModelOptimizationPolicy_ModelPriority) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_model_config_proto_enumTypes[6].Descriptor()
|
|
}
|
|
|
|
func (ModelOptimizationPolicy_ModelPriority) Type() protoreflect.EnumType {
|
|
return &file_model_config_proto_enumTypes[6]
|
|
}
|
|
|
|
func (x ModelOptimizationPolicy_ModelPriority) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelOptimizationPolicy_ModelPriority.Descriptor instead.
|
|
func (ModelOptimizationPolicy_ModelPriority) EnumDescriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{8, 0}
|
|
}
|
|
|
|
// @@
|
|
// @@ .. cpp:enum:: TimeoutAction
|
|
// @@
|
|
// @@ The action applied to timed-out requests.
|
|
// @@
|
|
type ModelQueuePolicy_TimeoutAction int32
|
|
|
|
const (
|
|
// @@ .. cpp:enumerator:: Action::REJECT = 0
|
|
// @@
|
|
// @@ Reject the request and return error message accordingly.
|
|
// @@
|
|
ModelQueuePolicy_REJECT ModelQueuePolicy_TimeoutAction = 0
|
|
// @@ .. cpp:enumerator:: Action::DELAY = 1
|
|
// @@
|
|
// @@ Delay the request until all other requests at the same
|
|
// @@ (or higher) priority levels that have not reached their timeouts
|
|
// @@ are processed. A delayed request will eventually be processed,
|
|
// @@ but may be delayed indefinitely due to newly arriving requests.
|
|
// @@
|
|
ModelQueuePolicy_DELAY ModelQueuePolicy_TimeoutAction = 1
|
|
)
|
|
|
|
// Enum value maps for ModelQueuePolicy_TimeoutAction.
|
|
var (
|
|
ModelQueuePolicy_TimeoutAction_name = map[int32]string{
|
|
0: "REJECT",
|
|
1: "DELAY",
|
|
}
|
|
ModelQueuePolicy_TimeoutAction_value = map[string]int32{
|
|
"REJECT": 0,
|
|
"DELAY": 1,
|
|
}
|
|
)
|
|
|
|
func (x ModelQueuePolicy_TimeoutAction) Enum() *ModelQueuePolicy_TimeoutAction {
|
|
p := new(ModelQueuePolicy_TimeoutAction)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x ModelQueuePolicy_TimeoutAction) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (ModelQueuePolicy_TimeoutAction) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_model_config_proto_enumTypes[7].Descriptor()
|
|
}
|
|
|
|
func (ModelQueuePolicy_TimeoutAction) Type() protoreflect.EnumType {
|
|
return &file_model_config_proto_enumTypes[7]
|
|
}
|
|
|
|
func (x ModelQueuePolicy_TimeoutAction) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelQueuePolicy_TimeoutAction.Descriptor instead.
|
|
func (ModelQueuePolicy_TimeoutAction) EnumDescriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{9, 0}
|
|
}
|
|
|
|
// @@
|
|
// @@ .. cpp:enum:: Kind
|
|
// @@
|
|
// @@ The kind of the control.
|
|
// @@
|
|
type ModelSequenceBatching_Control_Kind int32
|
|
|
|
const (
|
|
// @@ .. cpp:enumerator:: Kind::CONTROL_SEQUENCE_START = 0
|
|
// @@
|
|
// @@ A new sequence is/is-not starting. If true a sequence is
|
|
// @@ starting, if false a sequence is continuing. Must
|
|
// @@ specify either int32_false_true, fp32_false_true or
|
|
// @@ bool_false_true for this control. This control is optional.
|
|
// @@
|
|
ModelSequenceBatching_Control_CONTROL_SEQUENCE_START ModelSequenceBatching_Control_Kind = 0
|
|
// @@ .. cpp:enumerator:: Kind::CONTROL_SEQUENCE_READY = 1
|
|
// @@
|
|
// @@ A sequence is/is-not ready for inference. If true the
|
|
// @@ input tensor data is valid and should be used. If false
|
|
// @@ the input tensor data is invalid and inferencing should
|
|
// @@ be "skipped". Must specify either int32_false_true,
|
|
// @@ fp32_false_true or bool_false_true for this control. This
|
|
// @@ control is optional.
|
|
// @@
|
|
ModelSequenceBatching_Control_CONTROL_SEQUENCE_READY ModelSequenceBatching_Control_Kind = 1
|
|
// @@ .. cpp:enumerator:: Kind::CONTROL_SEQUENCE_END = 2
|
|
// @@
|
|
// @@ A sequence is/is-not ending. If true a sequence is
|
|
// @@ ending, if false a sequence is continuing. Must specify
|
|
// @@ either int32_false_true, fp32_false_true or bool_false_true
|
|
// @@ for this control. This control is optional.
|
|
// @@
|
|
ModelSequenceBatching_Control_CONTROL_SEQUENCE_END ModelSequenceBatching_Control_Kind = 2
|
|
// @@ .. cpp:enumerator:: Kind::CONTROL_SEQUENCE_CORRID = 3
|
|
// @@
|
|
// @@ The correlation ID of the sequence. The correlation ID
|
|
// @@ is an uint64_t value that is communicated in whole or
|
|
// @@ in part by the tensor. The tensor's datatype must be
|
|
// @@ specified by data_type and must be TYPE_UINT64, TYPE_INT64,
|
|
// @@ TYPE_UINT32 or TYPE_INT32. If a 32-bit datatype is specified
|
|
// @@ the correlation ID will be truncated to the low-order 32
|
|
// @@ bits. This control is optional.
|
|
// @@
|
|
ModelSequenceBatching_Control_CONTROL_SEQUENCE_CORRID ModelSequenceBatching_Control_Kind = 3
|
|
)
|
|
|
|
// Enum value maps for ModelSequenceBatching_Control_Kind.
|
|
var (
|
|
ModelSequenceBatching_Control_Kind_name = map[int32]string{
|
|
0: "CONTROL_SEQUENCE_START",
|
|
1: "CONTROL_SEQUENCE_READY",
|
|
2: "CONTROL_SEQUENCE_END",
|
|
3: "CONTROL_SEQUENCE_CORRID",
|
|
}
|
|
ModelSequenceBatching_Control_Kind_value = map[string]int32{
|
|
"CONTROL_SEQUENCE_START": 0,
|
|
"CONTROL_SEQUENCE_READY": 1,
|
|
"CONTROL_SEQUENCE_END": 2,
|
|
"CONTROL_SEQUENCE_CORRID": 3,
|
|
}
|
|
)
|
|
|
|
func (x ModelSequenceBatching_Control_Kind) Enum() *ModelSequenceBatching_Control_Kind {
|
|
p := new(ModelSequenceBatching_Control_Kind)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x ModelSequenceBatching_Control_Kind) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (ModelSequenceBatching_Control_Kind) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_model_config_proto_enumTypes[8].Descriptor()
|
|
}
|
|
|
|
func (ModelSequenceBatching_Control_Kind) Type() protoreflect.EnumType {
|
|
return &file_model_config_proto_enumTypes[8]
|
|
}
|
|
|
|
func (x ModelSequenceBatching_Control_Kind) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelSequenceBatching_Control_Kind.Descriptor instead.
|
|
func (ModelSequenceBatching_Control_Kind) EnumDescriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{11, 0, 0}
|
|
}
|
|
|
|
// @@
|
|
// @@ .. cpp:var:: message ModelRateLimiter
|
|
// @@
|
|
// @@ The specifications required by the rate limiter to properly
|
|
// @@ schedule the inference requests across the different models
|
|
// @@ and their instances.
|
|
// @@
|
|
type ModelRateLimiter struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: Resource resources (repeated)
|
|
// @@
|
|
// @@ The resources required to execute the request on a model instance.
|
|
// @@ Resources are just names with a corresponding count. The execution
|
|
// @@ of the instance will be blocked until the specified resources are
|
|
// @@ available. By default an instance uses no rate-limiter resources.
|
|
// @@
|
|
Resources []*ModelRateLimiter_Resource `protobuf:"bytes,1,rep,name=resources,proto3" json:"resources,omitempty"`
|
|
// @@ .. cpp:var:: uint32 priority
|
|
// @@
|
|
// @@ The optional weighting value to be used for prioritizing across
|
|
// @@ instances. An instance with priority 2 will be given 1/2 the
|
|
// @@ number of scheduling chances as an instance_group with priority
|
|
// @@ 1. The default priority is 1. The priority of value 0 will be
|
|
// @@ treated as priority 1.
|
|
// @@
|
|
Priority uint32 `protobuf:"varint,2,opt,name=priority,proto3" json:"priority,omitempty"`
|
|
}
|
|
|
|
func (x *ModelRateLimiter) Reset() {
|
|
*x = ModelRateLimiter{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[0]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelRateLimiter) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelRateLimiter) ProtoMessage() {}
|
|
|
|
func (x *ModelRateLimiter) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[0]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelRateLimiter.ProtoReflect.Descriptor instead.
|
|
func (*ModelRateLimiter) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{0}
|
|
}
|
|
|
|
func (x *ModelRateLimiter) GetResources() []*ModelRateLimiter_Resource {
|
|
if x != nil {
|
|
return x.Resources
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelRateLimiter) GetPriority() uint32 {
|
|
if x != nil {
|
|
return x.Priority
|
|
}
|
|
return 0
|
|
}
|
|
|
|
// @@
|
|
// @@.. cpp:var:: message ModelInstanceGroup
|
|
// @@
|
|
// @@ A group of one or more instances of a model and resources made
|
|
// @@ available for those instances.
|
|
// @@
|
|
type ModelInstanceGroup struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: string name
|
|
// @@
|
|
// @@ Optional name of this group of instances. If not specified the
|
|
// @@ name will be formed as <model name>_<group number>. The name of
|
|
// @@ individual instances will be further formed by a unique instance
|
|
// @@ number and GPU index:
|
|
// @@
|
|
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
|
// @@ .. cpp:var:: Kind kind
|
|
// @@
|
|
// @@ The kind of this instance group. Default is KIND_AUTO. If
|
|
// @@ KIND_AUTO or KIND_GPU then both 'count' and 'gpu' are valid and
|
|
// @@ may be specified. If KIND_CPU or KIND_MODEL only 'count' is valid
|
|
// @@ and 'gpu' cannot be specified.
|
|
// @@
|
|
Kind ModelInstanceGroup_Kind `protobuf:"varint,4,opt,name=kind,proto3,enum=inference.ModelInstanceGroup_Kind" json:"kind,omitempty"`
|
|
// @@ .. cpp:var:: int32 count
|
|
// @@
|
|
// @@ For a group assigned to GPU, the number of instances created for
|
|
// @@ each GPU listed in 'gpus'. For a group assigned to CPU the number
|
|
// @@ of instances created. Default is 1.
|
|
Count int32 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
|
|
// @@ .. cpp:var:: ModelRateLimiter rate_limiter
|
|
// @@
|
|
// @@ The rate limiter specific settings to be associated with this
|
|
// @@ instance group. Optional, if not specified no rate limiting
|
|
// @@ will be applied to this instance group.
|
|
// @@
|
|
RateLimiter *ModelRateLimiter `protobuf:"bytes,6,opt,name=rate_limiter,json=rateLimiter,proto3" json:"rate_limiter,omitempty"`
|
|
// @@ .. cpp:var:: int32 gpus (repeated)
|
|
// @@
|
|
// @@ GPU(s) where instances should be available. For each GPU listed,
|
|
// @@ 'count' instances of the model will be available. Setting 'gpus'
|
|
// @@ to empty (or not specifying at all) is equivalent to listing all
|
|
// @@ available GPUs.
|
|
// @@
|
|
Gpus []int32 `protobuf:"varint,3,rep,packed,name=gpus,proto3" json:"gpus,omitempty"`
|
|
// @@ .. cpp:var:: SecondaryDevice secondary_devices (repeated)
|
|
// @@
|
|
// @@ Secondary devices that are required by instances specified by this
|
|
// @@ instance group. Optional.
|
|
// @@
|
|
SecondaryDevices []*ModelInstanceGroup_SecondaryDevice `protobuf:"bytes,8,rep,name=secondary_devices,json=secondaryDevices,proto3" json:"secondary_devices,omitempty"`
|
|
// @@ .. cpp:var:: string profile (repeated)
|
|
// @@
|
|
// @@ For TensorRT models containing multiple optimization profile, this
|
|
// @@ parameter specifies a set of optimization profiles available to this
|
|
// @@ instance group. The inference server will choose the optimal profile
|
|
// @@ based on the shapes of the input tensors. This field should lie
|
|
// @@ between 0 and <TotalNumberOfOptimizationProfilesInPlanModel> - 1
|
|
// @@ and be specified only for TensorRT backend, otherwise an error will
|
|
// @@ be generated. If not specified, the server will select the first
|
|
// @@ optimization profile by default.
|
|
// @@
|
|
Profile []string `protobuf:"bytes,5,rep,name=profile,proto3" json:"profile,omitempty"`
|
|
// @@ .. cpp:var:: bool passive
|
|
// @@
|
|
// @@ Whether the instances within this instance group will be accepting
|
|
// @@ inference requests from the scheduler. If true, the instances will
|
|
// @@ not be added to the scheduler. Default value is false.
|
|
// @@
|
|
Passive bool `protobuf:"varint,7,opt,name=passive,proto3" json:"passive,omitempty"`
|
|
// @@ .. cpp:var:: string host_policy
|
|
// @@
|
|
// @@ The host policy name that the instance to be associated with.
|
|
// @@ The default value is set to reflect the device kind of the instance,
|
|
// @@ for instance, KIND_CPU is "cpu", KIND_MODEL is "model" and
|
|
// @@ KIND_GPU is "gpu_<gpu_id>".
|
|
// @@
|
|
HostPolicy string `protobuf:"bytes,9,opt,name=host_policy,json=hostPolicy,proto3" json:"host_policy,omitempty"`
|
|
}
|
|
|
|
func (x *ModelInstanceGroup) Reset() {
|
|
*x = ModelInstanceGroup{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[1]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelInstanceGroup) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelInstanceGroup) ProtoMessage() {}
|
|
|
|
func (x *ModelInstanceGroup) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[1]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelInstanceGroup.ProtoReflect.Descriptor instead.
|
|
func (*ModelInstanceGroup) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{1}
|
|
}
|
|
|
|
func (x *ModelInstanceGroup) GetName() string {
|
|
if x != nil {
|
|
return x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ModelInstanceGroup) GetKind() ModelInstanceGroup_Kind {
|
|
if x != nil {
|
|
return x.Kind
|
|
}
|
|
return ModelInstanceGroup_KIND_AUTO
|
|
}
|
|
|
|
func (x *ModelInstanceGroup) GetCount() int32 {
|
|
if x != nil {
|
|
return x.Count
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *ModelInstanceGroup) GetRateLimiter() *ModelRateLimiter {
|
|
if x != nil {
|
|
return x.RateLimiter
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelInstanceGroup) GetGpus() []int32 {
|
|
if x != nil {
|
|
return x.Gpus
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelInstanceGroup) GetSecondaryDevices() []*ModelInstanceGroup_SecondaryDevice {
|
|
if x != nil {
|
|
return x.SecondaryDevices
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelInstanceGroup) GetProfile() []string {
|
|
if x != nil {
|
|
return x.Profile
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelInstanceGroup) GetPassive() bool {
|
|
if x != nil {
|
|
return x.Passive
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ModelInstanceGroup) GetHostPolicy() string {
|
|
if x != nil {
|
|
return x.HostPolicy
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// @@
|
|
// @@.. cpp:var:: message ModelTensorReshape
|
|
// @@
|
|
// @@ Reshape specification for input and output tensors.
|
|
// @@
|
|
type ModelTensorReshape struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: int64 shape (repeated)
|
|
// @@
|
|
// @@ The shape to use for reshaping.
|
|
// @@
|
|
Shape []int64 `protobuf:"varint,1,rep,packed,name=shape,proto3" json:"shape,omitempty"`
|
|
}
|
|
|
|
func (x *ModelTensorReshape) Reset() {
|
|
*x = ModelTensorReshape{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[2]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelTensorReshape) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelTensorReshape) ProtoMessage() {}
|
|
|
|
func (x *ModelTensorReshape) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[2]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelTensorReshape.ProtoReflect.Descriptor instead.
|
|
func (*ModelTensorReshape) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{2}
|
|
}
|
|
|
|
func (x *ModelTensorReshape) GetShape() []int64 {
|
|
if x != nil {
|
|
return x.Shape
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// @@
|
|
// @@.. cpp:var:: message ModelInput
|
|
// @@
|
|
// @@ An input required by the model.
|
|
// @@
|
|
type ModelInput struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: string name
|
|
// @@
|
|
// @@ The name of the input.
|
|
// @@
|
|
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
|
// @@ .. cpp:var:: DataType data_type
|
|
// @@
|
|
// @@ The data-type of the input.
|
|
// @@
|
|
DataType DataType `protobuf:"varint,2,opt,name=data_type,json=dataType,proto3,enum=inference.DataType" json:"data_type,omitempty"`
|
|
// @@ .. cpp:var:: Format format
|
|
// @@
|
|
// @@ The format of the input. Optional.
|
|
// @@
|
|
Format ModelInput_Format `protobuf:"varint,3,opt,name=format,proto3,enum=inference.ModelInput_Format" json:"format,omitempty"`
|
|
// @@ .. cpp:var:: int64 dims (repeated)
|
|
// @@
|
|
// @@ The dimensions/shape of the input tensor that must be provided
|
|
// @@ when invoking the inference API for this model.
|
|
// @@
|
|
Dims []int64 `protobuf:"varint,4,rep,packed,name=dims,proto3" json:"dims,omitempty"`
|
|
// @@ .. cpp:var:: ModelTensorReshape reshape
|
|
// @@
|
|
// @@ The shape expected for this input by the backend. The input will
|
|
// @@ be reshaped to this before being presented to the backend. The
|
|
// @@ reshape must have the same number of elements as the input shape
|
|
// @@ specified by 'dims'. Optional.
|
|
// @@
|
|
Reshape *ModelTensorReshape `protobuf:"bytes,5,opt,name=reshape,proto3" json:"reshape,omitempty"`
|
|
// @@ .. cpp:var:: bool is_shape_tensor
|
|
// @@
|
|
// @@ Whether or not the input is a shape tensor to the model. This field
|
|
// @@ is currently supported only for the TensorRT model. An error will be
|
|
// @@ generated if this specification does not comply with underlying
|
|
// @@ model.
|
|
// @@
|
|
IsShapeTensor bool `protobuf:"varint,6,opt,name=is_shape_tensor,json=isShapeTensor,proto3" json:"is_shape_tensor,omitempty"`
|
|
// @@ .. cpp:var:: bool allow_ragged_batch
|
|
// @@
|
|
// @@ Whether or not the input is allowed to be "ragged" in a dynamically
|
|
// @@ created batch. Default is false indicating that two requests will
|
|
// @@ only be batched if this tensor has the same shape in both requests.
|
|
// @@ True indicates that two requests can be batched even if this tensor
|
|
// @@ has a different shape in each request.
|
|
// @@
|
|
AllowRaggedBatch bool `protobuf:"varint,7,opt,name=allow_ragged_batch,json=allowRaggedBatch,proto3" json:"allow_ragged_batch,omitempty"`
|
|
// @@ .. cpp:var:: bool optional
|
|
// @@
|
|
// @@ Whether or not the input is optional for the model execution.
|
|
// @@ If true, the input is not required in the inference request.
|
|
// @@ Default value is false.
|
|
// @@
|
|
Optional bool `protobuf:"varint,8,opt,name=optional,proto3" json:"optional,omitempty"`
|
|
}
|
|
|
|
func (x *ModelInput) Reset() {
|
|
*x = ModelInput{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[3]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelInput) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelInput) ProtoMessage() {}
|
|
|
|
func (x *ModelInput) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[3]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelInput.ProtoReflect.Descriptor instead.
|
|
func (*ModelInput) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{3}
|
|
}
|
|
|
|
func (x *ModelInput) GetName() string {
|
|
if x != nil {
|
|
return x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ModelInput) GetDataType() DataType {
|
|
if x != nil {
|
|
return x.DataType
|
|
}
|
|
return DataType_TYPE_INVALID
|
|
}
|
|
|
|
func (x *ModelInput) GetFormat() ModelInput_Format {
|
|
if x != nil {
|
|
return x.Format
|
|
}
|
|
return ModelInput_FORMAT_NONE
|
|
}
|
|
|
|
func (x *ModelInput) GetDims() []int64 {
|
|
if x != nil {
|
|
return x.Dims
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelInput) GetReshape() *ModelTensorReshape {
|
|
if x != nil {
|
|
return x.Reshape
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelInput) GetIsShapeTensor() bool {
|
|
if x != nil {
|
|
return x.IsShapeTensor
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ModelInput) GetAllowRaggedBatch() bool {
|
|
if x != nil {
|
|
return x.AllowRaggedBatch
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ModelInput) GetOptional() bool {
|
|
if x != nil {
|
|
return x.Optional
|
|
}
|
|
return false
|
|
}
|
|
|
|
// @@
|
|
// @@.. cpp:var:: message ModelOutput
|
|
// @@
|
|
// @@ An output produced by the model.
|
|
// @@
|
|
type ModelOutput struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: string name
|
|
// @@
|
|
// @@ The name of the output.
|
|
// @@
|
|
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
|
// @@ .. cpp:var:: DataType data_type
|
|
// @@
|
|
// @@ The data-type of the output.
|
|
// @@
|
|
DataType DataType `protobuf:"varint,2,opt,name=data_type,json=dataType,proto3,enum=inference.DataType" json:"data_type,omitempty"`
|
|
// @@ .. cpp:var:: int64 dims (repeated)
|
|
// @@
|
|
// @@ The dimensions/shape of the output tensor.
|
|
// @@
|
|
Dims []int64 `protobuf:"varint,3,rep,packed,name=dims,proto3" json:"dims,omitempty"`
|
|
// @@ .. cpp:var:: ModelTensorReshape reshape
|
|
// @@
|
|
// @@ The shape produced for this output by the backend. The output will
|
|
// @@ be reshaped from this to the shape specified in 'dims' before being
|
|
// @@ returned in the inference response. The reshape must have the same
|
|
// @@ number of elements as the output shape specified by 'dims'. Optional.
|
|
// @@
|
|
Reshape *ModelTensorReshape `protobuf:"bytes,5,opt,name=reshape,proto3" json:"reshape,omitempty"`
|
|
// @@ .. cpp:var:: string label_filename
|
|
// @@
|
|
// @@ The label file associated with this output. Should be specified only
|
|
// @@ for outputs that represent classifications. Optional.
|
|
// @@
|
|
LabelFilename string `protobuf:"bytes,4,opt,name=label_filename,json=labelFilename,proto3" json:"label_filename,omitempty"`
|
|
// @@ .. cpp:var:: bool is_shape_tensor
|
|
// @@
|
|
// @@ Whether or not the output is a shape tensor to the model. This field
|
|
// @@ is currently supported only for the TensorRT model. An error will be
|
|
// @@ generated if this specification does not comply with underlying
|
|
// @@ model.
|
|
// @@
|
|
IsShapeTensor bool `protobuf:"varint,6,opt,name=is_shape_tensor,json=isShapeTensor,proto3" json:"is_shape_tensor,omitempty"`
|
|
}
|
|
|
|
func (x *ModelOutput) Reset() {
|
|
*x = ModelOutput{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[4]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelOutput) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelOutput) ProtoMessage() {}
|
|
|
|
func (x *ModelOutput) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[4]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelOutput.ProtoReflect.Descriptor instead.
|
|
func (*ModelOutput) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{4}
|
|
}
|
|
|
|
func (x *ModelOutput) GetName() string {
|
|
if x != nil {
|
|
return x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ModelOutput) GetDataType() DataType {
|
|
if x != nil {
|
|
return x.DataType
|
|
}
|
|
return DataType_TYPE_INVALID
|
|
}
|
|
|
|
func (x *ModelOutput) GetDims() []int64 {
|
|
if x != nil {
|
|
return x.Dims
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelOutput) GetReshape() *ModelTensorReshape {
|
|
if x != nil {
|
|
return x.Reshape
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelOutput) GetLabelFilename() string {
|
|
if x != nil {
|
|
return x.LabelFilename
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ModelOutput) GetIsShapeTensor() bool {
|
|
if x != nil {
|
|
return x.IsShapeTensor
|
|
}
|
|
return false
|
|
}
|
|
|
|
// @@ .. cpp:var:: message BatchInput
|
|
// @@
|
|
// @@ A batch input is an additional input that must be added by
|
|
// @@ the backend based on all the requests in a batch.
|
|
// @@
|
|
type BatchInput struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: Kind kind
|
|
// @@
|
|
// @@ The kind of this batch input.
|
|
// @@
|
|
Kind BatchInput_Kind `protobuf:"varint,1,opt,name=kind,proto3,enum=inference.BatchInput_Kind" json:"kind,omitempty"`
|
|
// @@ .. cpp:var:: string target_name (repeated)
|
|
// @@
|
|
// @@ The name of the model inputs that the backend will create
|
|
// @@ for this batch input.
|
|
// @@
|
|
TargetName []string `protobuf:"bytes,2,rep,name=target_name,json=targetName,proto3" json:"target_name,omitempty"`
|
|
// @@ .. cpp:var:: DataType data_type
|
|
// @@
|
|
// @@ The input's datatype. The data type can be TYPE_INT32 or
|
|
// @@ TYPE_FP32.
|
|
// @@
|
|
DataType DataType `protobuf:"varint,3,opt,name=data_type,json=dataType,proto3,enum=inference.DataType" json:"data_type,omitempty"`
|
|
// @@ .. cpp:var:: string source_input (repeated)
|
|
// @@
|
|
// @@ The backend derives the value for each batch input from one or
|
|
// @@ more other inputs. 'source_input' gives the names of those
|
|
// @@ inputs.
|
|
// @@
|
|
SourceInput []string `protobuf:"bytes,4,rep,name=source_input,json=sourceInput,proto3" json:"source_input,omitempty"`
|
|
}
|
|
|
|
func (x *BatchInput) Reset() {
|
|
*x = BatchInput{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[5]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *BatchInput) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*BatchInput) ProtoMessage() {}
|
|
|
|
func (x *BatchInput) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[5]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use BatchInput.ProtoReflect.Descriptor instead.
|
|
func (*BatchInput) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{5}
|
|
}
|
|
|
|
func (x *BatchInput) GetKind() BatchInput_Kind {
|
|
if x != nil {
|
|
return x.Kind
|
|
}
|
|
return BatchInput_BATCH_ELEMENT_COUNT
|
|
}
|
|
|
|
func (x *BatchInput) GetTargetName() []string {
|
|
if x != nil {
|
|
return x.TargetName
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *BatchInput) GetDataType() DataType {
|
|
if x != nil {
|
|
return x.DataType
|
|
}
|
|
return DataType_TYPE_INVALID
|
|
}
|
|
|
|
func (x *BatchInput) GetSourceInput() []string {
|
|
if x != nil {
|
|
return x.SourceInput
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// @@.. cpp:var:: message BatchOutput
|
|
// @@
|
|
// @@ A batch output is an output produced by the model that must be handled
|
|
// @@ differently by the backend based on all the requests in a batch.
|
|
// @@
|
|
type BatchOutput struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: string target_name (repeated)
|
|
// @@
|
|
// @@ The name of the outputs to be produced by this batch output
|
|
// @@ specification.
|
|
// @@
|
|
TargetName []string `protobuf:"bytes,1,rep,name=target_name,json=targetName,proto3" json:"target_name,omitempty"`
|
|
// @@ .. cpp:var:: Kind kind
|
|
// @@
|
|
// @@ The kind of this batch output.
|
|
// @@
|
|
Kind BatchOutput_Kind `protobuf:"varint,2,opt,name=kind,proto3,enum=inference.BatchOutput_Kind" json:"kind,omitempty"`
|
|
// @@ .. cpp:var:: string source_input (repeated)
|
|
// @@
|
|
// @@ The backend derives each batch output from one or more inputs.
|
|
// @@ 'source_input' gives the names of those inputs.
|
|
// @@
|
|
SourceInput []string `protobuf:"bytes,3,rep,name=source_input,json=sourceInput,proto3" json:"source_input,omitempty"`
|
|
}
|
|
|
|
func (x *BatchOutput) Reset() {
|
|
*x = BatchOutput{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[6]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *BatchOutput) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*BatchOutput) ProtoMessage() {}
|
|
|
|
func (x *BatchOutput) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[6]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use BatchOutput.ProtoReflect.Descriptor instead.
|
|
func (*BatchOutput) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{6}
|
|
}
|
|
|
|
func (x *BatchOutput) GetTargetName() []string {
|
|
if x != nil {
|
|
return x.TargetName
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *BatchOutput) GetKind() BatchOutput_Kind {
|
|
if x != nil {
|
|
return x.Kind
|
|
}
|
|
return BatchOutput_BATCH_SCATTER_WITH_INPUT_SHAPE
|
|
}
|
|
|
|
func (x *BatchOutput) GetSourceInput() []string {
|
|
if x != nil {
|
|
return x.SourceInput
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// @@
|
|
// @@.. cpp:var:: message ModelVersionPolicy
|
|
// @@
|
|
// @@ Policy indicating which versions of a model should be made
|
|
// @@ available by the inference server.
|
|
// @@
|
|
type ModelVersionPolicy struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: oneof policy_choice
|
|
// @@
|
|
// @@ Each model must implement only a single version policy. The
|
|
// @@ default policy is 'Latest'.
|
|
// @@
|
|
//
|
|
// Types that are assignable to PolicyChoice:
|
|
//
|
|
// *ModelVersionPolicy_Latest_
|
|
// *ModelVersionPolicy_All_
|
|
// *ModelVersionPolicy_Specific_
|
|
PolicyChoice isModelVersionPolicy_PolicyChoice `protobuf_oneof:"policy_choice"`
|
|
}
|
|
|
|
func (x *ModelVersionPolicy) Reset() {
|
|
*x = ModelVersionPolicy{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[7]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelVersionPolicy) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelVersionPolicy) ProtoMessage() {}
|
|
|
|
func (x *ModelVersionPolicy) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[7]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelVersionPolicy.ProtoReflect.Descriptor instead.
|
|
func (*ModelVersionPolicy) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{7}
|
|
}
|
|
|
|
func (m *ModelVersionPolicy) GetPolicyChoice() isModelVersionPolicy_PolicyChoice {
|
|
if m != nil {
|
|
return m.PolicyChoice
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelVersionPolicy) GetLatest() *ModelVersionPolicy_Latest {
|
|
if x, ok := x.GetPolicyChoice().(*ModelVersionPolicy_Latest_); ok {
|
|
return x.Latest
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelVersionPolicy) GetAll() *ModelVersionPolicy_All {
|
|
if x, ok := x.GetPolicyChoice().(*ModelVersionPolicy_All_); ok {
|
|
return x.All
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelVersionPolicy) GetSpecific() *ModelVersionPolicy_Specific {
|
|
if x, ok := x.GetPolicyChoice().(*ModelVersionPolicy_Specific_); ok {
|
|
return x.Specific
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type isModelVersionPolicy_PolicyChoice interface {
|
|
isModelVersionPolicy_PolicyChoice()
|
|
}
|
|
|
|
type ModelVersionPolicy_Latest_ struct {
|
|
// @@ .. cpp:var:: Latest latest
|
|
// @@
|
|
// @@ Serve only latest version(s) of the model.
|
|
// @@
|
|
Latest *ModelVersionPolicy_Latest `protobuf:"bytes,1,opt,name=latest,proto3,oneof"`
|
|
}
|
|
|
|
type ModelVersionPolicy_All_ struct {
|
|
// @@ .. cpp:var:: All all
|
|
// @@
|
|
// @@ Serve all versions of the model.
|
|
// @@
|
|
All *ModelVersionPolicy_All `protobuf:"bytes,2,opt,name=all,proto3,oneof"`
|
|
}
|
|
|
|
type ModelVersionPolicy_Specific_ struct {
|
|
// @@ .. cpp:var:: Specific specific
|
|
// @@
|
|
// @@ Serve only specific version(s) of the model.
|
|
// @@
|
|
Specific *ModelVersionPolicy_Specific `protobuf:"bytes,3,opt,name=specific,proto3,oneof"`
|
|
}
|
|
|
|
func (*ModelVersionPolicy_Latest_) isModelVersionPolicy_PolicyChoice() {}
|
|
|
|
func (*ModelVersionPolicy_All_) isModelVersionPolicy_PolicyChoice() {}
|
|
|
|
func (*ModelVersionPolicy_Specific_) isModelVersionPolicy_PolicyChoice() {}
|
|
|
|
// @@
|
|
// @@.. cpp:var:: message ModelOptimizationPolicy
|
|
// @@
|
|
// @@ Optimization settings for a model. These settings control if/how a
|
|
// @@ model is optimized and prioritized by the backend framework when
|
|
// @@ it is loaded.
|
|
// @@
|
|
type ModelOptimizationPolicy struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: Graph graph
|
|
// @@
|
|
// @@ The graph optimization setting for the model. Optional.
|
|
// @@
|
|
Graph *ModelOptimizationPolicy_Graph `protobuf:"bytes,1,opt,name=graph,proto3" json:"graph,omitempty"`
|
|
// @@ .. cpp:var:: ModelPriority priority
|
|
// @@
|
|
// @@ The priority setting for the model. Optional.
|
|
// @@
|
|
Priority ModelOptimizationPolicy_ModelPriority `protobuf:"varint,2,opt,name=priority,proto3,enum=inference.ModelOptimizationPolicy_ModelPriority" json:"priority,omitempty"`
|
|
// @@ .. cpp:var:: Cuda cuda
|
|
// @@
|
|
// @@ CUDA-specific optimization settings. Optional.
|
|
// @@
|
|
Cuda *ModelOptimizationPolicy_Cuda `protobuf:"bytes,3,opt,name=cuda,proto3" json:"cuda,omitempty"`
|
|
// @@ .. cpp:var:: ExecutionAccelerators execution_accelerators
|
|
// @@
|
|
// @@ The accelerators used for the model. Optional.
|
|
// @@
|
|
ExecutionAccelerators *ModelOptimizationPolicy_ExecutionAccelerators `protobuf:"bytes,4,opt,name=execution_accelerators,json=executionAccelerators,proto3" json:"execution_accelerators,omitempty"`
|
|
// @@ .. cpp:var:: PinnedMemoryBuffer input_pinned_memory
|
|
// @@
|
|
// @@ Use pinned memory buffer when the data transfer for inputs
|
|
// @@ is between GPU memory and non-pinned system memory.
|
|
// @@ Default is true.
|
|
// @@
|
|
InputPinnedMemory *ModelOptimizationPolicy_PinnedMemoryBuffer `protobuf:"bytes,5,opt,name=input_pinned_memory,json=inputPinnedMemory,proto3" json:"input_pinned_memory,omitempty"`
|
|
// @@ .. cpp:var:: PinnedMemoryBuffer output_pinned_memory
|
|
// @@
|
|
// @@ Use pinned memory buffer when the data transfer for outputs
|
|
// @@ is between GPU memory and non-pinned system memory.
|
|
// @@ Default is true.
|
|
// @@
|
|
OutputPinnedMemory *ModelOptimizationPolicy_PinnedMemoryBuffer `protobuf:"bytes,6,opt,name=output_pinned_memory,json=outputPinnedMemory,proto3" json:"output_pinned_memory,omitempty"`
|
|
// @@ .. cpp:var:: uint32 gather_kernel_buffer_threshold
|
|
// @@
|
|
// @@ The backend may use a gather kernel to gather input data if the
|
|
// @@ device has direct access to the source buffer and the destination
|
|
// @@ buffer. In such case, the gather kernel will be used only if the
|
|
// @@ number of buffers to be gathered is greater or equal to
|
|
// @@ the specified value. If 0, the gather kernel will be disabled.
|
|
// @@ Default value is 0.
|
|
// @@ Currently only recognized by TensorRT backend.
|
|
// @@
|
|
GatherKernelBufferThreshold uint32 `protobuf:"varint,7,opt,name=gather_kernel_buffer_threshold,json=gatherKernelBufferThreshold,proto3" json:"gather_kernel_buffer_threshold,omitempty"`
|
|
// @@ .. cpp:var:: bool eager_batching
|
|
// @@
|
|
// @@ Start preparing the next batch before the model instance is ready
|
|
// @@ for the next inference. This option can be used to overlap the
|
|
// @@ batch preparation with model execution, with the trade-off that
|
|
// @@ the next batch might be smaller than what it could have been.
|
|
// @@ Default value is false.
|
|
// @@ Currently only recognized by TensorRT backend.
|
|
// @@
|
|
EagerBatching bool `protobuf:"varint,8,opt,name=eager_batching,json=eagerBatching,proto3" json:"eager_batching,omitempty"`
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy) Reset() {
|
|
*x = ModelOptimizationPolicy{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[8]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelOptimizationPolicy) ProtoMessage() {}
|
|
|
|
func (x *ModelOptimizationPolicy) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[8]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelOptimizationPolicy.ProtoReflect.Descriptor instead.
|
|
func (*ModelOptimizationPolicy) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{8}
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy) GetGraph() *ModelOptimizationPolicy_Graph {
|
|
if x != nil {
|
|
return x.Graph
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy) GetPriority() ModelOptimizationPolicy_ModelPriority {
|
|
if x != nil {
|
|
return x.Priority
|
|
}
|
|
return ModelOptimizationPolicy_PRIORITY_DEFAULT
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy) GetCuda() *ModelOptimizationPolicy_Cuda {
|
|
if x != nil {
|
|
return x.Cuda
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy) GetExecutionAccelerators() *ModelOptimizationPolicy_ExecutionAccelerators {
|
|
if x != nil {
|
|
return x.ExecutionAccelerators
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy) GetInputPinnedMemory() *ModelOptimizationPolicy_PinnedMemoryBuffer {
|
|
if x != nil {
|
|
return x.InputPinnedMemory
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy) GetOutputPinnedMemory() *ModelOptimizationPolicy_PinnedMemoryBuffer {
|
|
if x != nil {
|
|
return x.OutputPinnedMemory
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy) GetGatherKernelBufferThreshold() uint32 {
|
|
if x != nil {
|
|
return x.GatherKernelBufferThreshold
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy) GetEagerBatching() bool {
|
|
if x != nil {
|
|
return x.EagerBatching
|
|
}
|
|
return false
|
|
}
|
|
|
|
// @@
|
|
// @@.. cpp:var:: message ModelQueuePolicy
|
|
// @@
|
|
// @@ Queue policy for inference requests.
|
|
// @@
|
|
type ModelQueuePolicy struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@
|
|
// @@ .. cpp:var:: TimeoutAction timeout_action
|
|
// @@
|
|
// @@ The action applied to timed-out request.
|
|
// @@ The default action is REJECT.
|
|
// @@
|
|
TimeoutAction ModelQueuePolicy_TimeoutAction `protobuf:"varint,1,opt,name=timeout_action,json=timeoutAction,proto3,enum=inference.ModelQueuePolicy_TimeoutAction" json:"timeout_action,omitempty"`
|
|
// @@
|
|
// @@ .. cpp:var:: uint64 default_timeout_microseconds
|
|
// @@
|
|
// @@ The default timeout for every request, in microseconds.
|
|
// @@ The default value is 0 which indicates that no timeout is set.
|
|
// @@
|
|
DefaultTimeoutMicroseconds uint64 `protobuf:"varint,2,opt,name=default_timeout_microseconds,json=defaultTimeoutMicroseconds,proto3" json:"default_timeout_microseconds,omitempty"`
|
|
// @@
|
|
// @@ .. cpp:var:: bool allow_timeout_override
|
|
// @@
|
|
// @@ Whether individual request can override the default timeout value.
|
|
// @@ When true, individual requests can set a timeout that is less than
|
|
// @@ the default timeout value but may not increase the timeout.
|
|
// @@ The default value is false.
|
|
// @@
|
|
AllowTimeoutOverride bool `protobuf:"varint,3,opt,name=allow_timeout_override,json=allowTimeoutOverride,proto3" json:"allow_timeout_override,omitempty"`
|
|
// @@
|
|
// @@ .. cpp:var:: uint32 max_queue_size
|
|
// @@
|
|
// @@ The maximum queue size for holding requests. A request will be
|
|
// @@ rejected immediately if it can't be enqueued because the queue is
|
|
// @@ full. The default value is 0 which indicates that no maximum
|
|
// @@ queue size is enforced.
|
|
// @@
|
|
MaxQueueSize uint32 `protobuf:"varint,4,opt,name=max_queue_size,json=maxQueueSize,proto3" json:"max_queue_size,omitempty"`
|
|
}
|
|
|
|
func (x *ModelQueuePolicy) Reset() {
|
|
*x = ModelQueuePolicy{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[9]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelQueuePolicy) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelQueuePolicy) ProtoMessage() {}
|
|
|
|
func (x *ModelQueuePolicy) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[9]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelQueuePolicy.ProtoReflect.Descriptor instead.
|
|
func (*ModelQueuePolicy) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{9}
|
|
}
|
|
|
|
func (x *ModelQueuePolicy) GetTimeoutAction() ModelQueuePolicy_TimeoutAction {
|
|
if x != nil {
|
|
return x.TimeoutAction
|
|
}
|
|
return ModelQueuePolicy_REJECT
|
|
}
|
|
|
|
func (x *ModelQueuePolicy) GetDefaultTimeoutMicroseconds() uint64 {
|
|
if x != nil {
|
|
return x.DefaultTimeoutMicroseconds
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *ModelQueuePolicy) GetAllowTimeoutOverride() bool {
|
|
if x != nil {
|
|
return x.AllowTimeoutOverride
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ModelQueuePolicy) GetMaxQueueSize() uint32 {
|
|
if x != nil {
|
|
return x.MaxQueueSize
|
|
}
|
|
return 0
|
|
}
|
|
|
|
// @@
|
|
// @@.. cpp:var:: message ModelDynamicBatching
|
|
// @@
|
|
// @@ Dynamic batching configuration. These settings control how dynamic
|
|
// @@ batching operates for the model.
|
|
// @@
|
|
type ModelDynamicBatching struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: int32 preferred_batch_size (repeated)
|
|
// @@
|
|
// @@ Preferred batch sizes for dynamic batching. If a batch of one of
|
|
// @@ these sizes can be formed it will be executed immediately. If
|
|
// @@ not specified a preferred batch size will be chosen automatically
|
|
// @@ based on model and GPU characteristics.
|
|
// @@
|
|
PreferredBatchSize []int32 `protobuf:"varint,1,rep,packed,name=preferred_batch_size,json=preferredBatchSize,proto3" json:"preferred_batch_size,omitempty"`
|
|
// @@ .. cpp:var:: uint64 max_queue_delay_microseconds
|
|
// @@
|
|
// @@ The maximum time, in microseconds, a request will be delayed in
|
|
// @@ the scheduling queue to wait for additional requests for
|
|
// @@ batching. Default is 0.
|
|
// @@
|
|
MaxQueueDelayMicroseconds uint64 `protobuf:"varint,2,opt,name=max_queue_delay_microseconds,json=maxQueueDelayMicroseconds,proto3" json:"max_queue_delay_microseconds,omitempty"`
|
|
// @@ .. cpp:var:: bool preserve_ordering
|
|
// @@
|
|
// @@ Should the dynamic batcher preserve the ordering of responses to
|
|
// @@ match the order of requests received by the scheduler. Default is
|
|
// @@ false. If true, the responses will be returned in the same order as
|
|
// @@ the order of requests sent to the scheduler. If false, the responses
|
|
// @@ may be returned in arbitrary order. This option is specifically
|
|
// @@ needed when a sequence of related inference requests (i.e. inference
|
|
// @@ requests with the same correlation ID) are sent to the dynamic
|
|
// @@ batcher to ensure that the sequence responses are in the correct
|
|
// @@ order.
|
|
// @@
|
|
PreserveOrdering bool `protobuf:"varint,3,opt,name=preserve_ordering,json=preserveOrdering,proto3" json:"preserve_ordering,omitempty"`
|
|
// @@ .. cpp:var:: uint64 priority_levels
|
|
// @@
|
|
// @@ The number of priority levels to be enabled for the model,
|
|
// @@ the priority level starts from 1 and 1 is the highest priority.
|
|
// @@ Requests are handled in priority order with all priority 1 requests
|
|
// @@ processed before priority 2, all priority 2 requests processed before
|
|
// @@ priority 3, etc. Requests with the same priority level will be
|
|
// @@ handled in the order that they are received.
|
|
// @@
|
|
PriorityLevels uint64 `protobuf:"varint,4,opt,name=priority_levels,json=priorityLevels,proto3" json:"priority_levels,omitempty"`
|
|
// @@ .. cpp:var:: uint64 default_priority_level
|
|
// @@
|
|
// @@ The priority level used for requests that don't specify their
|
|
// @@ priority. The value must be in the range [ 1, 'priority_levels' ].
|
|
// @@
|
|
DefaultPriorityLevel uint64 `protobuf:"varint,5,opt,name=default_priority_level,json=defaultPriorityLevel,proto3" json:"default_priority_level,omitempty"`
|
|
// @@ .. cpp:var:: ModelQueuePolicy default_queue_policy
|
|
// @@
|
|
// @@ The default queue policy used for requests that don't require
|
|
// @@ priority handling and requests that specify priority levels where
|
|
// @@ there is no specific policy given. If not specified, a policy with
|
|
// @@ default field values will be used.
|
|
// @@
|
|
DefaultQueuePolicy *ModelQueuePolicy `protobuf:"bytes,6,opt,name=default_queue_policy,json=defaultQueuePolicy,proto3" json:"default_queue_policy,omitempty"`
|
|
// @@ .. cpp:var:: map<uint64, ModelQueuePolicy> priority_queue_policy
|
|
// @@
|
|
// @@ Specify the queue policy for the priority level. The default queue
|
|
// @@ policy will be used if a priority level doesn't specify a queue
|
|
// @@ policy.
|
|
// @@
|
|
PriorityQueuePolicy map[uint64]*ModelQueuePolicy `protobuf:"bytes,7,rep,name=priority_queue_policy,json=priorityQueuePolicy,proto3" json:"priority_queue_policy,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
|
}
|
|
|
|
func (x *ModelDynamicBatching) Reset() {
|
|
*x = ModelDynamicBatching{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[10]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelDynamicBatching) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelDynamicBatching) ProtoMessage() {}
|
|
|
|
func (x *ModelDynamicBatching) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[10]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelDynamicBatching.ProtoReflect.Descriptor instead.
|
|
func (*ModelDynamicBatching) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{10}
|
|
}
|
|
|
|
func (x *ModelDynamicBatching) GetPreferredBatchSize() []int32 {
|
|
if x != nil {
|
|
return x.PreferredBatchSize
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelDynamicBatching) GetMaxQueueDelayMicroseconds() uint64 {
|
|
if x != nil {
|
|
return x.MaxQueueDelayMicroseconds
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *ModelDynamicBatching) GetPreserveOrdering() bool {
|
|
if x != nil {
|
|
return x.PreserveOrdering
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ModelDynamicBatching) GetPriorityLevels() uint64 {
|
|
if x != nil {
|
|
return x.PriorityLevels
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *ModelDynamicBatching) GetDefaultPriorityLevel() uint64 {
|
|
if x != nil {
|
|
return x.DefaultPriorityLevel
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *ModelDynamicBatching) GetDefaultQueuePolicy() *ModelQueuePolicy {
|
|
if x != nil {
|
|
return x.DefaultQueuePolicy
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelDynamicBatching) GetPriorityQueuePolicy() map[uint64]*ModelQueuePolicy {
|
|
if x != nil {
|
|
return x.PriorityQueuePolicy
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// @@
|
|
// @@.. cpp:var:: message ModelSequenceBatching
|
|
// @@
|
|
// @@ Sequence batching configuration. These settings control how sequence
|
|
// @@ batching operates for the model.
|
|
// @@
|
|
type ModelSequenceBatching struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: oneof strategy_choice
|
|
// @@
|
|
// @@ The strategy used by the sequence batcher. Default strategy
|
|
// @@ is 'direct'.
|
|
// @@
|
|
//
|
|
// Types that are assignable to StrategyChoice:
|
|
//
|
|
// *ModelSequenceBatching_Direct
|
|
// *ModelSequenceBatching_Oldest
|
|
StrategyChoice isModelSequenceBatching_StrategyChoice `protobuf_oneof:"strategy_choice"`
|
|
// @@ .. cpp:var:: uint64 max_sequence_idle_microseconds
|
|
// @@
|
|
// @@ The maximum time, in microseconds, that a sequence is allowed to
|
|
// @@ be idle before it is aborted. The inference server considers a
|
|
// @@ sequence idle when it does not have any inference request queued
|
|
// @@ for the sequence. If this limit is exceeded, the inference server
|
|
// @@ will free the sequence slot allocated by the sequence and make it
|
|
// @@ available for another sequence. If not specified (or specified as
|
|
// @@ zero) a default value of 1000000 (1 second) is used.
|
|
// @@
|
|
MaxSequenceIdleMicroseconds uint64 `protobuf:"varint,1,opt,name=max_sequence_idle_microseconds,json=maxSequenceIdleMicroseconds,proto3" json:"max_sequence_idle_microseconds,omitempty"`
|
|
// @@ .. cpp:var:: ControlInput control_input (repeated)
|
|
// @@
|
|
// @@ The model input(s) that the server should use to communicate
|
|
// @@ sequence start, stop, ready and similar control values to the
|
|
// @@ model.
|
|
// @@
|
|
ControlInput []*ModelSequenceBatching_ControlInput `protobuf:"bytes,2,rep,name=control_input,json=controlInput,proto3" json:"control_input,omitempty"`
|
|
// @@ .. cpp:var:: State state (repeated)
|
|
// @@
|
|
// @@ The optional state that can be stored in Triton for performing
|
|
// @@ inference requests on a sequence. Each sequence holds an implicit
|
|
// @@ state local to itself. The output state tensor provided by the
|
|
// @@ model in 'output_name' field of the current inference request will
|
|
// @@ be transferred as an input tensor named 'input_name' in the next
|
|
// @@ request of the same sequence. The input state of the first request
|
|
// @@ in the sequence contains garbage data.
|
|
// @@
|
|
State []*ModelSequenceBatching_State `protobuf:"bytes,5,rep,name=state,proto3" json:"state,omitempty"`
|
|
}
|
|
|
|
func (x *ModelSequenceBatching) Reset() {
|
|
*x = ModelSequenceBatching{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[11]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelSequenceBatching) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelSequenceBatching) ProtoMessage() {}
|
|
|
|
func (x *ModelSequenceBatching) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[11]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelSequenceBatching.ProtoReflect.Descriptor instead.
|
|
func (*ModelSequenceBatching) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{11}
|
|
}
|
|
|
|
func (m *ModelSequenceBatching) GetStrategyChoice() isModelSequenceBatching_StrategyChoice {
|
|
if m != nil {
|
|
return m.StrategyChoice
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelSequenceBatching) GetDirect() *ModelSequenceBatching_StrategyDirect {
|
|
if x, ok := x.GetStrategyChoice().(*ModelSequenceBatching_Direct); ok {
|
|
return x.Direct
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelSequenceBatching) GetOldest() *ModelSequenceBatching_StrategyOldest {
|
|
if x, ok := x.GetStrategyChoice().(*ModelSequenceBatching_Oldest); ok {
|
|
return x.Oldest
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelSequenceBatching) GetMaxSequenceIdleMicroseconds() uint64 {
|
|
if x != nil {
|
|
return x.MaxSequenceIdleMicroseconds
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *ModelSequenceBatching) GetControlInput() []*ModelSequenceBatching_ControlInput {
|
|
if x != nil {
|
|
return x.ControlInput
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelSequenceBatching) GetState() []*ModelSequenceBatching_State {
|
|
if x != nil {
|
|
return x.State
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type isModelSequenceBatching_StrategyChoice interface {
|
|
isModelSequenceBatching_StrategyChoice()
|
|
}
|
|
|
|
type ModelSequenceBatching_Direct struct {
|
|
// @@ .. cpp:var:: StrategyDirect direct
|
|
// @@
|
|
// @@ StrategyDirect scheduling strategy.
|
|
// @@
|
|
Direct *ModelSequenceBatching_StrategyDirect `protobuf:"bytes,3,opt,name=direct,proto3,oneof"`
|
|
}
|
|
|
|
type ModelSequenceBatching_Oldest struct {
|
|
// @@ .. cpp:var:: StrategyOldest oldest
|
|
// @@
|
|
// @@ StrategyOldest scheduling strategy.
|
|
// @@
|
|
Oldest *ModelSequenceBatching_StrategyOldest `protobuf:"bytes,4,opt,name=oldest,proto3,oneof"`
|
|
}
|
|
|
|
func (*ModelSequenceBatching_Direct) isModelSequenceBatching_StrategyChoice() {}
|
|
|
|
func (*ModelSequenceBatching_Oldest) isModelSequenceBatching_StrategyChoice() {}
|
|
|
|
// @@
|
|
// @@.. cpp:var:: message ModelEnsembling
|
|
// @@
|
|
// @@ Model ensembling configuration. These settings specify the models that
|
|
// @@ compose the ensemble and how data flows between the models.
|
|
// @@
|
|
type ModelEnsembling struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: Step step (repeated)
|
|
// @@
|
|
// @@ The models and the input / output mappings used within the ensemble.
|
|
// @@
|
|
Step []*ModelEnsembling_Step `protobuf:"bytes,1,rep,name=step,proto3" json:"step,omitempty"`
|
|
}
|
|
|
|
func (x *ModelEnsembling) Reset() {
|
|
*x = ModelEnsembling{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[12]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelEnsembling) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelEnsembling) ProtoMessage() {}
|
|
|
|
func (x *ModelEnsembling) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[12]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelEnsembling.ProtoReflect.Descriptor instead.
|
|
func (*ModelEnsembling) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{12}
|
|
}
|
|
|
|
func (x *ModelEnsembling) GetStep() []*ModelEnsembling_Step {
|
|
if x != nil {
|
|
return x.Step
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// @@
|
|
// @@.. cpp:var:: message ModelParameter
|
|
// @@
|
|
// @@ A model parameter.
|
|
// @@
|
|
type ModelParameter struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: string string_value
|
|
// @@
|
|
// @@ The string value of the parameter.
|
|
// @@
|
|
StringValue string `protobuf:"bytes,1,opt,name=string_value,json=stringValue,proto3" json:"string_value,omitempty"`
|
|
}
|
|
|
|
func (x *ModelParameter) Reset() {
|
|
*x = ModelParameter{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[13]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelParameter) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelParameter) ProtoMessage() {}
|
|
|
|
func (x *ModelParameter) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[13]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelParameter.ProtoReflect.Descriptor instead.
|
|
func (*ModelParameter) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{13}
|
|
}
|
|
|
|
func (x *ModelParameter) GetStringValue() string {
|
|
if x != nil {
|
|
return x.StringValue
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// @@
|
|
// @@.. cpp:var:: message ModelWarmup
|
|
// @@
|
|
// @@ Settings used to construct the request sample for model warmup.
|
|
// @@
|
|
type ModelWarmup struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: string name
|
|
// @@
|
|
// @@ The name of the request sample.
|
|
// @@
|
|
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
|
// @@ .. cpp:var:: uint32 batch_size
|
|
// @@
|
|
// @@ The batch size of the inference request. This must be >= 1. For
|
|
// @@ models that don't support batching, batch_size must be 1. If
|
|
// @@ batch_size > 1, the 'inputs' specified below will be duplicated to
|
|
// @@ match the batch size requested.
|
|
// @@
|
|
BatchSize uint32 `protobuf:"varint,2,opt,name=batch_size,json=batchSize,proto3" json:"batch_size,omitempty"`
|
|
// @@ .. cpp:var:: map<string, Input> inputs
|
|
// @@
|
|
// @@ The warmup meta data associated with every model input, including
|
|
// @@ control tensors.
|
|
// @@
|
|
Inputs map[string]*ModelWarmup_Input `protobuf:"bytes,3,rep,name=inputs,proto3" json:"inputs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
|
// @@ .. cpp:var:: uint32 count
|
|
// @@
|
|
// @@ The number of iterations that this warmup sample will be executed.
|
|
// @@ For example, if this field is set to 2, 2 model executions using this
|
|
// @@ sample will be scheduled for warmup. Default value is 0 which
|
|
// @@ indicates that this sample will be used only once.
|
|
// @@ Note that for sequence model, 'count' may not work well
|
|
// @@ because the model often expect a valid sequence of requests which
|
|
// @@ should be represented by a series of warmup samples. 'count > 1'
|
|
// @@ essentially "resends" one of the sample, which may invalidate the
|
|
// @@ sequence and result in unexpected warmup failure.
|
|
// @@
|
|
Count uint32 `protobuf:"varint,4,opt,name=count,proto3" json:"count,omitempty"`
|
|
}
|
|
|
|
func (x *ModelWarmup) Reset() {
|
|
*x = ModelWarmup{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[14]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelWarmup) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelWarmup) ProtoMessage() {}
|
|
|
|
func (x *ModelWarmup) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[14]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelWarmup.ProtoReflect.Descriptor instead.
|
|
func (*ModelWarmup) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{14}
|
|
}
|
|
|
|
func (x *ModelWarmup) GetName() string {
|
|
if x != nil {
|
|
return x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ModelWarmup) GetBatchSize() uint32 {
|
|
if x != nil {
|
|
return x.BatchSize
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *ModelWarmup) GetInputs() map[string]*ModelWarmup_Input {
|
|
if x != nil {
|
|
return x.Inputs
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelWarmup) GetCount() uint32 {
|
|
if x != nil {
|
|
return x.Count
|
|
}
|
|
return 0
|
|
}
|
|
|
|
// @@
|
|
// @@ .. cpp:var:: message ModelOperations
|
|
// @@
|
|
// @@ The metadata of libraries providing custom operations for this model.
|
|
// @@
|
|
type ModelOperations struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: string op_library_filename (repeated)
|
|
// @@
|
|
// @@ Optional paths of the libraries providing custom operations for
|
|
// @@ this model. Valid only for ONNX models.
|
|
// @@
|
|
OpLibraryFilename []string `protobuf:"bytes,1,rep,name=op_library_filename,json=opLibraryFilename,proto3" json:"op_library_filename,omitempty"`
|
|
}
|
|
|
|
func (x *ModelOperations) Reset() {
|
|
*x = ModelOperations{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[15]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelOperations) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelOperations) ProtoMessage() {}
|
|
|
|
func (x *ModelOperations) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[15]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelOperations.ProtoReflect.Descriptor instead.
|
|
func (*ModelOperations) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{15}
|
|
}
|
|
|
|
func (x *ModelOperations) GetOpLibraryFilename() []string {
|
|
if x != nil {
|
|
return x.OpLibraryFilename
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// @@
|
|
// @@ .. cpp:var:: message ModelTransactionPolicy
|
|
// @@
|
|
// @@ The specification that describes the nature of transactions
|
|
// @@ to be expected from the model.
|
|
// @@
|
|
type ModelTransactionPolicy struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: bool decoupled
|
|
// @@
|
|
// @@ Indicates whether responses generated by the model are decoupled with
|
|
// @@ the requests issued to it, which means the number of responses
|
|
// @@ generated by model may differ from number of requests issued, and
|
|
// @@ that the responses may be out of order relative to the order of
|
|
// @@ requests. The default is false, which means the model will generate
|
|
// @@ exactly one response for each request.
|
|
// @@
|
|
Decoupled bool `protobuf:"varint,1,opt,name=decoupled,proto3" json:"decoupled,omitempty"`
|
|
}
|
|
|
|
func (x *ModelTransactionPolicy) Reset() {
|
|
*x = ModelTransactionPolicy{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[16]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelTransactionPolicy) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelTransactionPolicy) ProtoMessage() {}
|
|
|
|
func (x *ModelTransactionPolicy) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[16]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelTransactionPolicy.ProtoReflect.Descriptor instead.
|
|
func (*ModelTransactionPolicy) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{16}
|
|
}
|
|
|
|
func (x *ModelTransactionPolicy) GetDecoupled() bool {
|
|
if x != nil {
|
|
return x.Decoupled
|
|
}
|
|
return false
|
|
}
|
|
|
|
// @@
|
|
// @@.. cpp:var:: message ModelRepositoryAgents
|
|
// @@
|
|
// @@ The repository agents for the model.
|
|
// @@
|
|
type ModelRepositoryAgents struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@
|
|
// @@ .. cpp:var:: Agent agents (repeated)
|
|
// @@
|
|
// @@ The ordered list of agents for the model. These agents will be
|
|
// @@ invoked in order to respond to repository actions occurring for the
|
|
// @@ model.
|
|
// @@
|
|
Agents []*ModelRepositoryAgents_Agent `protobuf:"bytes,1,rep,name=agents,proto3" json:"agents,omitempty"`
|
|
}
|
|
|
|
func (x *ModelRepositoryAgents) Reset() {
|
|
*x = ModelRepositoryAgents{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[17]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelRepositoryAgents) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelRepositoryAgents) ProtoMessage() {}
|
|
|
|
func (x *ModelRepositoryAgents) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[17]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelRepositoryAgents.ProtoReflect.Descriptor instead.
|
|
func (*ModelRepositoryAgents) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{17}
|
|
}
|
|
|
|
func (x *ModelRepositoryAgents) GetAgents() []*ModelRepositoryAgents_Agent {
|
|
if x != nil {
|
|
return x.Agents
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// @@
|
|
// @@.. cpp:var:: message ModelResponseCache
|
|
// @@
|
|
// @@ The response cache setting for the model.
|
|
// @@
|
|
type ModelResponseCache struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@
|
|
// @@ .. cpp::var:: bool enable
|
|
// @@
|
|
// @@ Whether or not to use response cache for the model. If True, the
|
|
// @@ responses from the model are cached and when identical request
|
|
// @@ is encountered, instead of going through the model execution,
|
|
// @@ the response from the cache is utilized. By default, response
|
|
// @@ cache is disabled for the models.
|
|
// @@
|
|
Enable bool `protobuf:"varint,1,opt,name=enable,proto3" json:"enable,omitempty"`
|
|
}
|
|
|
|
func (x *ModelResponseCache) Reset() {
|
|
*x = ModelResponseCache{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[18]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelResponseCache) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelResponseCache) ProtoMessage() {}
|
|
|
|
func (x *ModelResponseCache) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[18]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelResponseCache.ProtoReflect.Descriptor instead.
|
|
func (*ModelResponseCache) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{18}
|
|
}
|
|
|
|
func (x *ModelResponseCache) GetEnable() bool {
|
|
if x != nil {
|
|
return x.Enable
|
|
}
|
|
return false
|
|
}
|
|
|
|
// @@
|
|
// @@.. cpp:var:: message ModelConfig
|
|
// @@
|
|
// @@ A model configuration.
|
|
// @@
|
|
type ModelConfig struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: string name
|
|
// @@
|
|
// @@ The name of the model.
|
|
// @@
|
|
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
|
// @@ .. cpp:var:: string platform
|
|
// @@
|
|
// @@ Additional backend-specific configuration for the model.
|
|
// @@ Please refer to the backend documentation on whether this field
|
|
// @@ should be specified.
|
|
// @@
|
|
Platform string `protobuf:"bytes,2,opt,name=platform,proto3" json:"platform,omitempty"`
|
|
// @@ .. cpp:var:: string backend
|
|
// @@
|
|
// @@ The backend used by the model.
|
|
// @@
|
|
Backend string `protobuf:"bytes,17,opt,name=backend,proto3" json:"backend,omitempty"`
|
|
// @@ .. cpp:var:: ModelVersionPolicy version_policy
|
|
// @@
|
|
// @@ Policy indicating which version(s) of the model will be served.
|
|
// @@
|
|
VersionPolicy *ModelVersionPolicy `protobuf:"bytes,3,opt,name=version_policy,json=versionPolicy,proto3" json:"version_policy,omitempty"`
|
|
// @@ .. cpp:var:: int32 max_batch_size
|
|
// @@
|
|
// @@ Maximum batch size allowed for inference. This can only decrease
|
|
// @@ what is allowed by the model itself. A max_batch_size value of 0
|
|
// @@ indicates that batching is not allowed for the model and the
|
|
// @@ dimension/shape of the input and output tensors must exactly
|
|
// @@ match what is specified in the input and output configuration. A
|
|
// @@ max_batch_size value > 0 indicates that batching is allowed and
|
|
// @@ so the model expects the input tensors to have an additional
|
|
// @@ initial dimension for the batching that is not specified in the
|
|
// @@ input (for example, if the model supports batched inputs of
|
|
// @@ 2-dimensional tensors then the model configuration will specify
|
|
// @@ the input shape as [ X, Y ] but the model will expect the actual
|
|
// @@ input tensors to have shape [ N, X, Y ]). For max_batch_size > 0
|
|
// @@ returned outputs will also have an additional initial dimension
|
|
// @@ for the batch.
|
|
// @@
|
|
MaxBatchSize int32 `protobuf:"varint,4,opt,name=max_batch_size,json=maxBatchSize,proto3" json:"max_batch_size,omitempty"`
|
|
// @@ .. cpp:var:: ModelInput input (repeated)
|
|
// @@
|
|
// @@ The inputs request by the model.
|
|
// @@
|
|
Input []*ModelInput `protobuf:"bytes,5,rep,name=input,proto3" json:"input,omitempty"`
|
|
// @@ .. cpp:var:: ModelOutput output (repeated)
|
|
// @@
|
|
// @@ The outputs produced by the model.
|
|
// @@
|
|
Output []*ModelOutput `protobuf:"bytes,6,rep,name=output,proto3" json:"output,omitempty"`
|
|
// @@ .. cpp:var:: BatchInput batch_input (repeated)
|
|
// @@
|
|
// @@ The model input(s) that the server should use to communicate
|
|
// @@ batch related values to the model.
|
|
// @@
|
|
BatchInput []*BatchInput `protobuf:"bytes,20,rep,name=batch_input,json=batchInput,proto3" json:"batch_input,omitempty"`
|
|
// @@ .. cpp:var:: BatchOutput batch_output (repeated)
|
|
// @@
|
|
// @@ The outputs produced by the model that requires special handling
|
|
// @@ by the model backend.
|
|
// @@
|
|
BatchOutput []*BatchOutput `protobuf:"bytes,21,rep,name=batch_output,json=batchOutput,proto3" json:"batch_output,omitempty"`
|
|
// @@ .. cpp:var:: ModelOptimizationPolicy optimization
|
|
// @@
|
|
// @@ Optimization configuration for the model. If not specified
|
|
// @@ then default optimization policy is used.
|
|
// @@
|
|
Optimization *ModelOptimizationPolicy `protobuf:"bytes,12,opt,name=optimization,proto3" json:"optimization,omitempty"`
|
|
// @@ .. cpp:var:: oneof scheduling_choice
|
|
// @@
|
|
// @@ The scheduling policy for the model. If not specified the
|
|
// @@ default scheduling policy is used for the model. The default
|
|
// @@ policy is to execute each inference request independently.
|
|
// @@
|
|
//
|
|
// Types that are assignable to SchedulingChoice:
|
|
//
|
|
// *ModelConfig_DynamicBatching
|
|
// *ModelConfig_SequenceBatching
|
|
// *ModelConfig_EnsembleScheduling
|
|
SchedulingChoice isModelConfig_SchedulingChoice `protobuf_oneof:"scheduling_choice"`
|
|
// @@ .. cpp:var:: ModelInstanceGroup instance_group (repeated)
|
|
// @@
|
|
// @@ Instances of this model. If not specified, one instance
|
|
// @@ of the model will be instantiated on each available GPU.
|
|
// @@
|
|
InstanceGroup []*ModelInstanceGroup `protobuf:"bytes,7,rep,name=instance_group,json=instanceGroup,proto3" json:"instance_group,omitempty"`
|
|
// @@ .. cpp:var:: string default_model_filename
|
|
// @@
|
|
// @@ Optional filename of the model file to use if a
|
|
// @@ compute-capability specific model is not specified in
|
|
// @@ :cpp:var:`cc_model_filenames`. If not specified the default name
|
|
// @@ is 'model.graphdef', 'model.savedmodel', 'model.plan' or
|
|
// @@ 'model.pt' depending on the model type.
|
|
// @@
|
|
DefaultModelFilename string `protobuf:"bytes,8,opt,name=default_model_filename,json=defaultModelFilename,proto3" json:"default_model_filename,omitempty"`
|
|
// @@ .. cpp:var:: map<string,string> cc_model_filenames
|
|
// @@
|
|
// @@ Optional map from CUDA compute capability to the filename of
|
|
// @@ the model that supports that compute capability. The filename
|
|
// @@ refers to a file within the model version directory.
|
|
// @@
|
|
CcModelFilenames map[string]string `protobuf:"bytes,9,rep,name=cc_model_filenames,json=ccModelFilenames,proto3" json:"cc_model_filenames,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
|
// @@ .. cpp:var:: map<string,string> metric_tags
|
|
// @@
|
|
// @@ Optional metric tags. User-specific key-value pairs for metrics
|
|
// @@ reported for this model. These tags are applied to the metrics
|
|
// @@ reported on the HTTP metrics port.
|
|
// @@
|
|
MetricTags map[string]string `protobuf:"bytes,10,rep,name=metric_tags,json=metricTags,proto3" json:"metric_tags,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
|
// @@ .. cpp:var:: map<string,ModelParameter> parameters
|
|
// @@
|
|
// @@ Optional model parameters. User-specified parameter values.
|
|
// @@
|
|
Parameters map[string]*ModelParameter `protobuf:"bytes,14,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
|
// @@ .. cpp:var:: ModelWarmup model_warmup (repeated)
|
|
// @@
|
|
// @@ Warmup setting of this model. If specified, all instances
|
|
// @@ will be run with the request samples in sequence before
|
|
// @@ serving the model.
|
|
// @@ This field can only be specified if the model is not an ensemble
|
|
// @@ model.
|
|
// @@
|
|
ModelWarmup []*ModelWarmup `protobuf:"bytes,16,rep,name=model_warmup,json=modelWarmup,proto3" json:"model_warmup,omitempty"`
|
|
// @@ .. cpp:var:: ModelOperations model_operations
|
|
// @@
|
|
// @@ Optional metadata of the libraries providing custom operations for
|
|
// @@ this model.
|
|
// @@
|
|
ModelOperations *ModelOperations `protobuf:"bytes,18,opt,name=model_operations,json=modelOperations,proto3" json:"model_operations,omitempty"`
|
|
// @@ .. cpp:var:: ModelTransactionPolicy model_transaction_policy
|
|
// @@
|
|
// @@ Optional specification that describes the nature of transactions
|
|
// @@ to be expected from the model.
|
|
// @@
|
|
ModelTransactionPolicy *ModelTransactionPolicy `protobuf:"bytes,19,opt,name=model_transaction_policy,json=modelTransactionPolicy,proto3" json:"model_transaction_policy,omitempty"`
|
|
// @@ .. cpp:var:: ModelRepositoryAgents model_repository_agents
|
|
// @@
|
|
// @@ Optional specification of the agent(s) that should be invoked
|
|
// @@ with repository actions are performed for this model.
|
|
// @@
|
|
ModelRepositoryAgents *ModelRepositoryAgents `protobuf:"bytes,23,opt,name=model_repository_agents,json=modelRepositoryAgents,proto3" json:"model_repository_agents,omitempty"`
|
|
// @@ .. cpp:var:: ModelResponseCache response_cache
|
|
// @@
|
|
// @@ Optional setting for utilizing the response cache for this
|
|
// @@ model.
|
|
// @@
|
|
ResponseCache *ModelResponseCache `protobuf:"bytes,24,opt,name=response_cache,json=responseCache,proto3" json:"response_cache,omitempty"`
|
|
}
|
|
|
|
func (x *ModelConfig) Reset() {
|
|
*x = ModelConfig{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[19]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelConfig) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelConfig) ProtoMessage() {}
|
|
|
|
func (x *ModelConfig) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[19]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelConfig.ProtoReflect.Descriptor instead.
|
|
func (*ModelConfig) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{19}
|
|
}
|
|
|
|
func (x *ModelConfig) GetName() string {
|
|
if x != nil {
|
|
return x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ModelConfig) GetPlatform() string {
|
|
if x != nil {
|
|
return x.Platform
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ModelConfig) GetBackend() string {
|
|
if x != nil {
|
|
return x.Backend
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ModelConfig) GetVersionPolicy() *ModelVersionPolicy {
|
|
if x != nil {
|
|
return x.VersionPolicy
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelConfig) GetMaxBatchSize() int32 {
|
|
if x != nil {
|
|
return x.MaxBatchSize
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *ModelConfig) GetInput() []*ModelInput {
|
|
if x != nil {
|
|
return x.Input
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelConfig) GetOutput() []*ModelOutput {
|
|
if x != nil {
|
|
return x.Output
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelConfig) GetBatchInput() []*BatchInput {
|
|
if x != nil {
|
|
return x.BatchInput
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelConfig) GetBatchOutput() []*BatchOutput {
|
|
if x != nil {
|
|
return x.BatchOutput
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelConfig) GetOptimization() *ModelOptimizationPolicy {
|
|
if x != nil {
|
|
return x.Optimization
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m *ModelConfig) GetSchedulingChoice() isModelConfig_SchedulingChoice {
|
|
if m != nil {
|
|
return m.SchedulingChoice
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelConfig) GetDynamicBatching() *ModelDynamicBatching {
|
|
if x, ok := x.GetSchedulingChoice().(*ModelConfig_DynamicBatching); ok {
|
|
return x.DynamicBatching
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelConfig) GetSequenceBatching() *ModelSequenceBatching {
|
|
if x, ok := x.GetSchedulingChoice().(*ModelConfig_SequenceBatching); ok {
|
|
return x.SequenceBatching
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelConfig) GetEnsembleScheduling() *ModelEnsembling {
|
|
if x, ok := x.GetSchedulingChoice().(*ModelConfig_EnsembleScheduling); ok {
|
|
return x.EnsembleScheduling
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelConfig) GetInstanceGroup() []*ModelInstanceGroup {
|
|
if x != nil {
|
|
return x.InstanceGroup
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelConfig) GetDefaultModelFilename() string {
|
|
if x != nil {
|
|
return x.DefaultModelFilename
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ModelConfig) GetCcModelFilenames() map[string]string {
|
|
if x != nil {
|
|
return x.CcModelFilenames
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelConfig) GetMetricTags() map[string]string {
|
|
if x != nil {
|
|
return x.MetricTags
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelConfig) GetParameters() map[string]*ModelParameter {
|
|
if x != nil {
|
|
return x.Parameters
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelConfig) GetModelWarmup() []*ModelWarmup {
|
|
if x != nil {
|
|
return x.ModelWarmup
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelConfig) GetModelOperations() *ModelOperations {
|
|
if x != nil {
|
|
return x.ModelOperations
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelConfig) GetModelTransactionPolicy() *ModelTransactionPolicy {
|
|
if x != nil {
|
|
return x.ModelTransactionPolicy
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelConfig) GetModelRepositoryAgents() *ModelRepositoryAgents {
|
|
if x != nil {
|
|
return x.ModelRepositoryAgents
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelConfig) GetResponseCache() *ModelResponseCache {
|
|
if x != nil {
|
|
return x.ResponseCache
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type isModelConfig_SchedulingChoice interface {
|
|
isModelConfig_SchedulingChoice()
|
|
}
|
|
|
|
type ModelConfig_DynamicBatching struct {
|
|
// @@ .. cpp:var:: ModelDynamicBatching dynamic_batching
|
|
// @@
|
|
// @@ If specified, enables the dynamic-batching scheduling
|
|
// @@ policy. With dynamic-batching the scheduler may group
|
|
// @@ together independent requests into a single batch to
|
|
// @@ improve inference throughput.
|
|
// @@
|
|
DynamicBatching *ModelDynamicBatching `protobuf:"bytes,11,opt,name=dynamic_batching,json=dynamicBatching,proto3,oneof"`
|
|
}
|
|
|
|
type ModelConfig_SequenceBatching struct {
|
|
// @@ .. cpp:var:: ModelSequenceBatching sequence_batching
|
|
// @@
|
|
// @@ If specified, enables the sequence-batching scheduling
|
|
// @@ policy. With sequence-batching, inference requests
|
|
// @@ with the same correlation ID are routed to the same
|
|
// @@ model instance. Multiple sequences of inference requests
|
|
// @@ may be batched together into a single batch to
|
|
// @@ improve inference throughput.
|
|
// @@
|
|
SequenceBatching *ModelSequenceBatching `protobuf:"bytes,13,opt,name=sequence_batching,json=sequenceBatching,proto3,oneof"`
|
|
}
|
|
|
|
type ModelConfig_EnsembleScheduling struct {
|
|
// @@ .. cpp:var:: ModelEnsembling ensemble_scheduling
|
|
// @@
|
|
// @@ If specified, enables the model-ensembling scheduling
|
|
// @@ policy. With model-ensembling, inference requests
|
|
// @@ will be processed according to the specification, such as an
|
|
// @@ execution sequence of models. The input specified in this model
|
|
// @@ config will be the input for the ensemble, and the output
|
|
// @@ specified will be the output of the ensemble.
|
|
// @@
|
|
EnsembleScheduling *ModelEnsembling `protobuf:"bytes,15,opt,name=ensemble_scheduling,json=ensembleScheduling,proto3,oneof"`
|
|
}
|
|
|
|
func (*ModelConfig_DynamicBatching) isModelConfig_SchedulingChoice() {}
|
|
|
|
func (*ModelConfig_SequenceBatching) isModelConfig_SchedulingChoice() {}
|
|
|
|
func (*ModelConfig_EnsembleScheduling) isModelConfig_SchedulingChoice() {}
|
|
|
|
// @@ .. cpp:var:: message Resource
|
|
// @@
|
|
// @@ The resource property.
|
|
// @@
|
|
type ModelRateLimiter_Resource struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: string name
|
|
// @@
|
|
// @@ The name associated with the resource.
|
|
// @@
|
|
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
|
// @@ .. cpp:var:: bool global
|
|
// @@
|
|
// @@ Whether or not the resource is global. If true then the resource
|
|
// @@ is assumed to be shared among the devices otherwise specified
|
|
// @@ count of the resource is assumed for each device associated
|
|
// @@ with the instance.
|
|
// @@
|
|
Global bool `protobuf:"varint,2,opt,name=global,proto3" json:"global,omitempty"`
|
|
// @@ .. cpp:var:: uint32 count
|
|
// @@
|
|
// @@ The number of resources required for the execution of the model
|
|
// @@ instance.
|
|
// @@
|
|
Count uint32 `protobuf:"varint,3,opt,name=count,proto3" json:"count,omitempty"`
|
|
}
|
|
|
|
func (x *ModelRateLimiter_Resource) Reset() {
|
|
*x = ModelRateLimiter_Resource{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[20]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelRateLimiter_Resource) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelRateLimiter_Resource) ProtoMessage() {}
|
|
|
|
func (x *ModelRateLimiter_Resource) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[20]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelRateLimiter_Resource.ProtoReflect.Descriptor instead.
|
|
func (*ModelRateLimiter_Resource) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{0, 0}
|
|
}
|
|
|
|
func (x *ModelRateLimiter_Resource) GetName() string {
|
|
if x != nil {
|
|
return x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ModelRateLimiter_Resource) GetGlobal() bool {
|
|
if x != nil {
|
|
return x.Global
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ModelRateLimiter_Resource) GetCount() uint32 {
|
|
if x != nil {
|
|
return x.Count
|
|
}
|
|
return 0
|
|
}
|
|
|
|
// @@
|
|
// @@ .. cpp:var:: message SecondaryDevice
|
|
// @@
|
|
// @@ A secondary device required for a model instance.
|
|
// @@
|
|
type ModelInstanceGroup_SecondaryDevice struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: SecondaryDeviceKind kind
|
|
// @@
|
|
// @@ The secondary device kind.
|
|
// @@
|
|
Kind ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind `protobuf:"varint,1,opt,name=kind,proto3,enum=inference.ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind" json:"kind,omitempty"`
|
|
// @@ .. cpp:var:: int64 device_id
|
|
// @@
|
|
// @@ Identifier for the secondary device.
|
|
// @@
|
|
DeviceId int64 `protobuf:"varint,2,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
|
|
}
|
|
|
|
func (x *ModelInstanceGroup_SecondaryDevice) Reset() {
|
|
*x = ModelInstanceGroup_SecondaryDevice{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[21]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelInstanceGroup_SecondaryDevice) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelInstanceGroup_SecondaryDevice) ProtoMessage() {}
|
|
|
|
func (x *ModelInstanceGroup_SecondaryDevice) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[21]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelInstanceGroup_SecondaryDevice.ProtoReflect.Descriptor instead.
|
|
func (*ModelInstanceGroup_SecondaryDevice) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{1, 0}
|
|
}
|
|
|
|
func (x *ModelInstanceGroup_SecondaryDevice) GetKind() ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind {
|
|
if x != nil {
|
|
return x.Kind
|
|
}
|
|
return ModelInstanceGroup_SecondaryDevice_KIND_NVDLA
|
|
}
|
|
|
|
func (x *ModelInstanceGroup_SecondaryDevice) GetDeviceId() int64 {
|
|
if x != nil {
|
|
return x.DeviceId
|
|
}
|
|
return 0
|
|
}
|
|
|
|
// @@ .. cpp:var:: message Latest
|
|
// @@
|
|
// @@ Serve only the latest version(s) of a model. This is
|
|
// @@ the default policy.
|
|
// @@
|
|
type ModelVersionPolicy_Latest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: uint32 num_versions
|
|
// @@
|
|
// @@ Serve only the 'num_versions' highest-numbered versions. T
|
|
// @@ The default value of 'num_versions' is 1, indicating that by
|
|
// @@ default only the single highest-number version of a
|
|
// @@ model will be served.
|
|
// @@
|
|
NumVersions uint32 `protobuf:"varint,1,opt,name=num_versions,json=numVersions,proto3" json:"num_versions,omitempty"`
|
|
}
|
|
|
|
func (x *ModelVersionPolicy_Latest) Reset() {
|
|
*x = ModelVersionPolicy_Latest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[22]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelVersionPolicy_Latest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelVersionPolicy_Latest) ProtoMessage() {}
|
|
|
|
func (x *ModelVersionPolicy_Latest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[22]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelVersionPolicy_Latest.ProtoReflect.Descriptor instead.
|
|
func (*ModelVersionPolicy_Latest) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{7, 0}
|
|
}
|
|
|
|
func (x *ModelVersionPolicy_Latest) GetNumVersions() uint32 {
|
|
if x != nil {
|
|
return x.NumVersions
|
|
}
|
|
return 0
|
|
}
|
|
|
|
// @@ .. cpp:var:: message All
|
|
// @@
|
|
// @@ Serve all versions of the model.
|
|
// @@
|
|
type ModelVersionPolicy_All struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
}
|
|
|
|
func (x *ModelVersionPolicy_All) Reset() {
|
|
*x = ModelVersionPolicy_All{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[23]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelVersionPolicy_All) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelVersionPolicy_All) ProtoMessage() {}
|
|
|
|
func (x *ModelVersionPolicy_All) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[23]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelVersionPolicy_All.ProtoReflect.Descriptor instead.
|
|
func (*ModelVersionPolicy_All) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{7, 1}
|
|
}
|
|
|
|
// @@ .. cpp:var:: message Specific
|
|
// @@
|
|
// @@ Serve only specific versions of the model.
|
|
// @@
|
|
type ModelVersionPolicy_Specific struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: int64 versions (repeated)
|
|
// @@
|
|
// @@ The specific versions of the model that will be served.
|
|
// @@
|
|
Versions []int64 `protobuf:"varint,1,rep,packed,name=versions,proto3" json:"versions,omitempty"`
|
|
}
|
|
|
|
func (x *ModelVersionPolicy_Specific) Reset() {
|
|
*x = ModelVersionPolicy_Specific{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[24]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelVersionPolicy_Specific) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelVersionPolicy_Specific) ProtoMessage() {}
|
|
|
|
func (x *ModelVersionPolicy_Specific) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[24]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelVersionPolicy_Specific.ProtoReflect.Descriptor instead.
|
|
func (*ModelVersionPolicy_Specific) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{7, 2}
|
|
}
|
|
|
|
func (x *ModelVersionPolicy_Specific) GetVersions() []int64 {
|
|
if x != nil {
|
|
return x.Versions
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// @@
|
|
// @@ .. cpp:var:: message Graph
|
|
// @@
|
|
// @@ Enable generic graph optimization of the model. If not specified
|
|
// @@ the framework's default level of optimization is used. Supports
|
|
// @@ TensorFlow graphdef and savedmodel and Onnx models. For TensorFlow
|
|
// @@ causes XLA to be enabled/disabled for the model. For Onnx defaults
|
|
// @@ to enabling all optimizations, -1 enables only basic optimizations,
|
|
// @@ +1 enables only basic and extended optimizations.
|
|
// @@
|
|
type ModelOptimizationPolicy_Graph struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: int32 level
|
|
// @@
|
|
// @@ The optimization level. Defaults to 0 (zero) if not specified.
|
|
// @@
|
|
// @@ - -1: Disabled
|
|
// @@ - 0: Framework default
|
|
// @@ - 1+: Enable optimization level (greater values indicate
|
|
// @@ higher optimization levels)
|
|
// @@
|
|
Level int32 `protobuf:"varint,1,opt,name=level,proto3" json:"level,omitempty"`
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy_Graph) Reset() {
|
|
*x = ModelOptimizationPolicy_Graph{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[25]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy_Graph) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelOptimizationPolicy_Graph) ProtoMessage() {}
|
|
|
|
func (x *ModelOptimizationPolicy_Graph) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[25]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelOptimizationPolicy_Graph.ProtoReflect.Descriptor instead.
|
|
func (*ModelOptimizationPolicy_Graph) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{8, 0}
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy_Graph) GetLevel() int32 {
|
|
if x != nil {
|
|
return x.Level
|
|
}
|
|
return 0
|
|
}
|
|
|
|
// @@
|
|
// @@ .. cpp:var:: message Cuda
|
|
// @@
|
|
// @@ CUDA-specific optimization settings.
|
|
// @@
|
|
type ModelOptimizationPolicy_Cuda struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: bool graphs
|
|
// @@
|
|
// @@ Use CUDA graphs API to capture model operations and execute
|
|
// @@ them more efficiently. Default value is false.
|
|
// @@ Currently only recognized by TensorRT backend.
|
|
// @@
|
|
Graphs bool `protobuf:"varint,1,opt,name=graphs,proto3" json:"graphs,omitempty"`
|
|
// @@ .. cpp:var:: bool busy_wait_events
|
|
// @@
|
|
// @@ Use busy-waiting to synchronize CUDA events to achieve minimum
|
|
// @@ latency from event complete to host thread to be notified, with
|
|
// @@ the cost of high CPU load. Default value is false.
|
|
// @@ Currently only recognized by TensorRT backend.
|
|
// @@
|
|
BusyWaitEvents bool `protobuf:"varint,2,opt,name=busy_wait_events,json=busyWaitEvents,proto3" json:"busy_wait_events,omitempty"`
|
|
// @@ .. cpp:var:: GraphSpec graph_spec (repeated)
|
|
// @@
|
|
// @@ Specification of the CUDA graph to be captured. If not specified
|
|
// @@ and 'graphs' is true, the default CUDA graphs will be captured
|
|
// @@ based on model settings.
|
|
// @@ Currently only recognized by TensorRT backend.
|
|
// @@
|
|
GraphSpec []*ModelOptimizationPolicy_Cuda_GraphSpec `protobuf:"bytes,3,rep,name=graph_spec,json=graphSpec,proto3" json:"graph_spec,omitempty"`
|
|
// @@ .. cpp:var:: bool output_copy_stream
|
|
// @@
|
|
// @@ Uses a CUDA stream separate from the inference stream to copy the
|
|
// @@ output to host. However, be aware that setting this option to
|
|
// @@ true will lead to an increase in the memory consumption of the
|
|
// @@ model as Triton will allocate twice as much GPU memory for its
|
|
// @@ I/O tensor buffers. Default value is false.
|
|
// @@ Currently only recognized by TensorRT backend.
|
|
// @@
|
|
OutputCopyStream bool `protobuf:"varint,4,opt,name=output_copy_stream,json=outputCopyStream,proto3" json:"output_copy_stream,omitempty"`
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy_Cuda) Reset() {
|
|
*x = ModelOptimizationPolicy_Cuda{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[26]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy_Cuda) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelOptimizationPolicy_Cuda) ProtoMessage() {}
|
|
|
|
func (x *ModelOptimizationPolicy_Cuda) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[26]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelOptimizationPolicy_Cuda.ProtoReflect.Descriptor instead.
|
|
func (*ModelOptimizationPolicy_Cuda) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{8, 1}
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy_Cuda) GetGraphs() bool {
|
|
if x != nil {
|
|
return x.Graphs
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy_Cuda) GetBusyWaitEvents() bool {
|
|
if x != nil {
|
|
return x.BusyWaitEvents
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy_Cuda) GetGraphSpec() []*ModelOptimizationPolicy_Cuda_GraphSpec {
|
|
if x != nil {
|
|
return x.GraphSpec
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy_Cuda) GetOutputCopyStream() bool {
|
|
if x != nil {
|
|
return x.OutputCopyStream
|
|
}
|
|
return false
|
|
}
|
|
|
|
// @@
|
|
// @@ .. cpp:var:: message ExecutionAccelerators
|
|
// @@
|
|
// @@ Specify the preferred execution accelerators to be used to execute
|
|
// @@ the model. Currently only recognized by ONNX Runtime backend and
|
|
// @@ TensorFlow backend.
|
|
// @@
|
|
// @@ For ONNX Runtime backend, it will deploy the model with the execution
|
|
// @@ accelerators by priority, the priority is determined based on the
|
|
// @@ order that they are set, i.e. the provider at the front has highest
|
|
// @@ priority. Overall, the priority will be in the following order:
|
|
// @@ <gpu_execution_accelerator> (if instance is on GPU)
|
|
// @@ CUDA Execution Provider (if instance is on GPU)
|
|
// @@ <cpu_execution_accelerator>
|
|
// @@ Default CPU Execution Provider
|
|
// @@
|
|
type ModelOptimizationPolicy_ExecutionAccelerators struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: Accelerator gpu_execution_accelerator (repeated)
|
|
// @@
|
|
// @@ The preferred execution provider to be used if the model instance
|
|
// @@ is deployed on GPU.
|
|
// @@
|
|
// @@ For ONNX Runtime backend, possible value is "tensorrt" as name,
|
|
// @@ and no parameters are required.
|
|
// @@
|
|
// @@ For TensorFlow backend, possible values are "tensorrt",
|
|
// @@ "auto_mixed_precision", "gpu_io".
|
|
// @@
|
|
// @@ For "tensorrt", the following parameters can be specified:
|
|
// @@ "precision_mode": The precision used for optimization.
|
|
// @@ Allowed values are "FP32" and "FP16". Default value is "FP32".
|
|
// @@
|
|
// @@ "max_cached_engines": The maximum number of cached TensorRT
|
|
// @@ engines in dynamic TensorRT ops. Default value is 100.
|
|
// @@
|
|
// @@ "minimum_segment_size": The smallest model subgraph that will
|
|
// @@ be considered for optimization by TensorRT. Default value is 3.
|
|
// @@
|
|
// @@ "max_workspace_size_bytes": The maximum GPU memory the model
|
|
// @@ can use temporarily during execution. Default value is 1GB.
|
|
// @@
|
|
// @@ For "auto_mixed_precision", no parameters are required. If set,
|
|
// @@ the model will try to use FP16 for better performance.
|
|
// @@ This optimization can not be set with "tensorrt".
|
|
// @@
|
|
// @@ For "gpu_io", no parameters are required. If set, the model will
|
|
// @@ be executed using TensorFlow Callable API to set input and output
|
|
// @@ tensors in GPU memory if possible, which can reduce data transfer
|
|
// @@ overhead if the model is used in ensemble. However, the Callable
|
|
// @@ object will be created on model creation and it will request all
|
|
// @@ outputs for every model execution, which may impact the
|
|
// @@ performance if a request does not require all outputs. This
|
|
// @@ optimization will only take affect if the model instance is
|
|
// @@ created with KIND_GPU.
|
|
// @@
|
|
GpuExecutionAccelerator []*ModelOptimizationPolicy_ExecutionAccelerators_Accelerator `protobuf:"bytes,1,rep,name=gpu_execution_accelerator,json=gpuExecutionAccelerator,proto3" json:"gpu_execution_accelerator,omitempty"`
|
|
// @@ .. cpp:var:: Accelerator cpu_execution_accelerator (repeated)
|
|
// @@
|
|
// @@ The preferred execution provider to be used if the model instance
|
|
// @@ is deployed on CPU.
|
|
// @@
|
|
// @@ For ONNX Runtime backend, possible value is "openvino" as name,
|
|
// @@ and no parameters are required.
|
|
// @@
|
|
CpuExecutionAccelerator []*ModelOptimizationPolicy_ExecutionAccelerators_Accelerator `protobuf:"bytes,2,rep,name=cpu_execution_accelerator,json=cpuExecutionAccelerator,proto3" json:"cpu_execution_accelerator,omitempty"`
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy_ExecutionAccelerators) Reset() {
|
|
*x = ModelOptimizationPolicy_ExecutionAccelerators{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[27]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy_ExecutionAccelerators) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelOptimizationPolicy_ExecutionAccelerators) ProtoMessage() {}
|
|
|
|
func (x *ModelOptimizationPolicy_ExecutionAccelerators) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[27]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelOptimizationPolicy_ExecutionAccelerators.ProtoReflect.Descriptor instead.
|
|
func (*ModelOptimizationPolicy_ExecutionAccelerators) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{8, 2}
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy_ExecutionAccelerators) GetGpuExecutionAccelerator() []*ModelOptimizationPolicy_ExecutionAccelerators_Accelerator {
|
|
if x != nil {
|
|
return x.GpuExecutionAccelerator
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy_ExecutionAccelerators) GetCpuExecutionAccelerator() []*ModelOptimizationPolicy_ExecutionAccelerators_Accelerator {
|
|
if x != nil {
|
|
return x.CpuExecutionAccelerator
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// @@
|
|
// @@ .. cpp:var:: message PinnedMemoryBuffer
|
|
// @@
|
|
// @@ Specify whether to use a pinned memory buffer when transferring data
|
|
// @@ between non-pinned system memory and GPU memory. Using a pinned
|
|
// @@ memory buffer for system from/to GPU transfers will typically provide
|
|
// @@ increased performance. For example, in the common use case where the
|
|
// @@ request provides inputs and delivers outputs via non-pinned system
|
|
// @@ memory, if the model instance accepts GPU IOs, the inputs will be
|
|
// @@ processed by two copies: from non-pinned system memory to pinned
|
|
// @@ memory, and from pinned memory to GPU memory. Similarly, pinned
|
|
// @@ memory will be used for delivering the outputs.
|
|
// @@
|
|
type ModelOptimizationPolicy_PinnedMemoryBuffer struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: bool enable
|
|
// @@
|
|
// @@ Use pinned memory buffer. Default is true.
|
|
// @@
|
|
Enable bool `protobuf:"varint,1,opt,name=enable,proto3" json:"enable,omitempty"`
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy_PinnedMemoryBuffer) Reset() {
|
|
*x = ModelOptimizationPolicy_PinnedMemoryBuffer{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[28]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy_PinnedMemoryBuffer) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelOptimizationPolicy_PinnedMemoryBuffer) ProtoMessage() {}
|
|
|
|
func (x *ModelOptimizationPolicy_PinnedMemoryBuffer) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[28]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelOptimizationPolicy_PinnedMemoryBuffer.ProtoReflect.Descriptor instead.
|
|
func (*ModelOptimizationPolicy_PinnedMemoryBuffer) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{8, 3}
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy_PinnedMemoryBuffer) GetEnable() bool {
|
|
if x != nil {
|
|
return x.Enable
|
|
}
|
|
return false
|
|
}
|
|
|
|
// @@ .. cpp:var:: message GraphSpec
|
|
// @@
|
|
// @@ Specification of the CUDA graph to be captured.
|
|
// @@
|
|
type ModelOptimizationPolicy_Cuda_GraphSpec struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: int32 batch_size
|
|
// @@
|
|
// @@ The batch size of the CUDA graph. If 'max_batch_size' is 0,
|
|
// @@ 'batch_size' must be set to 0. Otherwise, 'batch_size' must
|
|
// @@ be set to value between 1 and 'max_batch_size'.
|
|
// @@
|
|
BatchSize int32 `protobuf:"varint,1,opt,name=batch_size,json=batchSize,proto3" json:"batch_size,omitempty"`
|
|
// @@ .. cpp:var:: map<string, Shape> input
|
|
// @@
|
|
// @@ The specification of the inputs. 'Shape' is the shape of the
|
|
// @@ input without batching dimension.
|
|
// @@
|
|
Input map[string]*ModelOptimizationPolicy_Cuda_GraphSpec_Shape `protobuf:"bytes,2,rep,name=input,proto3" json:"input,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
|
// @@ .. cpp:var:: LowerBound graph_lower_bound
|
|
// @@
|
|
// @@ Specify the lower bound of the CUDA graph. Optional.
|
|
// @@ If specified, the graph can be used for input shapes and
|
|
// @@ batch sizes that are in closed interval between the lower
|
|
// @@ bound specification and graph specification. For dynamic
|
|
// @@ shape model, this allows CUDA graphs to be launched
|
|
// @@ frequently without capturing all possible shape combinations.
|
|
// @@ However, using graph for shape combinations different from
|
|
// @@ the one used for capturing introduces uninitialized data for
|
|
// @@ execution and it may distort the inference result if
|
|
// @@ the model is sensitive to uninitialized data.
|
|
// @@
|
|
GraphLowerBound *ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound `protobuf:"bytes,3,opt,name=graph_lower_bound,json=graphLowerBound,proto3" json:"graph_lower_bound,omitempty"`
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy_Cuda_GraphSpec) Reset() {
|
|
*x = ModelOptimizationPolicy_Cuda_GraphSpec{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[29]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy_Cuda_GraphSpec) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelOptimizationPolicy_Cuda_GraphSpec) ProtoMessage() {}
|
|
|
|
func (x *ModelOptimizationPolicy_Cuda_GraphSpec) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[29]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelOptimizationPolicy_Cuda_GraphSpec.ProtoReflect.Descriptor instead.
|
|
func (*ModelOptimizationPolicy_Cuda_GraphSpec) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{8, 1, 0}
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy_Cuda_GraphSpec) GetBatchSize() int32 {
|
|
if x != nil {
|
|
return x.BatchSize
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy_Cuda_GraphSpec) GetInput() map[string]*ModelOptimizationPolicy_Cuda_GraphSpec_Shape {
|
|
if x != nil {
|
|
return x.Input
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy_Cuda_GraphSpec) GetGraphLowerBound() *ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound {
|
|
if x != nil {
|
|
return x.GraphLowerBound
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// @@ .. cpp:var:: message Dims
|
|
// @@
|
|
// @@ Specification of tensor dimension.
|
|
// @@
|
|
type ModelOptimizationPolicy_Cuda_GraphSpec_Shape struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: int64 dim (repeated)
|
|
// @@
|
|
// @@ The dimension.
|
|
// @@
|
|
Dim []int64 `protobuf:"varint,1,rep,packed,name=dim,proto3" json:"dim,omitempty"`
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy_Cuda_GraphSpec_Shape) Reset() {
|
|
*x = ModelOptimizationPolicy_Cuda_GraphSpec_Shape{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[30]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy_Cuda_GraphSpec_Shape) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelOptimizationPolicy_Cuda_GraphSpec_Shape) ProtoMessage() {}
|
|
|
|
func (x *ModelOptimizationPolicy_Cuda_GraphSpec_Shape) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[30]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelOptimizationPolicy_Cuda_GraphSpec_Shape.ProtoReflect.Descriptor instead.
|
|
func (*ModelOptimizationPolicy_Cuda_GraphSpec_Shape) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{8, 1, 0, 0}
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy_Cuda_GraphSpec_Shape) GetDim() []int64 {
|
|
if x != nil {
|
|
return x.Dim
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: int32 batch_size
|
|
// @@
|
|
// @@ The batch size of the CUDA graph. If 'max_batch_size' is 0,
|
|
// @@ 'batch_size' must be set to 0. Otherwise, 'batch_size' must
|
|
// @@ be set to value between 1 and 'max_batch_size'.
|
|
// @@
|
|
BatchSize int32 `protobuf:"varint,1,opt,name=batch_size,json=batchSize,proto3" json:"batch_size,omitempty"`
|
|
// @@ .. cpp:var:: map<string, Shape> input
|
|
// @@
|
|
// @@ The specification of the inputs. 'Shape' is the shape of
|
|
// @@ the input without batching dimension.
|
|
// @@
|
|
Input map[string]*ModelOptimizationPolicy_Cuda_GraphSpec_Shape `protobuf:"bytes,2,rep,name=input,proto3" json:"input,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound) Reset() {
|
|
*x = ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[31]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound) ProtoMessage() {}
|
|
|
|
func (x *ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[31]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound.ProtoReflect.Descriptor instead.
|
|
func (*ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{8, 1, 0, 1}
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound) GetBatchSize() int32 {
|
|
if x != nil {
|
|
return x.BatchSize
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound) GetInput() map[string]*ModelOptimizationPolicy_Cuda_GraphSpec_Shape {
|
|
if x != nil {
|
|
return x.Input
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// @@
|
|
// @@ .. cpp:var:: message Accelerator
|
|
// @@
|
|
// @@ Specify the accelerator to be used to execute the model.
|
|
// @@ Accelerator with the same name may accept different parameters
|
|
// @@ depending on the backends.
|
|
// @@
|
|
type ModelOptimizationPolicy_ExecutionAccelerators_Accelerator struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: string name
|
|
// @@
|
|
// @@ The name of the execution accelerator.
|
|
// @@
|
|
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
|
// @@ .. cpp:var:: map<string, string> parameters
|
|
// @@
|
|
// @@ Additional parameters used to configure the accelerator.
|
|
// @@
|
|
Parameters map[string]string `protobuf:"bytes,2,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy_ExecutionAccelerators_Accelerator) Reset() {
|
|
*x = ModelOptimizationPolicy_ExecutionAccelerators_Accelerator{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[34]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy_ExecutionAccelerators_Accelerator) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelOptimizationPolicy_ExecutionAccelerators_Accelerator) ProtoMessage() {}
|
|
|
|
func (x *ModelOptimizationPolicy_ExecutionAccelerators_Accelerator) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[34]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelOptimizationPolicy_ExecutionAccelerators_Accelerator.ProtoReflect.Descriptor instead.
|
|
func (*ModelOptimizationPolicy_ExecutionAccelerators_Accelerator) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{8, 2, 0}
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy_ExecutionAccelerators_Accelerator) GetName() string {
|
|
if x != nil {
|
|
return x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ModelOptimizationPolicy_ExecutionAccelerators_Accelerator) GetParameters() map[string]string {
|
|
if x != nil {
|
|
return x.Parameters
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// @@ .. cpp:var:: message Control
|
|
// @@
|
|
// @@ A control is a signal that the sequence batcher uses to
|
|
// @@ communicate with a backend.
|
|
// @@
|
|
type ModelSequenceBatching_Control struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: Kind kind
|
|
// @@
|
|
// @@ The kind of this control.
|
|
// @@
|
|
Kind ModelSequenceBatching_Control_Kind `protobuf:"varint,1,opt,name=kind,proto3,enum=inference.ModelSequenceBatching_Control_Kind" json:"kind,omitempty"`
|
|
// @@ .. cpp:var:: int32 int32_false_true (repeated)
|
|
// @@
|
|
// @@ The control's true and false setting is indicated by setting
|
|
// @@ a value in an int32 tensor. The tensor must be a
|
|
// @@ 1-dimensional tensor with size equal to the batch size of
|
|
// @@ the request. 'int32_false_true' must have two entries: the
|
|
// @@ first the false value and the second the true value.
|
|
// @@
|
|
Int32FalseTrue []int32 `protobuf:"varint,2,rep,packed,name=int32_false_true,json=int32FalseTrue,proto3" json:"int32_false_true,omitempty"`
|
|
// @@ .. cpp:var:: float fp32_false_true (repeated)
|
|
// @@
|
|
// @@ The control's true and false setting is indicated by setting
|
|
// @@ a value in a fp32 tensor. The tensor must be a
|
|
// @@ 1-dimensional tensor with size equal to the batch size of
|
|
// @@ the request. 'fp32_false_true' must have two entries: the
|
|
// @@ first the false value and the second the true value.
|
|
// @@
|
|
Fp32FalseTrue []float32 `protobuf:"fixed32,3,rep,packed,name=fp32_false_true,json=fp32FalseTrue,proto3" json:"fp32_false_true,omitempty"`
|
|
// @@ .. cpp:var:: bool bool_false_true (repeated)
|
|
// @@
|
|
// @@ The control's true and false setting is indicated by setting
|
|
// @@ a value in a bool tensor. The tensor must be a
|
|
// @@ 1-dimensional tensor with size equal to the batch size of
|
|
// @@ the request. 'bool_false_true' must have two entries: the
|
|
// @@ first the false value and the second the true value.
|
|
// @@
|
|
BoolFalseTrue []bool `protobuf:"varint,5,rep,packed,name=bool_false_true,json=boolFalseTrue,proto3" json:"bool_false_true,omitempty"`
|
|
// @@ .. cpp:var:: DataType data_type
|
|
// @@
|
|
// @@ The control's datatype.
|
|
// @@
|
|
DataType DataType `protobuf:"varint,4,opt,name=data_type,json=dataType,proto3,enum=inference.DataType" json:"data_type,omitempty"`
|
|
}
|
|
|
|
func (x *ModelSequenceBatching_Control) Reset() {
|
|
*x = ModelSequenceBatching_Control{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[37]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelSequenceBatching_Control) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelSequenceBatching_Control) ProtoMessage() {}
|
|
|
|
func (x *ModelSequenceBatching_Control) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[37]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelSequenceBatching_Control.ProtoReflect.Descriptor instead.
|
|
func (*ModelSequenceBatching_Control) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{11, 0}
|
|
}
|
|
|
|
func (x *ModelSequenceBatching_Control) GetKind() ModelSequenceBatching_Control_Kind {
|
|
if x != nil {
|
|
return x.Kind
|
|
}
|
|
return ModelSequenceBatching_Control_CONTROL_SEQUENCE_START
|
|
}
|
|
|
|
func (x *ModelSequenceBatching_Control) GetInt32FalseTrue() []int32 {
|
|
if x != nil {
|
|
return x.Int32FalseTrue
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelSequenceBatching_Control) GetFp32FalseTrue() []float32 {
|
|
if x != nil {
|
|
return x.Fp32FalseTrue
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelSequenceBatching_Control) GetBoolFalseTrue() []bool {
|
|
if x != nil {
|
|
return x.BoolFalseTrue
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelSequenceBatching_Control) GetDataType() DataType {
|
|
if x != nil {
|
|
return x.DataType
|
|
}
|
|
return DataType_TYPE_INVALID
|
|
}
|
|
|
|
// @@ .. cpp:var:: message ControlInput
|
|
// @@
|
|
// @@ The sequence control values to communicate by a model input.
|
|
// @@
|
|
type ModelSequenceBatching_ControlInput struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: string name
|
|
// @@
|
|
// @@ The name of the model input.
|
|
// @@
|
|
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
|
// @@ .. cpp:var:: Control control (repeated)
|
|
// @@
|
|
// @@ The control value(s) that should be communicated to the
|
|
// @@ model using this model input.
|
|
// @@
|
|
Control []*ModelSequenceBatching_Control `protobuf:"bytes,2,rep,name=control,proto3" json:"control,omitempty"`
|
|
}
|
|
|
|
func (x *ModelSequenceBatching_ControlInput) Reset() {
|
|
*x = ModelSequenceBatching_ControlInput{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[38]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelSequenceBatching_ControlInput) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelSequenceBatching_ControlInput) ProtoMessage() {}
|
|
|
|
func (x *ModelSequenceBatching_ControlInput) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[38]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelSequenceBatching_ControlInput.ProtoReflect.Descriptor instead.
|
|
func (*ModelSequenceBatching_ControlInput) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{11, 1}
|
|
}
|
|
|
|
func (x *ModelSequenceBatching_ControlInput) GetName() string {
|
|
if x != nil {
|
|
return x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ModelSequenceBatching_ControlInput) GetControl() []*ModelSequenceBatching_Control {
|
|
if x != nil {
|
|
return x.Control
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// @@
|
|
// @@ .. cpp:var:: message InitialState
|
|
// @@
|
|
// @@ Settings used to initialize data for implicit state.
|
|
// @@
|
|
type ModelSequenceBatching_InitialState struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: DataType data_type
|
|
// @@
|
|
// @@ The data-type of the state.
|
|
// @@
|
|
DataType DataType `protobuf:"varint,1,opt,name=data_type,json=dataType,proto3,enum=inference.DataType" json:"data_type,omitempty"`
|
|
// @@ .. cpp:var:: int64 dims (repeated)
|
|
// @@
|
|
// @@ The shape of the state tensor, not including the batch
|
|
// @@ dimension.
|
|
// @@
|
|
Dims []int64 `protobuf:"varint,2,rep,packed,name=dims,proto3" json:"dims,omitempty"`
|
|
// @@ .. cpp:var:: oneof state_data
|
|
// @@
|
|
// @@ Specify how the initial state data is generated.
|
|
// @@
|
|
//
|
|
// Types that are assignable to StateData:
|
|
//
|
|
// *ModelSequenceBatching_InitialState_ZeroData
|
|
// *ModelSequenceBatching_InitialState_DataFile
|
|
StateData isModelSequenceBatching_InitialState_StateData `protobuf_oneof:"state_data"`
|
|
// @@ .. cpp:var:: string name
|
|
// @@
|
|
// @@ The name of the state initialization.
|
|
// @@
|
|
Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
|
|
}
|
|
|
|
func (x *ModelSequenceBatching_InitialState) Reset() {
|
|
*x = ModelSequenceBatching_InitialState{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[39]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelSequenceBatching_InitialState) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelSequenceBatching_InitialState) ProtoMessage() {}
|
|
|
|
func (x *ModelSequenceBatching_InitialState) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[39]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelSequenceBatching_InitialState.ProtoReflect.Descriptor instead.
|
|
func (*ModelSequenceBatching_InitialState) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{11, 2}
|
|
}
|
|
|
|
func (x *ModelSequenceBatching_InitialState) GetDataType() DataType {
|
|
if x != nil {
|
|
return x.DataType
|
|
}
|
|
return DataType_TYPE_INVALID
|
|
}
|
|
|
|
func (x *ModelSequenceBatching_InitialState) GetDims() []int64 {
|
|
if x != nil {
|
|
return x.Dims
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m *ModelSequenceBatching_InitialState) GetStateData() isModelSequenceBatching_InitialState_StateData {
|
|
if m != nil {
|
|
return m.StateData
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelSequenceBatching_InitialState) GetZeroData() bool {
|
|
if x, ok := x.GetStateData().(*ModelSequenceBatching_InitialState_ZeroData); ok {
|
|
return x.ZeroData
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ModelSequenceBatching_InitialState) GetDataFile() string {
|
|
if x, ok := x.GetStateData().(*ModelSequenceBatching_InitialState_DataFile); ok {
|
|
return x.DataFile
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ModelSequenceBatching_InitialState) GetName() string {
|
|
if x != nil {
|
|
return x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type isModelSequenceBatching_InitialState_StateData interface {
|
|
isModelSequenceBatching_InitialState_StateData()
|
|
}
|
|
|
|
type ModelSequenceBatching_InitialState_ZeroData struct {
|
|
// @@
|
|
// @@ .. cpp:var:: bool zero_data
|
|
// @@
|
|
// @@ The identifier for using zeros as initial state data.
|
|
// @@ Note that the value of 'zero_data' will not be checked,
|
|
// @@ instead, zero data will be used as long as the field is set.
|
|
// @@
|
|
ZeroData bool `protobuf:"varint,3,opt,name=zero_data,json=zeroData,proto3,oneof"`
|
|
}
|
|
|
|
type ModelSequenceBatching_InitialState_DataFile struct {
|
|
// @@ .. cpp:var:: string data_file
|
|
// @@
|
|
// @@ The file whose content will be used as the initial data for
|
|
// @@ the state in row-major order. The file must be provided in
|
|
// @@ sub-directory 'initial_state' under the model directory.
|
|
// @@
|
|
DataFile string `protobuf:"bytes,4,opt,name=data_file,json=dataFile,proto3,oneof"`
|
|
}
|
|
|
|
func (*ModelSequenceBatching_InitialState_ZeroData) isModelSequenceBatching_InitialState_StateData() {
|
|
}
|
|
|
|
func (*ModelSequenceBatching_InitialState_DataFile) isModelSequenceBatching_InitialState_StateData() {
|
|
}
|
|
|
|
// @@ .. cpp:var:: message State
|
|
// @@
|
|
// @@ An input / output pair of tensors that carry state for the sequence.
|
|
// @@
|
|
type ModelSequenceBatching_State struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: string input_name
|
|
// @@
|
|
// @@ The name of the model state input.
|
|
// @@
|
|
InputName string `protobuf:"bytes,1,opt,name=input_name,json=inputName,proto3" json:"input_name,omitempty"`
|
|
// @@ .. cpp:var:: string output_name
|
|
// @@
|
|
// @@ The name of the model state output.
|
|
// @@
|
|
OutputName string `protobuf:"bytes,2,opt,name=output_name,json=outputName,proto3" json:"output_name,omitempty"`
|
|
// @@ .. cpp:var:: DataType data_type
|
|
// @@
|
|
// @@ The data-type of the state.
|
|
// @@
|
|
DataType DataType `protobuf:"varint,3,opt,name=data_type,json=dataType,proto3,enum=inference.DataType" json:"data_type,omitempty"`
|
|
// @@ .. cpp:var:: int64 dim (repeated)
|
|
// @@
|
|
// @@ The dimension.
|
|
// @@
|
|
Dims []int64 `protobuf:"varint,4,rep,packed,name=dims,proto3" json:"dims,omitempty"`
|
|
// @@ .. cpp:var:: InitialState initial_state (repeated)
|
|
// @@
|
|
// @@ The optional field to specify the initial state for the model.
|
|
// @@
|
|
InitialState []*ModelSequenceBatching_InitialState `protobuf:"bytes,5,rep,name=initial_state,json=initialState,proto3" json:"initial_state,omitempty"`
|
|
}
|
|
|
|
func (x *ModelSequenceBatching_State) Reset() {
|
|
*x = ModelSequenceBatching_State{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[40]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelSequenceBatching_State) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelSequenceBatching_State) ProtoMessage() {}
|
|
|
|
func (x *ModelSequenceBatching_State) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[40]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelSequenceBatching_State.ProtoReflect.Descriptor instead.
|
|
func (*ModelSequenceBatching_State) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{11, 3}
|
|
}
|
|
|
|
func (x *ModelSequenceBatching_State) GetInputName() string {
|
|
if x != nil {
|
|
return x.InputName
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ModelSequenceBatching_State) GetOutputName() string {
|
|
if x != nil {
|
|
return x.OutputName
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ModelSequenceBatching_State) GetDataType() DataType {
|
|
if x != nil {
|
|
return x.DataType
|
|
}
|
|
return DataType_TYPE_INVALID
|
|
}
|
|
|
|
func (x *ModelSequenceBatching_State) GetDims() []int64 {
|
|
if x != nil {
|
|
return x.Dims
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelSequenceBatching_State) GetInitialState() []*ModelSequenceBatching_InitialState {
|
|
if x != nil {
|
|
return x.InitialState
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// @@ .. cpp:var:: message StrategyDirect
|
|
// @@
|
|
// @@ The sequence batcher uses a specific, unique batch
|
|
// @@ slot for each sequence. All inference requests in a
|
|
// @@ sequence are directed to the same batch slot in the same
|
|
// @@ model instance over the lifetime of the sequence. This
|
|
// @@ is the default strategy.
|
|
// @@
|
|
type ModelSequenceBatching_StrategyDirect struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: uint64 max_queue_delay_microseconds
|
|
// @@
|
|
// @@ The maximum time, in microseconds, a candidate request
|
|
// @@ will be delayed in the sequence batch scheduling queue to
|
|
// @@ wait for additional requests for batching. Default is 0.
|
|
// @@
|
|
MaxQueueDelayMicroseconds uint64 `protobuf:"varint,1,opt,name=max_queue_delay_microseconds,json=maxQueueDelayMicroseconds,proto3" json:"max_queue_delay_microseconds,omitempty"`
|
|
// @@ .. cpp:var:: float minimum_slot_utilization
|
|
// @@
|
|
// @@ The minimum slot utilization that must be satisfied to
|
|
// @@ execute the batch before 'max_queue_delay_microseconds' expires.
|
|
// @@ For example, a value of 0.5 indicates that the batch should be
|
|
// @@ executed as soon as 50% or more of the slots are ready even if
|
|
// @@ the 'max_queue_delay_microseconds' timeout has not expired.
|
|
// @@ The default is 0.0, indicating that a batch will be executed
|
|
// @@ before 'max_queue_delay_microseconds' timeout expires if at least
|
|
// @@ one batch slot is ready. 'max_queue_delay_microseconds' will be
|
|
// @@ ignored unless minimum_slot_utilization is set to a non-zero
|
|
// @@ value.
|
|
// @@
|
|
MinimumSlotUtilization float32 `protobuf:"fixed32,2,opt,name=minimum_slot_utilization,json=minimumSlotUtilization,proto3" json:"minimum_slot_utilization,omitempty"`
|
|
}
|
|
|
|
func (x *ModelSequenceBatching_StrategyDirect) Reset() {
|
|
*x = ModelSequenceBatching_StrategyDirect{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[41]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelSequenceBatching_StrategyDirect) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelSequenceBatching_StrategyDirect) ProtoMessage() {}
|
|
|
|
func (x *ModelSequenceBatching_StrategyDirect) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[41]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelSequenceBatching_StrategyDirect.ProtoReflect.Descriptor instead.
|
|
func (*ModelSequenceBatching_StrategyDirect) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{11, 4}
|
|
}
|
|
|
|
func (x *ModelSequenceBatching_StrategyDirect) GetMaxQueueDelayMicroseconds() uint64 {
|
|
if x != nil {
|
|
return x.MaxQueueDelayMicroseconds
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *ModelSequenceBatching_StrategyDirect) GetMinimumSlotUtilization() float32 {
|
|
if x != nil {
|
|
return x.MinimumSlotUtilization
|
|
}
|
|
return 0
|
|
}
|
|
|
|
// @@ .. cpp:var:: message StrategyOldest
|
|
// @@
|
|
// @@ The sequence batcher maintains up to 'max_candidate_sequences'
|
|
// @@ candidate sequences. 'max_candidate_sequences' can be greater
|
|
// @@ than the model's 'max_batch_size'. For inferencing the batcher
|
|
// @@ chooses from the candidate sequences up to 'max_batch_size'
|
|
// @@ inference requests. Requests are chosen in an oldest-first
|
|
// @@ manner across all candidate sequences. A given sequence is
|
|
// @@ not guaranteed to be assigned to the same batch slot for
|
|
// @@ all inference requests of that sequence.
|
|
// @@
|
|
type ModelSequenceBatching_StrategyOldest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: int32 max_candidate_sequences
|
|
// @@
|
|
// @@ Maximum number of candidate sequences that the batcher
|
|
// @@ maintains. Excess sequences are kept in an ordered backlog
|
|
// @@ and become candidates when existing candidate sequences
|
|
// @@ complete.
|
|
// @@
|
|
MaxCandidateSequences int32 `protobuf:"varint,1,opt,name=max_candidate_sequences,json=maxCandidateSequences,proto3" json:"max_candidate_sequences,omitempty"`
|
|
// @@ .. cpp:var:: int32 preferred_batch_size (repeated)
|
|
// @@
|
|
// @@ Preferred batch sizes for dynamic batching of candidate
|
|
// @@ sequences. If a batch of one of these sizes can be formed
|
|
// @@ it will be executed immediately. If not specified a
|
|
// @@ preferred batch size will be chosen automatically
|
|
// @@ based on model and GPU characteristics.
|
|
// @@
|
|
PreferredBatchSize []int32 `protobuf:"varint,2,rep,packed,name=preferred_batch_size,json=preferredBatchSize,proto3" json:"preferred_batch_size,omitempty"`
|
|
// @@ .. cpp:var:: uint64 max_queue_delay_microseconds
|
|
// @@
|
|
// @@ The maximum time, in microseconds, a candidate request
|
|
// @@ will be delayed in the dynamic batch scheduling queue to
|
|
// @@ wait for additional requests for batching. Default is 0.
|
|
// @@
|
|
MaxQueueDelayMicroseconds uint64 `protobuf:"varint,3,opt,name=max_queue_delay_microseconds,json=maxQueueDelayMicroseconds,proto3" json:"max_queue_delay_microseconds,omitempty"`
|
|
// @@ .. cpp:var:: bool preserve_ordering
|
|
// @@
|
|
// @@ Should the dynamic batcher preserve the ordering of responses to
|
|
// @@ match the order of requests received by the scheduler. Default is
|
|
// @@ false. If true, the responses will be returned in the same order
|
|
// as
|
|
// @@ the order of requests sent to the scheduler. If false, the
|
|
// responses
|
|
// @@ may be returned in arbitrary order. This option is specifically
|
|
// @@ needed when a sequence of related inference requests (i.e.
|
|
// inference
|
|
// @@ requests with the same correlation ID) are sent to the dynamic
|
|
// @@ batcher to ensure that the sequence responses are in the correct
|
|
// @@ order.
|
|
// @@
|
|
// @@ When using decoupled models, setting this to true may block the
|
|
// @@ responses from independent sequences from being returned to the
|
|
// @@ client until the previous request completes, hurting overall
|
|
// @@ performance. If using GRPC streaming protocol, the stream
|
|
// ordering
|
|
// @@ guarantee may be sufficient alone to ensure the responses for
|
|
// each
|
|
// @@ sequence are returned in sequence-order without blocking based on
|
|
// @@ independent requests, depending on the use case.
|
|
// @@
|
|
PreserveOrdering bool `protobuf:"varint,4,opt,name=preserve_ordering,json=preserveOrdering,proto3" json:"preserve_ordering,omitempty"`
|
|
}
|
|
|
|
func (x *ModelSequenceBatching_StrategyOldest) Reset() {
|
|
*x = ModelSequenceBatching_StrategyOldest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[42]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelSequenceBatching_StrategyOldest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelSequenceBatching_StrategyOldest) ProtoMessage() {}
|
|
|
|
func (x *ModelSequenceBatching_StrategyOldest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[42]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelSequenceBatching_StrategyOldest.ProtoReflect.Descriptor instead.
|
|
func (*ModelSequenceBatching_StrategyOldest) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{11, 5}
|
|
}
|
|
|
|
func (x *ModelSequenceBatching_StrategyOldest) GetMaxCandidateSequences() int32 {
|
|
if x != nil {
|
|
return x.MaxCandidateSequences
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *ModelSequenceBatching_StrategyOldest) GetPreferredBatchSize() []int32 {
|
|
if x != nil {
|
|
return x.PreferredBatchSize
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelSequenceBatching_StrategyOldest) GetMaxQueueDelayMicroseconds() uint64 {
|
|
if x != nil {
|
|
return x.MaxQueueDelayMicroseconds
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *ModelSequenceBatching_StrategyOldest) GetPreserveOrdering() bool {
|
|
if x != nil {
|
|
return x.PreserveOrdering
|
|
}
|
|
return false
|
|
}
|
|
|
|
// @@ .. cpp:var:: message Step
|
|
// @@
|
|
// @@ Each step specifies a model included in the ensemble,
|
|
// @@ maps ensemble tensor names to the model input tensors,
|
|
// @@ and maps model output tensors to ensemble tensor names
|
|
// @@
|
|
type ModelEnsembling_Step struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: string model_name
|
|
// @@
|
|
// @@ The name of the model to execute for this step of the ensemble.
|
|
// @@
|
|
ModelName string `protobuf:"bytes,1,opt,name=model_name,json=modelName,proto3" json:"model_name,omitempty"`
|
|
// @@ .. cpp:var:: int64 model_version
|
|
// @@
|
|
// @@ The version of the model to use for inference. If -1
|
|
// @@ the latest/most-recent version of the model is used.
|
|
// @@
|
|
ModelVersion int64 `protobuf:"varint,2,opt,name=model_version,json=modelVersion,proto3" json:"model_version,omitempty"`
|
|
// @@ .. cpp:var:: map<string,string> input_map
|
|
// @@
|
|
// @@ Map from name of an input tensor on this step's model to ensemble
|
|
// @@ tensor name. The ensemble tensor must have the same data type and
|
|
// @@ shape as the model input. Each model input must be assigned to
|
|
// @@ one ensemble tensor, but the same ensemble tensor can be assigned
|
|
// @@ to multiple model inputs.
|
|
// @@
|
|
InputMap map[string]string `protobuf:"bytes,3,rep,name=input_map,json=inputMap,proto3" json:"input_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
|
// @@ .. cpp:var:: map<string,string> output_map
|
|
// @@
|
|
// @@ Map from name of an output tensor on this step's model to ensemble
|
|
// @@ tensor name. The data type and shape of the ensemble tensor will
|
|
// @@ be inferred from the model output. It is optional to assign all
|
|
// @@ model outputs to ensemble tensors. One ensemble tensor name
|
|
// @@ can appear in an output map only once.
|
|
// @@
|
|
OutputMap map[string]string `protobuf:"bytes,4,rep,name=output_map,json=outputMap,proto3" json:"output_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
|
// @@ .. cpp:var:: string model_namespace
|
|
// @@
|
|
// @@ [RESERVED] currently this field is reserved for internal use, users
|
|
// @@ must not set any value to this field to avoid unexpected behavior.
|
|
// @@
|
|
ModelNamespace string `protobuf:"bytes,5,opt,name=model_namespace,json=modelNamespace,proto3" json:"model_namespace,omitempty"`
|
|
}
|
|
|
|
func (x *ModelEnsembling_Step) Reset() {
|
|
*x = ModelEnsembling_Step{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[43]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelEnsembling_Step) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelEnsembling_Step) ProtoMessage() {}
|
|
|
|
func (x *ModelEnsembling_Step) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[43]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelEnsembling_Step.ProtoReflect.Descriptor instead.
|
|
func (*ModelEnsembling_Step) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{12, 0}
|
|
}
|
|
|
|
func (x *ModelEnsembling_Step) GetModelName() string {
|
|
if x != nil {
|
|
return x.ModelName
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ModelEnsembling_Step) GetModelVersion() int64 {
|
|
if x != nil {
|
|
return x.ModelVersion
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *ModelEnsembling_Step) GetInputMap() map[string]string {
|
|
if x != nil {
|
|
return x.InputMap
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelEnsembling_Step) GetOutputMap() map[string]string {
|
|
if x != nil {
|
|
return x.OutputMap
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelEnsembling_Step) GetModelNamespace() string {
|
|
if x != nil {
|
|
return x.ModelNamespace
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// @@
|
|
// @@ .. cpp:var:: message Input
|
|
// @@
|
|
// @@ Meta data associated with an input.
|
|
// @@
|
|
type ModelWarmup_Input struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: DataType data_type
|
|
// @@
|
|
// @@ The data-type of the input.
|
|
// @@
|
|
DataType DataType `protobuf:"varint,1,opt,name=data_type,json=dataType,proto3,enum=inference.DataType" json:"data_type,omitempty"`
|
|
// @@ .. cpp:var:: int64 dims (repeated)
|
|
// @@
|
|
// @@ The shape of the input tensor, not including the batch dimension.
|
|
// @@
|
|
Dims []int64 `protobuf:"varint,2,rep,packed,name=dims,proto3" json:"dims,omitempty"`
|
|
// @@ .. cpp:var:: oneof input_data_type
|
|
// @@
|
|
// @@ Specify how the input data is generated. If the input has STRING
|
|
// @@ data type and 'random_data' is set, the data generation will fall
|
|
// @@ back to 'zero_data'.
|
|
// @@
|
|
//
|
|
// Types that are assignable to InputDataType:
|
|
//
|
|
// *ModelWarmup_Input_ZeroData
|
|
// *ModelWarmup_Input_RandomData
|
|
// *ModelWarmup_Input_InputDataFile
|
|
InputDataType isModelWarmup_Input_InputDataType `protobuf_oneof:"input_data_type"`
|
|
}
|
|
|
|
func (x *ModelWarmup_Input) Reset() {
|
|
*x = ModelWarmup_Input{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[46]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelWarmup_Input) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelWarmup_Input) ProtoMessage() {}
|
|
|
|
func (x *ModelWarmup_Input) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[46]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelWarmup_Input.ProtoReflect.Descriptor instead.
|
|
func (*ModelWarmup_Input) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{14, 0}
|
|
}
|
|
|
|
func (x *ModelWarmup_Input) GetDataType() DataType {
|
|
if x != nil {
|
|
return x.DataType
|
|
}
|
|
return DataType_TYPE_INVALID
|
|
}
|
|
|
|
func (x *ModelWarmup_Input) GetDims() []int64 {
|
|
if x != nil {
|
|
return x.Dims
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m *ModelWarmup_Input) GetInputDataType() isModelWarmup_Input_InputDataType {
|
|
if m != nil {
|
|
return m.InputDataType
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ModelWarmup_Input) GetZeroData() bool {
|
|
if x, ok := x.GetInputDataType().(*ModelWarmup_Input_ZeroData); ok {
|
|
return x.ZeroData
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ModelWarmup_Input) GetRandomData() bool {
|
|
if x, ok := x.GetInputDataType().(*ModelWarmup_Input_RandomData); ok {
|
|
return x.RandomData
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *ModelWarmup_Input) GetInputDataFile() string {
|
|
if x, ok := x.GetInputDataType().(*ModelWarmup_Input_InputDataFile); ok {
|
|
return x.InputDataFile
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type isModelWarmup_Input_InputDataType interface {
|
|
isModelWarmup_Input_InputDataType()
|
|
}
|
|
|
|
type ModelWarmup_Input_ZeroData struct {
|
|
// @@
|
|
// @@ .. cpp:var:: bool zero_data
|
|
// @@
|
|
// @@ The identifier for using zeros as input data. Note that the
|
|
// @@ value of 'zero_data' will not be checked, instead, zero data
|
|
// @@ will be used as long as the field is set.
|
|
// @@
|
|
ZeroData bool `protobuf:"varint,3,opt,name=zero_data,json=zeroData,proto3,oneof"`
|
|
}
|
|
|
|
type ModelWarmup_Input_RandomData struct {
|
|
// @@
|
|
// @@ .. cpp:var:: bool random_data
|
|
// @@
|
|
// @@ The identifier for using random data as input data. Note that
|
|
// @@ the value of 'random_data' will not be checked, instead,
|
|
// @@ random data will be used as long as the field is set.
|
|
// @@
|
|
RandomData bool `protobuf:"varint,4,opt,name=random_data,json=randomData,proto3,oneof"`
|
|
}
|
|
|
|
type ModelWarmup_Input_InputDataFile struct {
|
|
// @@ .. cpp:var:: string input_data_file
|
|
// @@
|
|
// @@ The file whose content will be used as raw input data in
|
|
// @@ row-major order. The file must be provided in a sub-directory
|
|
// @@ 'warmup' under the model directory. The file contents should be
|
|
// @@ in binary format. For TYPE_STRING data-type, an element is
|
|
// @@ represented by a 4-byte unsigned integer giving the length
|
|
// @@ followed by the actual bytes.
|
|
// @@
|
|
InputDataFile string `protobuf:"bytes,5,opt,name=input_data_file,json=inputDataFile,proto3,oneof"`
|
|
}
|
|
|
|
func (*ModelWarmup_Input_ZeroData) isModelWarmup_Input_InputDataType() {}
|
|
|
|
func (*ModelWarmup_Input_RandomData) isModelWarmup_Input_InputDataType() {}
|
|
|
|
func (*ModelWarmup_Input_InputDataFile) isModelWarmup_Input_InputDataType() {}
|
|
|
|
// @@
|
|
// @@ .. cpp:var:: message Agent
|
|
// @@
|
|
// @@ A repository agent that should be invoked for the specified
|
|
// @@ repository actions for this model.
|
|
// @@
|
|
type ModelRepositoryAgents_Agent struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// @@ .. cpp:var:: string name
|
|
// @@
|
|
// @@ The name of the agent.
|
|
// @@
|
|
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
|
// @@ .. cpp:var:: map<string, string> parameters
|
|
// @@
|
|
// @@ The parameters for the agent.
|
|
// @@
|
|
Parameters map[string]string `protobuf:"bytes,2,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
|
}
|
|
|
|
func (x *ModelRepositoryAgents_Agent) Reset() {
|
|
*x = ModelRepositoryAgents_Agent{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_model_config_proto_msgTypes[48]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ModelRepositoryAgents_Agent) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ModelRepositoryAgents_Agent) ProtoMessage() {}
|
|
|
|
func (x *ModelRepositoryAgents_Agent) ProtoReflect() protoreflect.Message {
|
|
mi := &file_model_config_proto_msgTypes[48]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ModelRepositoryAgents_Agent.ProtoReflect.Descriptor instead.
|
|
func (*ModelRepositoryAgents_Agent) Descriptor() ([]byte, []int) {
|
|
return file_model_config_proto_rawDescGZIP(), []int{17, 0}
|
|
}
|
|
|
|
func (x *ModelRepositoryAgents_Agent) GetName() string {
|
|
if x != nil {
|
|
return x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ModelRepositoryAgents_Agent) GetParameters() map[string]string {
|
|
if x != nil {
|
|
return x.Parameters
|
|
}
|
|
return nil
|
|
}
|
|
|
|
var File_model_config_proto protoreflect.FileDescriptor
|
|
|
|
var file_model_config_proto_rawDesc = []byte{
|
|
0x0a, 0x12, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70,
|
|
0x72, 0x6f, 0x74, 0x6f, 0x12, 0x09, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22,
|
|
0xc0, 0x01, 0x0a, 0x10, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d,
|
|
0x69, 0x74, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
|
|
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65,
|
|
0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d,
|
|
0x69, 0x74, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x72,
|
|
0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f,
|
|
0x72, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f,
|
|
0x72, 0x69, 0x74, 0x79, 0x1a, 0x4c, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
|
|
0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
|
|
0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x18, 0x02,
|
|
0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05,
|
|
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75,
|
|
0x6e, 0x74, 0x22, 0xed, 0x04, 0x0a, 0x12, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x6e, 0x73, 0x74,
|
|
0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
|
|
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a,
|
|
0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x69, 0x6e,
|
|
0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x6e, 0x73,
|
|
0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52,
|
|
0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02,
|
|
0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x0c, 0x72,
|
|
0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28,
|
|
0x0b, 0x32, 0x1b, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f,
|
|
0x64, 0x65, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x52, 0x0b,
|
|
0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x67,
|
|
0x70, 0x75, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x04, 0x67, 0x70, 0x75, 0x73, 0x12,
|
|
0x5a, 0x0a, 0x11, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x64, 0x65, 0x76,
|
|
0x69, 0x63, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6e, 0x66,
|
|
0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x6e, 0x73, 0x74,
|
|
0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64,
|
|
0x61, 0x72, 0x79, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x10, 0x73, 0x65, 0x63, 0x6f, 0x6e,
|
|
0x64, 0x61, 0x72, 0x79, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70,
|
|
0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72,
|
|
0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65,
|
|
0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x12,
|
|
0x1f, 0x0a, 0x0b, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x09,
|
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x68, 0x6f, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
|
|
0x1a, 0xac, 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x44, 0x65,
|
|
0x76, 0x69, 0x63, 0x65, 0x12, 0x55, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01,
|
|
0x28, 0x0e, 0x32, 0x41, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d,
|
|
0x6f, 0x64, 0x65, 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75,
|
|
0x70, 0x2e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x44, 0x65, 0x76, 0x69, 0x63,
|
|
0x65, 0x2e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x44, 0x65, 0x76, 0x69, 0x63,
|
|
0x65, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64,
|
|
0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08,
|
|
0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x22, 0x25, 0x0a, 0x13, 0x53, 0x65, 0x63, 0x6f,
|
|
0x6e, 0x64, 0x61, 0x72, 0x79, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x12,
|
|
0x0e, 0x0a, 0x0a, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x4e, 0x56, 0x44, 0x4c, 0x41, 0x10, 0x00, 0x22,
|
|
0x41, 0x0a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x0d, 0x0a, 0x09, 0x4b, 0x49, 0x4e, 0x44, 0x5f,
|
|
0x41, 0x55, 0x54, 0x4f, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x47,
|
|
0x50, 0x55, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x43, 0x50, 0x55,
|
|
0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x4c,
|
|
0x10, 0x03, 0x22, 0x2a, 0x0a, 0x12, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x54, 0x65, 0x6e, 0x73, 0x6f,
|
|
0x72, 0x52, 0x65, 0x73, 0x68, 0x61, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x70,
|
|
0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x05, 0x73, 0x68, 0x61, 0x70, 0x65, 0x22, 0x84,
|
|
0x03, 0x0a, 0x0a, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a,
|
|
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
|
|
0x65, 0x12, 0x30, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02,
|
|
0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
|
|
0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x54,
|
|
0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03, 0x20,
|
|
0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e,
|
|
0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61,
|
|
0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x69, 0x6d,
|
|
0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x03, 0x52, 0x04, 0x64, 0x69, 0x6d, 0x73, 0x12, 0x37, 0x0a,
|
|
0x07, 0x72, 0x65, 0x73, 0x68, 0x61, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d,
|
|
0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
|
|
0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x68, 0x61, 0x70, 0x65, 0x52, 0x07, 0x72,
|
|
0x65, 0x73, 0x68, 0x61, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x61,
|
|
0x70, 0x65, 0x5f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52,
|
|
0x0d, 0x69, 0x73, 0x53, 0x68, 0x61, 0x70, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x2c,
|
|
0x0a, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x72, 0x61, 0x67, 0x67, 0x65, 0x64, 0x5f, 0x62,
|
|
0x61, 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f,
|
|
0x77, 0x52, 0x61, 0x67, 0x67, 0x65, 0x64, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1a, 0x0a, 0x08,
|
|
0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08,
|
|
0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x22, 0x3b, 0x0a, 0x06, 0x46, 0x6f, 0x72, 0x6d,
|
|
0x61, 0x74, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x4e, 0x4f, 0x4e,
|
|
0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x4e, 0x48,
|
|
0x57, 0x43, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x4e,
|
|
0x43, 0x48, 0x57, 0x10, 0x02, 0x22, 0xef, 0x01, 0x0a, 0x0b, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f,
|
|
0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
|
|
0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x09, 0x64, 0x61, 0x74,
|
|
0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x69,
|
|
0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70,
|
|
0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64,
|
|
0x69, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x03, 0x52, 0x04, 0x64, 0x69, 0x6d, 0x73, 0x12,
|
|
0x37, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x68, 0x61, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
|
|
0x32, 0x1d, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64,
|
|
0x65, 0x6c, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x68, 0x61, 0x70, 0x65, 0x52,
|
|
0x07, 0x72, 0x65, 0x73, 0x68, 0x61, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61, 0x62, 0x65,
|
|
0x6c, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
|
|
0x52, 0x0d, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12,
|
|
0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x61, 0x70, 0x65, 0x5f, 0x74, 0x65, 0x6e, 0x73,
|
|
0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x53, 0x68, 0x61, 0x70,
|
|
0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x22, 0x82, 0x03, 0x0a, 0x0a, 0x42, 0x61, 0x74, 0x63,
|
|
0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01,
|
|
0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
|
|
0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x2e, 0x4b, 0x69, 0x6e, 0x64,
|
|
0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
|
|
0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x61, 0x72,
|
|
0x67, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f,
|
|
0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x69, 0x6e, 0x66,
|
|
0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52,
|
|
0x08, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6f, 0x75,
|
|
0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52,
|
|
0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x22, 0xcd, 0x01, 0x0a,
|
|
0x04, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x17, 0x0a, 0x13, 0x42, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x45,
|
|
0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x00, 0x12, 0x23,
|
|
0x0a, 0x1f, 0x42, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x41, 0x43, 0x43, 0x55, 0x4d, 0x55, 0x4c, 0x41,
|
|
0x54, 0x45, 0x44, 0x5f, 0x45, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x4f, 0x55, 0x4e,
|
|
0x54, 0x10, 0x01, 0x12, 0x2d, 0x0a, 0x29, 0x42, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x41, 0x43, 0x43,
|
|
0x55, 0x4d, 0x55, 0x4c, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x45, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54,
|
|
0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x5a, 0x45, 0x52, 0x4f,
|
|
0x10, 0x02, 0x12, 0x24, 0x0a, 0x20, 0x42, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x4d, 0x41, 0x58, 0x5f,
|
|
0x45, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x41, 0x53,
|
|
0x5f, 0x53, 0x48, 0x41, 0x50, 0x45, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x42, 0x41, 0x54, 0x43,
|
|
0x48, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x53, 0x48, 0x41, 0x50, 0x45, 0x10, 0x04, 0x12, 0x1c,
|
|
0x0a, 0x18, 0x42, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x53, 0x48, 0x41,
|
|
0x50, 0x45, 0x5f, 0x46, 0x4c, 0x41, 0x54, 0x54, 0x45, 0x4e, 0x10, 0x05, 0x22, 0xae, 0x01, 0x0a,
|
|
0x0b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x1f, 0x0a, 0x0b,
|
|
0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28,
|
|
0x09, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a,
|
|
0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x69, 0x6e,
|
|
0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74,
|
|
0x70, 0x75, 0x74, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x21,
|
|
0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x03,
|
|
0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x70, 0x75,
|
|
0x74, 0x22, 0x2a, 0x0a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x22, 0x0a, 0x1e, 0x42, 0x41, 0x54,
|
|
0x43, 0x48, 0x5f, 0x53, 0x43, 0x41, 0x54, 0x54, 0x45, 0x52, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f,
|
|
0x49, 0x4e, 0x50, 0x55, 0x54, 0x5f, 0x53, 0x48, 0x41, 0x50, 0x45, 0x10, 0x00, 0x22, 0xbe, 0x02,
|
|
0x0a, 0x12, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x6f,
|
|
0x6c, 0x69, 0x63, 0x79, 0x12, 0x3e, 0x0a, 0x06, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x18, 0x01,
|
|
0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
|
|
0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c,
|
|
0x69, 0x63, 0x79, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x6c, 0x61,
|
|
0x74, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x03, 0x61, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28,
|
|
0x0b, 0x32, 0x21, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f,
|
|
0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
|
|
0x2e, 0x41, 0x6c, 0x6c, 0x48, 0x00, 0x52, 0x03, 0x61, 0x6c, 0x6c, 0x12, 0x44, 0x0a, 0x08, 0x73,
|
|
0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e,
|
|
0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56,
|
|
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x53, 0x70, 0x65,
|
|
0x63, 0x69, 0x66, 0x69, 0x63, 0x48, 0x00, 0x52, 0x08, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69,
|
|
0x63, 0x1a, 0x2b, 0x0a, 0x06, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6e,
|
|
0x75, 0x6d, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
|
|
0x0d, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x05,
|
|
0x0a, 0x03, 0x41, 0x6c, 0x6c, 0x1a, 0x26, 0x0a, 0x08, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69,
|
|
0x63, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20,
|
|
0x03, 0x28, 0x03, 0x52, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x0f, 0x0a,
|
|
0x0d, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0xe6,
|
|
0x10, 0x0a, 0x17, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61,
|
|
0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3e, 0x0a, 0x05, 0x67, 0x72,
|
|
0x61, 0x70, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69, 0x6e, 0x66, 0x65,
|
|
0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6d,
|
|
0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x47, 0x72,
|
|
0x61, 0x70, 0x68, 0x52, 0x05, 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x4c, 0x0a, 0x08, 0x70, 0x72,
|
|
0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x69,
|
|
0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70,
|
|
0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
|
|
0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08,
|
|
0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x3b, 0x0a, 0x04, 0x63, 0x75, 0x64, 0x61,
|
|
0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e,
|
|
0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61,
|
|
0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x43, 0x75, 0x64, 0x61, 0x52,
|
|
0x04, 0x63, 0x75, 0x64, 0x61, 0x12, 0x6f, 0x0a, 0x16, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69,
|
|
0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18,
|
|
0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63,
|
|
0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74,
|
|
0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74,
|
|
0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52,
|
|
0x15, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65,
|
|
0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x65, 0x0a, 0x13, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f,
|
|
0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x05, 0x20,
|
|
0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e,
|
|
0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
|
|
0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x4d, 0x65,
|
|
0x6d, 0x6f, 0x72, 0x79, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x52, 0x11, 0x69, 0x6e, 0x70, 0x75,
|
|
0x74, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x67, 0x0a,
|
|
0x14, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x6d,
|
|
0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6e,
|
|
0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x74,
|
|
0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e,
|
|
0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x42, 0x75, 0x66, 0x66,
|
|
0x65, 0x72, 0x52, 0x12, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64,
|
|
0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x43, 0x0a, 0x1e, 0x67, 0x61, 0x74, 0x68, 0x65, 0x72,
|
|
0x5f, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x74,
|
|
0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1b,
|
|
0x67, 0x61, 0x74, 0x68, 0x65, 0x72, 0x4b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x42, 0x75, 0x66, 0x66,
|
|
0x65, 0x72, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65,
|
|
0x61, 0x67, 0x65, 0x72, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20,
|
|
0x01, 0x28, 0x08, 0x52, 0x0d, 0x65, 0x61, 0x67, 0x65, 0x72, 0x42, 0x61, 0x74, 0x63, 0x68, 0x69,
|
|
0x6e, 0x67, 0x1a, 0x1d, 0x0a, 0x05, 0x47, 0x72, 0x61, 0x70, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x6c,
|
|
0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65,
|
|
0x6c, 0x1a, 0xc1, 0x06, 0x0a, 0x04, 0x43, 0x75, 0x64, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x72,
|
|
0x61, 0x70, 0x68, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x67, 0x72, 0x61, 0x70,
|
|
0x68, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x62, 0x75, 0x73, 0x79, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f,
|
|
0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x62, 0x75,
|
|
0x73, 0x79, 0x57, 0x61, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x50, 0x0a, 0x0a,
|
|
0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
|
|
0x32, 0x31, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64,
|
|
0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f,
|
|
0x6c, 0x69, 0x63, 0x79, 0x2e, 0x43, 0x75, 0x64, 0x61, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x53,
|
|
0x70, 0x65, 0x63, 0x52, 0x09, 0x67, 0x72, 0x61, 0x70, 0x68, 0x53, 0x70, 0x65, 0x63, 0x12, 0x2c,
|
|
0x0a, 0x12, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x73, 0x74,
|
|
0x72, 0x65, 0x61, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x6f, 0x75, 0x74, 0x70,
|
|
0x75, 0x74, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x1a, 0xf6, 0x04, 0x0a,
|
|
0x09, 0x47, 0x72, 0x61, 0x70, 0x68, 0x53, 0x70, 0x65, 0x63, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61,
|
|
0x74, 0x63, 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09,
|
|
0x62, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x52, 0x0a, 0x05, 0x69, 0x6e, 0x70,
|
|
0x75, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72,
|
|
0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69,
|
|
0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x43, 0x75, 0x64,
|
|
0x61, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x49, 0x6e, 0x70, 0x75,
|
|
0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x68, 0x0a,
|
|
0x11, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x62, 0x6f, 0x75,
|
|
0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72,
|
|
0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69,
|
|
0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x43, 0x75, 0x64,
|
|
0x61, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x4c, 0x6f, 0x77, 0x65,
|
|
0x72, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x0f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4c, 0x6f, 0x77,
|
|
0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x1a, 0x19, 0x0a, 0x05, 0x53, 0x68, 0x61, 0x70, 0x65,
|
|
0x12, 0x10, 0x0a, 0x03, 0x64, 0x69, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x03, 0x64,
|
|
0x69, 0x6d, 0x1a, 0xfd, 0x01, 0x0a, 0x0a, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e,
|
|
0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18,
|
|
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x7a, 0x65,
|
|
0x12, 0x5d, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
|
0x47, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65,
|
|
0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c,
|
|
0x69, 0x63, 0x79, 0x2e, 0x43, 0x75, 0x64, 0x61, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x53, 0x70,
|
|
0x65, 0x63, 0x2e, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x49, 0x6e,
|
|
0x70, 0x75, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x1a,
|
|
0x71, 0x0a, 0x0a, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
|
|
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
|
|
0x4d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37,
|
|
0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
|
|
0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69,
|
|
0x63, 0x79, 0x2e, 0x43, 0x75, 0x64, 0x61, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x53, 0x70, 0x65,
|
|
0x63, 0x2e, 0x53, 0x68, 0x61, 0x70, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
|
|
0x38, 0x01, 0x1a, 0x71, 0x0a, 0x0a, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79,
|
|
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
|
|
0x65, 0x79, 0x12, 0x4d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
|
|
0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f,
|
|
0x64, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50,
|
|
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x43, 0x75, 0x64, 0x61, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68,
|
|
0x53, 0x70, 0x65, 0x63, 0x2e, 0x53, 0x68, 0x61, 0x70, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
|
|
0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xf6, 0x03, 0x0a, 0x15, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74,
|
|
0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12,
|
|
0x80, 0x01, 0x0a, 0x19, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f,
|
|
0x6e, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20,
|
|
0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e,
|
|
0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
|
|
0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f,
|
|
0x6e, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x41, 0x63,
|
|
0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x17, 0x67, 0x70, 0x75, 0x45, 0x78,
|
|
0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74,
|
|
0x6f, 0x72, 0x12, 0x80, 0x01, 0x0a, 0x19, 0x63, 0x70, 0x75, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75,
|
|
0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72,
|
|
0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e,
|
|
0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61,
|
|
0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75,
|
|
0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73,
|
|
0x2e, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x17, 0x63, 0x70,
|
|
0x75, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65,
|
|
0x72, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0xd6, 0x01, 0x0a, 0x0b, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65,
|
|
0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
|
|
0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x74, 0x0a, 0x0a, 0x70, 0x61, 0x72,
|
|
0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x54, 0x2e,
|
|
0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f,
|
|
0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63,
|
|
0x79, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x6c,
|
|
0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61,
|
|
0x74, 0x6f, 0x72, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e,
|
|
0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x1a,
|
|
0x3d, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74,
|
|
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
|
0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
|
|
0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x2c,
|
|
0x0a, 0x12, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x42, 0x75,
|
|
0x66, 0x66, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01,
|
|
0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x49, 0x0a, 0x0d,
|
|
0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a,
|
|
0x10, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c,
|
|
0x54, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f,
|
|
0x4d, 0x41, 0x58, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54,
|
|
0x59, 0x5f, 0x4d, 0x49, 0x4e, 0x10, 0x02, 0x22, 0xaa, 0x02, 0x0a, 0x10, 0x4d, 0x6f, 0x64, 0x65,
|
|
0x6c, 0x51, 0x75, 0x65, 0x75, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x50, 0x0a, 0x0e,
|
|
0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01,
|
|
0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
|
|
0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x51, 0x75, 0x65, 0x75, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63,
|
|
0x79, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52,
|
|
0x0d, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40,
|
|
0x0a, 0x1c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75,
|
|
0x74, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x02,
|
|
0x20, 0x01, 0x28, 0x04, 0x52, 0x1a, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x69, 0x6d,
|
|
0x65, 0x6f, 0x75, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73,
|
|
0x12, 0x34, 0x0a, 0x16, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75,
|
|
0x74, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
|
|
0x52, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x4f, 0x76,
|
|
0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x71, 0x75,
|
|
0x65, 0x75, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c,
|
|
0x6d, 0x61, 0x78, 0x51, 0x75, 0x65, 0x75, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x26, 0x0a, 0x0d,
|
|
0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0a, 0x0a,
|
|
0x06, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x45, 0x4c,
|
|
0x41, 0x59, 0x10, 0x01, 0x22, 0xb7, 0x04, 0x0a, 0x14, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x79,
|
|
0x6e, 0x61, 0x6d, 0x69, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x30, 0x0a,
|
|
0x14, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68,
|
|
0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x12, 0x70, 0x72, 0x65,
|
|
0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x7a, 0x65, 0x12,
|
|
0x3f, 0x0a, 0x1c, 0x6d, 0x61, 0x78, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x64, 0x65, 0x6c,
|
|
0x61, 0x79, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18,
|
|
0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x19, 0x6d, 0x61, 0x78, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44,
|
|
0x65, 0x6c, 0x61, 0x79, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73,
|
|
0x12, 0x2b, 0x0a, 0x11, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x64,
|
|
0x65, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x70, 0x72, 0x65,
|
|
0x73, 0x65, 0x72, 0x76, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x27, 0x0a,
|
|
0x0f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x73,
|
|
0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79,
|
|
0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c,
|
|
0x74, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c,
|
|
0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50,
|
|
0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x4d, 0x0a, 0x14,
|
|
0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x70, 0x6f,
|
|
0x6c, 0x69, 0x63, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x69, 0x6e, 0x66,
|
|
0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x51, 0x75, 0x65, 0x75,
|
|
0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
|
|
0x51, 0x75, 0x65, 0x75, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x6c, 0x0a, 0x15, 0x70,
|
|
0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x70, 0x6f,
|
|
0x6c, 0x69, 0x63, 0x79, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6e, 0x66,
|
|
0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x79, 0x6e, 0x61,
|
|
0x6d, 0x69, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x72, 0x69, 0x6f,
|
|
0x72, 0x69, 0x74, 0x79, 0x51, 0x75, 0x65, 0x75, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x45,
|
|
0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x51, 0x75,
|
|
0x65, 0x75, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x63, 0x0a, 0x18, 0x50, 0x72, 0x69,
|
|
0x6f, 0x72, 0x69, 0x74, 0x79, 0x51, 0x75, 0x65, 0x75, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
|
|
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
|
|
0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
|
|
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e,
|
|
0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x51, 0x75, 0x65, 0x75, 0x65, 0x50, 0x6f, 0x6c,
|
|
0x69, 0x63, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x85,
|
|
0x0d, 0x0a, 0x15, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65,
|
|
0x42, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x49, 0x0a, 0x06, 0x64, 0x69, 0x72, 0x65,
|
|
0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72,
|
|
0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e,
|
|
0x63, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74, 0x72, 0x61, 0x74,
|
|
0x65, 0x67, 0x79, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x06, 0x64, 0x69, 0x72,
|
|
0x65, 0x63, 0x74, 0x12, 0x49, 0x0a, 0x06, 0x6f, 0x6c, 0x64, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20,
|
|
0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e,
|
|
0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x61, 0x74,
|
|
0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x4f, 0x6c,
|
|
0x64, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x6c, 0x64, 0x65, 0x73, 0x74, 0x12, 0x43,
|
|
0x0a, 0x1e, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69,
|
|
0x64, 0x6c, 0x65, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73,
|
|
0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1b, 0x6d, 0x61, 0x78, 0x53, 0x65, 0x71, 0x75, 0x65,
|
|
0x6e, 0x63, 0x65, 0x49, 0x64, 0x6c, 0x65, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f,
|
|
0x6e, 0x64, 0x73, 0x12, 0x52, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x69,
|
|
0x6e, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x69, 0x6e, 0x66,
|
|
0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x65, 0x71, 0x75,
|
|
0x65, 0x6e, 0x63, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x6f, 0x6e,
|
|
0x74, 0x72, 0x6f, 0x6c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72,
|
|
0x6f, 0x6c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x3c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65,
|
|
0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e,
|
|
0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65,
|
|
0x42, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05,
|
|
0x73, 0x74, 0x61, 0x74, 0x65, 0x1a, 0xef, 0x02, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
|
|
0x6c, 0x12, 0x41, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
|
|
0x2d, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65,
|
|
0x6c, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e,
|
|
0x67, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04,
|
|
0x6b, 0x69, 0x6e, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x66, 0x61,
|
|
0x6c, 0x73, 0x65, 0x5f, 0x74, 0x72, 0x75, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0e,
|
|
0x69, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x61, 0x6c, 0x73, 0x65, 0x54, 0x72, 0x75, 0x65, 0x12, 0x26,
|
|
0x0a, 0x0f, 0x66, 0x70, 0x33, 0x32, 0x5f, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x5f, 0x74, 0x72, 0x75,
|
|
0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0d, 0x66, 0x70, 0x33, 0x32, 0x46, 0x61, 0x6c,
|
|
0x73, 0x65, 0x54, 0x72, 0x75, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x66,
|
|
0x61, 0x6c, 0x73, 0x65, 0x5f, 0x74, 0x72, 0x75, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x08, 0x52,
|
|
0x0d, 0x62, 0x6f, 0x6f, 0x6c, 0x46, 0x61, 0x6c, 0x73, 0x65, 0x54, 0x72, 0x75, 0x65, 0x12, 0x30,
|
|
0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
|
|
0x0e, 0x32, 0x13, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x44, 0x61,
|
|
0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65,
|
|
0x22, 0x75, 0x0a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x4f, 0x4e, 0x54,
|
|
0x52, 0x4f, 0x4c, 0x5f, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41,
|
|
0x52, 0x54, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f,
|
|
0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x01,
|
|
0x12, 0x18, 0x0a, 0x14, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x53, 0x45, 0x51, 0x55,
|
|
0x45, 0x4e, 0x43, 0x45, 0x5f, 0x45, 0x4e, 0x44, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f,
|
|
0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x43,
|
|
0x4f, 0x52, 0x52, 0x49, 0x44, 0x10, 0x03, 0x1a, 0x66, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x72,
|
|
0x6f, 0x6c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
|
|
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x07, 0x63,
|
|
0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x69,
|
|
0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x65,
|
|
0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x43,
|
|
0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x1a,
|
|
0xb4, 0x01, 0x0a, 0x0c, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65,
|
|
0x12, 0x30, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20,
|
|
0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e,
|
|
0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79,
|
|
0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x69, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03,
|
|
0x52, 0x04, 0x64, 0x69, 0x6d, 0x73, 0x12, 0x1d, 0x0a, 0x09, 0x7a, 0x65, 0x72, 0x6f, 0x5f, 0x64,
|
|
0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, 0x7a, 0x65, 0x72,
|
|
0x6f, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x69,
|
|
0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61,
|
|
0x46, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01,
|
|
0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74,
|
|
0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x1a, 0xe1, 0x01, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65,
|
|
0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
|
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12,
|
|
0x1f, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02,
|
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x4e, 0x61, 0x6d, 0x65,
|
|
0x12, 0x30, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20,
|
|
0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e,
|
|
0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79,
|
|
0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x69, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x03,
|
|
0x52, 0x04, 0x64, 0x69, 0x6d, 0x73, 0x12, 0x52, 0x0a, 0x0d, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61,
|
|
0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e,
|
|
0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53,
|
|
0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e,
|
|
0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x69, 0x6e,
|
|
0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x1a, 0x8b, 0x01, 0x0a, 0x0e, 0x53,
|
|
0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x3f, 0x0a,
|
|
0x1c, 0x6d, 0x61, 0x78, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79,
|
|
0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20,
|
|
0x01, 0x28, 0x04, 0x52, 0x19, 0x6d, 0x61, 0x78, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x6c,
|
|
0x61, 0x79, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x38,
|
|
0x0a, 0x18, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x75,
|
|
0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02,
|
|
0x52, 0x16, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x53, 0x6c, 0x6f, 0x74, 0x55, 0x74, 0x69,
|
|
0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xe8, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x72,
|
|
0x61, 0x74, 0x65, 0x67, 0x79, 0x4f, 0x6c, 0x64, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x17, 0x6d,
|
|
0x61, 0x78, 0x5f, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x71,
|
|
0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x6d, 0x61,
|
|
0x78, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e,
|
|
0x63, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64,
|
|
0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28,
|
|
0x05, 0x52, 0x12, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x42, 0x61, 0x74, 0x63,
|
|
0x68, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x3f, 0x0a, 0x1c, 0x6d, 0x61, 0x78, 0x5f, 0x71, 0x75, 0x65,
|
|
0x75, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65,
|
|
0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x19, 0x6d, 0x61, 0x78,
|
|
0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73,
|
|
0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72,
|
|
0x76, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28,
|
|
0x08, 0x52, 0x10, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72,
|
|
0x69, 0x6e, 0x67, 0x42, 0x11, 0x0a, 0x0f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x5f,
|
|
0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0xd2, 0x03, 0x0a, 0x0f, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
|
|
0x45, 0x6e, 0x73, 0x65, 0x6d, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x33, 0x0a, 0x04, 0x73, 0x74,
|
|
0x65, 0x70, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72,
|
|
0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x6e, 0x73, 0x65, 0x6d, 0x62,
|
|
0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x1a,
|
|
0x89, 0x03, 0x0a, 0x04, 0x53, 0x74, 0x65, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x64, 0x65,
|
|
0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f,
|
|
0x64, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
|
|
0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c,
|
|
0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x09,
|
|
0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
|
0x2d, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65,
|
|
0x6c, 0x45, 0x6e, 0x73, 0x65, 0x6d, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74, 0x65, 0x70,
|
|
0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08,
|
|
0x69, 0x6e, 0x70, 0x75, 0x74, 0x4d, 0x61, 0x70, 0x12, 0x4d, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x70,
|
|
0x75, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x69,
|
|
0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x6e,
|
|
0x73, 0x65, 0x6d, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x2e, 0x4f, 0x75,
|
|
0x74, 0x70, 0x75, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x6f, 0x75,
|
|
0x74, 0x70, 0x75, 0x74, 0x4d, 0x61, 0x70, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
|
|
0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
|
|
0x52, 0x0e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65,
|
|
0x1a, 0x3b, 0x0a, 0x0d, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72,
|
|
0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
|
|
0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
|
|
0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3c, 0x0a,
|
|
0x0e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
|
|
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
|
|
0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
|
|
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x33, 0x0a, 0x0e, 0x4d,
|
|
0x6f, 0x64, 0x65, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x21, 0x0a,
|
|
0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20,
|
|
0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65,
|
|
0x22, 0xba, 0x03, 0x0a, 0x0b, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x57, 0x61, 0x72, 0x6d, 0x75, 0x70,
|
|
0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
|
|
0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x69,
|
|
0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x53,
|
|
0x69, 0x7a, 0x65, 0x12, 0x3a, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x03, 0x20,
|
|
0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e,
|
|
0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x57, 0x61, 0x72, 0x6d, 0x75, 0x70, 0x2e, 0x49, 0x6e, 0x70, 0x75,
|
|
0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12,
|
|
0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05,
|
|
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0xcc, 0x01, 0x0a, 0x05, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12,
|
|
0x30, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01,
|
|
0x28, 0x0e, 0x32, 0x13, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x44,
|
|
0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70,
|
|
0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x69, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52,
|
|
0x04, 0x64, 0x69, 0x6d, 0x73, 0x12, 0x1d, 0x0a, 0x09, 0x7a, 0x65, 0x72, 0x6f, 0x5f, 0x64, 0x61,
|
|
0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, 0x7a, 0x65, 0x72, 0x6f,
|
|
0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x5f, 0x64,
|
|
0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x61, 0x6e,
|
|
0x64, 0x6f, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x6e, 0x70, 0x75, 0x74,
|
|
0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
|
|
0x48, 0x00, 0x52, 0x0d, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x44, 0x61, 0x74, 0x61, 0x46, 0x69, 0x6c,
|
|
0x65, 0x42, 0x11, 0x0a, 0x0f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f,
|
|
0x74, 0x79, 0x70, 0x65, 0x1a, 0x57, 0x0a, 0x0b, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x45, 0x6e,
|
|
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
|
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
|
|
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
|
|
0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x57, 0x61, 0x72, 0x6d, 0x75, 0x70, 0x2e, 0x49, 0x6e, 0x70,
|
|
0x75, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x41, 0x0a,
|
|
0x0f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
|
|
0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x70, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x5f, 0x66,
|
|
0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x6f,
|
|
0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65,
|
|
0x22, 0x36, 0x0a, 0x16, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63,
|
|
0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65,
|
|
0x63, 0x6f, 0x75, 0x70, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x64,
|
|
0x65, 0x63, 0x6f, 0x75, 0x70, 0x6c, 0x65, 0x64, 0x22, 0x8c, 0x02, 0x0a, 0x15, 0x4d, 0x6f, 0x64,
|
|
0x65, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x67, 0x65, 0x6e,
|
|
0x74, 0x73, 0x12, 0x3e, 0x0a, 0x06, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03,
|
|
0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d,
|
|
0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x67,
|
|
0x65, 0x6e, 0x74, 0x73, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x67, 0x65, 0x6e,
|
|
0x74, 0x73, 0x1a, 0xb2, 0x01, 0x0a, 0x05, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04,
|
|
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
|
|
0x12, 0x56, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02,
|
|
0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
|
|
0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79,
|
|
0x41, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x72,
|
|
0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x61,
|
|
0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x61,
|
|
0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
|
|
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
|
|
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61,
|
|
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x2c, 0x0a, 0x12, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
|
|
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x16, 0x0a,
|
|
0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65,
|
|
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x22, 0xa4, 0x0d, 0x0a, 0x0b, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x43,
|
|
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
|
|
0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61,
|
|
0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61,
|
|
0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64,
|
|
0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x12,
|
|
0x44, 0x0a, 0x0e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63,
|
|
0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65,
|
|
0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
|
|
0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50,
|
|
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x61, 0x74,
|
|
0x63, 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6d,
|
|
0x61, 0x78, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2b, 0x0a, 0x05, 0x69,
|
|
0x6e, 0x70, 0x75, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x69, 0x6e, 0x66,
|
|
0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x6e, 0x70, 0x75,
|
|
0x74, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x2e, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70,
|
|
0x75, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72,
|
|
0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74,
|
|
0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x36, 0x0a, 0x0b, 0x62, 0x61, 0x74, 0x63,
|
|
0x68, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e,
|
|
0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49,
|
|
0x6e, 0x70, 0x75, 0x74, 0x52, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74,
|
|
0x12, 0x39, 0x0a, 0x0c, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
|
|
0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e,
|
|
0x63, 0x65, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x0b,
|
|
0x62, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x46, 0x0a, 0x0c, 0x6f,
|
|
0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28,
|
|
0x0b, 0x32, 0x22, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f,
|
|
0x64, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50,
|
|
0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0c, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74,
|
|
0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x10, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x62,
|
|
0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e,
|
|
0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44,
|
|
0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x48, 0x00,
|
|
0x52, 0x0f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e,
|
|
0x67, 0x12, 0x4f, 0x0a, 0x11, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x62, 0x61,
|
|
0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x69,
|
|
0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x65,
|
|
0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x48, 0x00,
|
|
0x52, 0x10, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x69,
|
|
0x6e, 0x67, 0x12, 0x4d, 0x0a, 0x13, 0x65, 0x6e, 0x73, 0x65, 0x6d, 0x62, 0x6c, 0x65, 0x5f, 0x73,
|
|
0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
|
0x1a, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65,
|
|
0x6c, 0x45, 0x6e, 0x73, 0x65, 0x6d, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x12, 0x65,
|
|
0x6e, 0x73, 0x65, 0x6d, 0x62, 0x6c, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e,
|
|
0x67, 0x12, 0x44, 0x0a, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72,
|
|
0x6f, 0x75, 0x70, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x69, 0x6e, 0x66, 0x65,
|
|
0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x61,
|
|
0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e,
|
|
0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x34, 0x0a, 0x16, 0x64, 0x65, 0x66, 0x61, 0x75,
|
|
0x6c, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d,
|
|
0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
|
|
0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x5a, 0x0a,
|
|
0x12, 0x63, 0x63, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61,
|
|
0x6d, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x6e, 0x66, 0x65,
|
|
0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69,
|
|
0x67, 0x2e, 0x43, 0x63, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d,
|
|
0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x63, 0x63, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
|
|
0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x0b, 0x6d, 0x65, 0x74,
|
|
0x72, 0x69, 0x63, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26,
|
|
0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
|
|
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x61, 0x67,
|
|
0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x61,
|
|
0x67, 0x73, 0x12, 0x46, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73,
|
|
0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e,
|
|
0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50,
|
|
0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a,
|
|
0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x39, 0x0a, 0x0c, 0x6d, 0x6f,
|
|
0x64, 0x65, 0x6c, 0x5f, 0x77, 0x61, 0x72, 0x6d, 0x75, 0x70, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b,
|
|
0x32, 0x16, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64,
|
|
0x65, 0x6c, 0x57, 0x61, 0x72, 0x6d, 0x75, 0x70, 0x52, 0x0b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x57,
|
|
0x61, 0x72, 0x6d, 0x75, 0x70, 0x12, 0x45, 0x0a, 0x10, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6f,
|
|
0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
|
0x1a, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65,
|
|
0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0f, 0x6d, 0x6f, 0x64,
|
|
0x65, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5b, 0x0a, 0x18,
|
|
0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f,
|
|
0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21,
|
|
0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
|
|
0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63,
|
|
0x79, 0x52, 0x16, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74,
|
|
0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x58, 0x0a, 0x17, 0x6d, 0x6f, 0x64,
|
|
0x65, 0x6c, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x61, 0x67,
|
|
0x65, 0x6e, 0x74, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x69, 0x6e, 0x66,
|
|
0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x70, 0x6f,
|
|
0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x15, 0x6d, 0x6f,
|
|
0x64, 0x65, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x67, 0x65,
|
|
0x6e, 0x74, 0x73, 0x12, 0x44, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f,
|
|
0x63, 0x61, 0x63, 0x68, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x69, 0x6e,
|
|
0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73,
|
|
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x70,
|
|
0x6f, 0x6e, 0x73, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x1a, 0x43, 0x0a, 0x15, 0x43, 0x63, 0x4d,
|
|
0x6f, 0x64, 0x65, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x45, 0x6e, 0x74,
|
|
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
|
0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
|
|
0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3d,
|
|
0x0a, 0x0f, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72,
|
|
0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
|
|
0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
|
|
0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x58, 0x0a,
|
|
0x0f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
|
|
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
|
|
0x65, 0x79, 0x12, 0x2f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
|
|
0x0b, 0x32, 0x19, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x6f,
|
|
0x64, 0x65, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x05, 0x76, 0x61,
|
|
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x73, 0x63, 0x68, 0x65, 0x64,
|
|
0x75, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2a, 0xfa, 0x01, 0x0a,
|
|
0x08, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50,
|
|
0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x54,
|
|
0x59, 0x50, 0x45, 0x5f, 0x42, 0x4f, 0x4f, 0x4c, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59,
|
|
0x50, 0x45, 0x5f, 0x55, 0x49, 0x4e, 0x54, 0x38, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59,
|
|
0x50, 0x45, 0x5f, 0x55, 0x49, 0x4e, 0x54, 0x31, 0x36, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x54,
|
|
0x59, 0x50, 0x45, 0x5f, 0x55, 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b,
|
|
0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x05, 0x12, 0x0d, 0x0a,
|
|
0x09, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x38, 0x10, 0x06, 0x12, 0x0e, 0x0a, 0x0a,
|
|
0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x31, 0x36, 0x10, 0x07, 0x12, 0x0e, 0x0a, 0x0a,
|
|
0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10, 0x08, 0x12, 0x0e, 0x0a, 0x0a,
|
|
0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x09, 0x12, 0x0d, 0x0a, 0x09,
|
|
0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x50, 0x31, 0x36, 0x10, 0x0a, 0x12, 0x0d, 0x0a, 0x09, 0x54,
|
|
0x59, 0x50, 0x45, 0x5f, 0x46, 0x50, 0x33, 0x32, 0x10, 0x0b, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x59,
|
|
0x50, 0x45, 0x5f, 0x46, 0x50, 0x36, 0x34, 0x10, 0x0c, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50,
|
|
0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x0d, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x59,
|
|
0x50, 0x45, 0x5f, 0x42, 0x46, 0x31, 0x36, 0x10, 0x0e, 0x42, 0x0f, 0x5a, 0x0d, 0x2e, 0x2f, 0x67,
|
|
0x72, 0x70, 0x63, 0x2d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
|
|
0x6f, 0x33,
|
|
}
|
|
|
|
var (
|
|
file_model_config_proto_rawDescOnce sync.Once
|
|
file_model_config_proto_rawDescData = file_model_config_proto_rawDesc
|
|
)
|
|
|
|
func file_model_config_proto_rawDescGZIP() []byte {
|
|
file_model_config_proto_rawDescOnce.Do(func() {
|
|
file_model_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_model_config_proto_rawDescData)
|
|
})
|
|
return file_model_config_proto_rawDescData
|
|
}
|
|
|
|
var file_model_config_proto_enumTypes = make([]protoimpl.EnumInfo, 9)
|
|
var file_model_config_proto_msgTypes = make([]protoimpl.MessageInfo, 53)
|
|
var file_model_config_proto_goTypes = []interface{}{
|
|
(DataType)(0), // 0: inference.DataType
|
|
(ModelInstanceGroup_Kind)(0), // 1: inference.ModelInstanceGroup.Kind
|
|
(ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind)(0), // 2: inference.ModelInstanceGroup.SecondaryDevice.SecondaryDeviceKind
|
|
(ModelInput_Format)(0), // 3: inference.ModelInput.Format
|
|
(BatchInput_Kind)(0), // 4: inference.BatchInput.Kind
|
|
(BatchOutput_Kind)(0), // 5: inference.BatchOutput.Kind
|
|
(ModelOptimizationPolicy_ModelPriority)(0), // 6: inference.ModelOptimizationPolicy.ModelPriority
|
|
(ModelQueuePolicy_TimeoutAction)(0), // 7: inference.ModelQueuePolicy.TimeoutAction
|
|
(ModelSequenceBatching_Control_Kind)(0), // 8: inference.ModelSequenceBatching.Control.Kind
|
|
(*ModelRateLimiter)(nil), // 9: inference.ModelRateLimiter
|
|
(*ModelInstanceGroup)(nil), // 10: inference.ModelInstanceGroup
|
|
(*ModelTensorReshape)(nil), // 11: inference.ModelTensorReshape
|
|
(*ModelInput)(nil), // 12: inference.ModelInput
|
|
(*ModelOutput)(nil), // 13: inference.ModelOutput
|
|
(*BatchInput)(nil), // 14: inference.BatchInput
|
|
(*BatchOutput)(nil), // 15: inference.BatchOutput
|
|
(*ModelVersionPolicy)(nil), // 16: inference.ModelVersionPolicy
|
|
(*ModelOptimizationPolicy)(nil), // 17: inference.ModelOptimizationPolicy
|
|
(*ModelQueuePolicy)(nil), // 18: inference.ModelQueuePolicy
|
|
(*ModelDynamicBatching)(nil), // 19: inference.ModelDynamicBatching
|
|
(*ModelSequenceBatching)(nil), // 20: inference.ModelSequenceBatching
|
|
(*ModelEnsembling)(nil), // 21: inference.ModelEnsembling
|
|
(*ModelParameter)(nil), // 22: inference.ModelParameter
|
|
(*ModelWarmup)(nil), // 23: inference.ModelWarmup
|
|
(*ModelOperations)(nil), // 24: inference.ModelOperations
|
|
(*ModelTransactionPolicy)(nil), // 25: inference.ModelTransactionPolicy
|
|
(*ModelRepositoryAgents)(nil), // 26: inference.ModelRepositoryAgents
|
|
(*ModelResponseCache)(nil), // 27: inference.ModelResponseCache
|
|
(*ModelConfig)(nil), // 28: inference.ModelConfig
|
|
(*ModelRateLimiter_Resource)(nil), // 29: inference.ModelRateLimiter.Resource
|
|
(*ModelInstanceGroup_SecondaryDevice)(nil), // 30: inference.ModelInstanceGroup.SecondaryDevice
|
|
(*ModelVersionPolicy_Latest)(nil), // 31: inference.ModelVersionPolicy.Latest
|
|
(*ModelVersionPolicy_All)(nil), // 32: inference.ModelVersionPolicy.All
|
|
(*ModelVersionPolicy_Specific)(nil), // 33: inference.ModelVersionPolicy.Specific
|
|
(*ModelOptimizationPolicy_Graph)(nil), // 34: inference.ModelOptimizationPolicy.Graph
|
|
(*ModelOptimizationPolicy_Cuda)(nil), // 35: inference.ModelOptimizationPolicy.Cuda
|
|
(*ModelOptimizationPolicy_ExecutionAccelerators)(nil), // 36: inference.ModelOptimizationPolicy.ExecutionAccelerators
|
|
(*ModelOptimizationPolicy_PinnedMemoryBuffer)(nil), // 37: inference.ModelOptimizationPolicy.PinnedMemoryBuffer
|
|
(*ModelOptimizationPolicy_Cuda_GraphSpec)(nil), // 38: inference.ModelOptimizationPolicy.Cuda.GraphSpec
|
|
(*ModelOptimizationPolicy_Cuda_GraphSpec_Shape)(nil), // 39: inference.ModelOptimizationPolicy.Cuda.GraphSpec.Shape
|
|
(*ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound)(nil), // 40: inference.ModelOptimizationPolicy.Cuda.GraphSpec.LowerBound
|
|
nil, // 41: inference.ModelOptimizationPolicy.Cuda.GraphSpec.InputEntry
|
|
nil, // 42: inference.ModelOptimizationPolicy.Cuda.GraphSpec.LowerBound.InputEntry
|
|
(*ModelOptimizationPolicy_ExecutionAccelerators_Accelerator)(nil), // 43: inference.ModelOptimizationPolicy.ExecutionAccelerators.Accelerator
|
|
nil, // 44: inference.ModelOptimizationPolicy.ExecutionAccelerators.Accelerator.ParametersEntry
|
|
nil, // 45: inference.ModelDynamicBatching.PriorityQueuePolicyEntry
|
|
(*ModelSequenceBatching_Control)(nil), // 46: inference.ModelSequenceBatching.Control
|
|
(*ModelSequenceBatching_ControlInput)(nil), // 47: inference.ModelSequenceBatching.ControlInput
|
|
(*ModelSequenceBatching_InitialState)(nil), // 48: inference.ModelSequenceBatching.InitialState
|
|
(*ModelSequenceBatching_State)(nil), // 49: inference.ModelSequenceBatching.State
|
|
(*ModelSequenceBatching_StrategyDirect)(nil), // 50: inference.ModelSequenceBatching.StrategyDirect
|
|
(*ModelSequenceBatching_StrategyOldest)(nil), // 51: inference.ModelSequenceBatching.StrategyOldest
|
|
(*ModelEnsembling_Step)(nil), // 52: inference.ModelEnsembling.Step
|
|
nil, // 53: inference.ModelEnsembling.Step.InputMapEntry
|
|
nil, // 54: inference.ModelEnsembling.Step.OutputMapEntry
|
|
(*ModelWarmup_Input)(nil), // 55: inference.ModelWarmup.Input
|
|
nil, // 56: inference.ModelWarmup.InputsEntry
|
|
(*ModelRepositoryAgents_Agent)(nil), // 57: inference.ModelRepositoryAgents.Agent
|
|
nil, // 58: inference.ModelRepositoryAgents.Agent.ParametersEntry
|
|
nil, // 59: inference.ModelConfig.CcModelFilenamesEntry
|
|
nil, // 60: inference.ModelConfig.MetricTagsEntry
|
|
nil, // 61: inference.ModelConfig.ParametersEntry
|
|
}
|
|
var file_model_config_proto_depIdxs = []int32{
|
|
29, // 0: inference.ModelRateLimiter.resources:type_name -> inference.ModelRateLimiter.Resource
|
|
1, // 1: inference.ModelInstanceGroup.kind:type_name -> inference.ModelInstanceGroup.Kind
|
|
9, // 2: inference.ModelInstanceGroup.rate_limiter:type_name -> inference.ModelRateLimiter
|
|
30, // 3: inference.ModelInstanceGroup.secondary_devices:type_name -> inference.ModelInstanceGroup.SecondaryDevice
|
|
0, // 4: inference.ModelInput.data_type:type_name -> inference.DataType
|
|
3, // 5: inference.ModelInput.format:type_name -> inference.ModelInput.Format
|
|
11, // 6: inference.ModelInput.reshape:type_name -> inference.ModelTensorReshape
|
|
0, // 7: inference.ModelOutput.data_type:type_name -> inference.DataType
|
|
11, // 8: inference.ModelOutput.reshape:type_name -> inference.ModelTensorReshape
|
|
4, // 9: inference.BatchInput.kind:type_name -> inference.BatchInput.Kind
|
|
0, // 10: inference.BatchInput.data_type:type_name -> inference.DataType
|
|
5, // 11: inference.BatchOutput.kind:type_name -> inference.BatchOutput.Kind
|
|
31, // 12: inference.ModelVersionPolicy.latest:type_name -> inference.ModelVersionPolicy.Latest
|
|
32, // 13: inference.ModelVersionPolicy.all:type_name -> inference.ModelVersionPolicy.All
|
|
33, // 14: inference.ModelVersionPolicy.specific:type_name -> inference.ModelVersionPolicy.Specific
|
|
34, // 15: inference.ModelOptimizationPolicy.graph:type_name -> inference.ModelOptimizationPolicy.Graph
|
|
6, // 16: inference.ModelOptimizationPolicy.priority:type_name -> inference.ModelOptimizationPolicy.ModelPriority
|
|
35, // 17: inference.ModelOptimizationPolicy.cuda:type_name -> inference.ModelOptimizationPolicy.Cuda
|
|
36, // 18: inference.ModelOptimizationPolicy.execution_accelerators:type_name -> inference.ModelOptimizationPolicy.ExecutionAccelerators
|
|
37, // 19: inference.ModelOptimizationPolicy.input_pinned_memory:type_name -> inference.ModelOptimizationPolicy.PinnedMemoryBuffer
|
|
37, // 20: inference.ModelOptimizationPolicy.output_pinned_memory:type_name -> inference.ModelOptimizationPolicy.PinnedMemoryBuffer
|
|
7, // 21: inference.ModelQueuePolicy.timeout_action:type_name -> inference.ModelQueuePolicy.TimeoutAction
|
|
18, // 22: inference.ModelDynamicBatching.default_queue_policy:type_name -> inference.ModelQueuePolicy
|
|
45, // 23: inference.ModelDynamicBatching.priority_queue_policy:type_name -> inference.ModelDynamicBatching.PriorityQueuePolicyEntry
|
|
50, // 24: inference.ModelSequenceBatching.direct:type_name -> inference.ModelSequenceBatching.StrategyDirect
|
|
51, // 25: inference.ModelSequenceBatching.oldest:type_name -> inference.ModelSequenceBatching.StrategyOldest
|
|
47, // 26: inference.ModelSequenceBatching.control_input:type_name -> inference.ModelSequenceBatching.ControlInput
|
|
49, // 27: inference.ModelSequenceBatching.state:type_name -> inference.ModelSequenceBatching.State
|
|
52, // 28: inference.ModelEnsembling.step:type_name -> inference.ModelEnsembling.Step
|
|
56, // 29: inference.ModelWarmup.inputs:type_name -> inference.ModelWarmup.InputsEntry
|
|
57, // 30: inference.ModelRepositoryAgents.agents:type_name -> inference.ModelRepositoryAgents.Agent
|
|
16, // 31: inference.ModelConfig.version_policy:type_name -> inference.ModelVersionPolicy
|
|
12, // 32: inference.ModelConfig.input:type_name -> inference.ModelInput
|
|
13, // 33: inference.ModelConfig.output:type_name -> inference.ModelOutput
|
|
14, // 34: inference.ModelConfig.batch_input:type_name -> inference.BatchInput
|
|
15, // 35: inference.ModelConfig.batch_output:type_name -> inference.BatchOutput
|
|
17, // 36: inference.ModelConfig.optimization:type_name -> inference.ModelOptimizationPolicy
|
|
19, // 37: inference.ModelConfig.dynamic_batching:type_name -> inference.ModelDynamicBatching
|
|
20, // 38: inference.ModelConfig.sequence_batching:type_name -> inference.ModelSequenceBatching
|
|
21, // 39: inference.ModelConfig.ensemble_scheduling:type_name -> inference.ModelEnsembling
|
|
10, // 40: inference.ModelConfig.instance_group:type_name -> inference.ModelInstanceGroup
|
|
59, // 41: inference.ModelConfig.cc_model_filenames:type_name -> inference.ModelConfig.CcModelFilenamesEntry
|
|
60, // 42: inference.ModelConfig.metric_tags:type_name -> inference.ModelConfig.MetricTagsEntry
|
|
61, // 43: inference.ModelConfig.parameters:type_name -> inference.ModelConfig.ParametersEntry
|
|
23, // 44: inference.ModelConfig.model_warmup:type_name -> inference.ModelWarmup
|
|
24, // 45: inference.ModelConfig.model_operations:type_name -> inference.ModelOperations
|
|
25, // 46: inference.ModelConfig.model_transaction_policy:type_name -> inference.ModelTransactionPolicy
|
|
26, // 47: inference.ModelConfig.model_repository_agents:type_name -> inference.ModelRepositoryAgents
|
|
27, // 48: inference.ModelConfig.response_cache:type_name -> inference.ModelResponseCache
|
|
2, // 49: inference.ModelInstanceGroup.SecondaryDevice.kind:type_name -> inference.ModelInstanceGroup.SecondaryDevice.SecondaryDeviceKind
|
|
38, // 50: inference.ModelOptimizationPolicy.Cuda.graph_spec:type_name -> inference.ModelOptimizationPolicy.Cuda.GraphSpec
|
|
43, // 51: inference.ModelOptimizationPolicy.ExecutionAccelerators.gpu_execution_accelerator:type_name -> inference.ModelOptimizationPolicy.ExecutionAccelerators.Accelerator
|
|
43, // 52: inference.ModelOptimizationPolicy.ExecutionAccelerators.cpu_execution_accelerator:type_name -> inference.ModelOptimizationPolicy.ExecutionAccelerators.Accelerator
|
|
41, // 53: inference.ModelOptimizationPolicy.Cuda.GraphSpec.input:type_name -> inference.ModelOptimizationPolicy.Cuda.GraphSpec.InputEntry
|
|
40, // 54: inference.ModelOptimizationPolicy.Cuda.GraphSpec.graph_lower_bound:type_name -> inference.ModelOptimizationPolicy.Cuda.GraphSpec.LowerBound
|
|
42, // 55: inference.ModelOptimizationPolicy.Cuda.GraphSpec.LowerBound.input:type_name -> inference.ModelOptimizationPolicy.Cuda.GraphSpec.LowerBound.InputEntry
|
|
39, // 56: inference.ModelOptimizationPolicy.Cuda.GraphSpec.InputEntry.value:type_name -> inference.ModelOptimizationPolicy.Cuda.GraphSpec.Shape
|
|
39, // 57: inference.ModelOptimizationPolicy.Cuda.GraphSpec.LowerBound.InputEntry.value:type_name -> inference.ModelOptimizationPolicy.Cuda.GraphSpec.Shape
|
|
44, // 58: inference.ModelOptimizationPolicy.ExecutionAccelerators.Accelerator.parameters:type_name -> inference.ModelOptimizationPolicy.ExecutionAccelerators.Accelerator.ParametersEntry
|
|
18, // 59: inference.ModelDynamicBatching.PriorityQueuePolicyEntry.value:type_name -> inference.ModelQueuePolicy
|
|
8, // 60: inference.ModelSequenceBatching.Control.kind:type_name -> inference.ModelSequenceBatching.Control.Kind
|
|
0, // 61: inference.ModelSequenceBatching.Control.data_type:type_name -> inference.DataType
|
|
46, // 62: inference.ModelSequenceBatching.ControlInput.control:type_name -> inference.ModelSequenceBatching.Control
|
|
0, // 63: inference.ModelSequenceBatching.InitialState.data_type:type_name -> inference.DataType
|
|
0, // 64: inference.ModelSequenceBatching.State.data_type:type_name -> inference.DataType
|
|
48, // 65: inference.ModelSequenceBatching.State.initial_state:type_name -> inference.ModelSequenceBatching.InitialState
|
|
53, // 66: inference.ModelEnsembling.Step.input_map:type_name -> inference.ModelEnsembling.Step.InputMapEntry
|
|
54, // 67: inference.ModelEnsembling.Step.output_map:type_name -> inference.ModelEnsembling.Step.OutputMapEntry
|
|
0, // 68: inference.ModelWarmup.Input.data_type:type_name -> inference.DataType
|
|
55, // 69: inference.ModelWarmup.InputsEntry.value:type_name -> inference.ModelWarmup.Input
|
|
58, // 70: inference.ModelRepositoryAgents.Agent.parameters:type_name -> inference.ModelRepositoryAgents.Agent.ParametersEntry
|
|
22, // 71: inference.ModelConfig.ParametersEntry.value:type_name -> inference.ModelParameter
|
|
72, // [72:72] is the sub-list for method output_type
|
|
72, // [72:72] is the sub-list for method input_type
|
|
72, // [72:72] is the sub-list for extension type_name
|
|
72, // [72:72] is the sub-list for extension extendee
|
|
0, // [0:72] is the sub-list for field type_name
|
|
}
|
|
|
|
func init() { file_model_config_proto_init() }
|
|
func file_model_config_proto_init() {
|
|
if File_model_config_proto != nil {
|
|
return
|
|
}
|
|
if !protoimpl.UnsafeEnabled {
|
|
file_model_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelRateLimiter); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelInstanceGroup); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelTensorReshape); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelInput); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelOutput); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*BatchInput); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*BatchOutput); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelVersionPolicy); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelOptimizationPolicy); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelQueuePolicy); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelDynamicBatching); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelSequenceBatching); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelEnsembling); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelParameter); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelWarmup); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelOperations); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelTransactionPolicy); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelRepositoryAgents); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelResponseCache); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelConfig); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelRateLimiter_Resource); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelInstanceGroup_SecondaryDevice); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelVersionPolicy_Latest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelVersionPolicy_All); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelVersionPolicy_Specific); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelOptimizationPolicy_Graph); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelOptimizationPolicy_Cuda); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelOptimizationPolicy_ExecutionAccelerators); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelOptimizationPolicy_PinnedMemoryBuffer); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelOptimizationPolicy_Cuda_GraphSpec); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelOptimizationPolicy_Cuda_GraphSpec_Shape); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelOptimizationPolicy_ExecutionAccelerators_Accelerator); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelSequenceBatching_Control); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelSequenceBatching_ControlInput); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelSequenceBatching_InitialState); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelSequenceBatching_State); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelSequenceBatching_StrategyDirect); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelSequenceBatching_StrategyOldest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelEnsembling_Step); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelWarmup_Input); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ModelRepositoryAgents_Agent); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
}
|
|
file_model_config_proto_msgTypes[7].OneofWrappers = []interface{}{
|
|
(*ModelVersionPolicy_Latest_)(nil),
|
|
(*ModelVersionPolicy_All_)(nil),
|
|
(*ModelVersionPolicy_Specific_)(nil),
|
|
}
|
|
file_model_config_proto_msgTypes[11].OneofWrappers = []interface{}{
|
|
(*ModelSequenceBatching_Direct)(nil),
|
|
(*ModelSequenceBatching_Oldest)(nil),
|
|
}
|
|
file_model_config_proto_msgTypes[19].OneofWrappers = []interface{}{
|
|
(*ModelConfig_DynamicBatching)(nil),
|
|
(*ModelConfig_SequenceBatching)(nil),
|
|
(*ModelConfig_EnsembleScheduling)(nil),
|
|
}
|
|
file_model_config_proto_msgTypes[39].OneofWrappers = []interface{}{
|
|
(*ModelSequenceBatching_InitialState_ZeroData)(nil),
|
|
(*ModelSequenceBatching_InitialState_DataFile)(nil),
|
|
}
|
|
file_model_config_proto_msgTypes[46].OneofWrappers = []interface{}{
|
|
(*ModelWarmup_Input_ZeroData)(nil),
|
|
(*ModelWarmup_Input_RandomData)(nil),
|
|
(*ModelWarmup_Input_InputDataFile)(nil),
|
|
}
|
|
type x struct{}
|
|
out := protoimpl.TypeBuilder{
|
|
File: protoimpl.DescBuilder{
|
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
|
RawDescriptor: file_model_config_proto_rawDesc,
|
|
NumEnums: 9,
|
|
NumMessages: 53,
|
|
NumExtensions: 0,
|
|
NumServices: 0,
|
|
},
|
|
GoTypes: file_model_config_proto_goTypes,
|
|
DependencyIndexes: file_model_config_proto_depIdxs,
|
|
EnumInfos: file_model_config_proto_enumTypes,
|
|
MessageInfos: file_model_config_proto_msgTypes,
|
|
}.Build()
|
|
File_model_config_proto = out.File
|
|
file_model_config_proto_rawDesc = nil
|
|
file_model_config_proto_goTypes = nil
|
|
file_model_config_proto_depIdxs = nil
|
|
}
|