general_model_service.proto 2.7 KB
Newer Older
H
HexToString 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14
// Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

15
syntax = "proto3";
H
HexToString 已提交
16 17 18 19
package baidu.paddle_serving.predictor.general_model;
option java_multiple_files = true;

message Tensor {
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
  // VarType: INT64
  repeated int64 int64_data = 1;

  // VarType: FP32
  repeated float float_data = 2;

  // VarType: INT32
  repeated int32 int_data = 3;

  // VarType: FP64
  repeated double float64_data = 4;

  // VarType: UINT32
  repeated uint32 uint32_data = 5;

  // VarType: BOOL
  repeated bool bool_data = 6;

  // (No support)VarType: COMPLEX64, 2x represents the real part, 2x+1
  // represents the imaginary part
  repeated float complex64_data = 7;

  // (No support)VarType: COMPLEX128, 2x represents the real part, 2x+1
  // represents the imaginary part
  repeated double complex128_data = 8;

  // VarType: STRING
  repeated string data = 9;

  // Element types:
  //   0 => INT64
  //   1 => FP32
  //   2 => INT32
  //   3 => FP64
  //   4 => INT16
  //   5 => FP16
  //   6 => BF16
  //   7 => UINT8
  //   8 => INT8
  //   9 => BOOL
  //  10 => COMPLEX64
  //  11 => COMPLEX128
  //  20 => STRING
  int32 elem_type = 10;

  // Shape of the tensor, including batch dimensions.
  repeated int32 shape = 11;

  // Level of data(LOD), support variable length data, only for fetch tensor
  // currently.
  repeated int32 lod = 12;

  // Correspond to the variable 'name' in the model description prototxt.
  string name = 13;

  // Correspond to the variable 'alias_name' in the model description prototxt.
  string alias_name = 14; // get from the Model prototxt

  // VarType: FP16, INT16, INT8, BF16, UINT8
  bytes tensor_content = 15;
H
HexToString 已提交
80 81 82 83 84
};

message Request {
  repeated Tensor tensor = 1;
  repeated string fetch_var_names = 2;
85 86
  bool profile_server = 3;
  uint64 log_id = 4;
H
HexToString 已提交
87 88 89 90 91
};

message Response {
  repeated ModelOutput outputs = 1;
  repeated int64 profile_time = 2;
T
TeslaZhao 已提交
92 93
  bool profile_server = 3;
  uint64 log_id = 4;
94

T
TeslaZhao 已提交
95 96
  // Error code
  int32 err_no = 5;
97
  // Error messages
T
TeslaZhao 已提交
98
  string err_msg = 6;
H
HexToString 已提交
99 100 101 102
};

message ModelOutput {
  repeated Tensor tensor = 1;
103
  string engine_name = 2;
H
HexToString 已提交
104 105 106
}

service GeneralModelService {
107 108
  rpc inference(Request) returns (Response);
  rpc debug(Request) returns (Response);
H
HexToString 已提交
109
};