/* Copyright 2019 The TensorFlow 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.
==============================================================================*/

// This proto defines the labelmap used in the detection models, which maps
// the numerical class index outputs to KG mid or human readable string of
// object class name.
//
// An example labelmap looks like the following:
// item {
//   name: "/m/0frqm"
//   id: 1
//   display_name: "Envelope"
// }
// item {
//   name: "/m/02dl1y"
//   id: 2
//   display_name: "Hat"
// }
// item {
//   name: "/m/01krhy"
//   id: 3
//   display_name: "Tiara"
// }

syntax = "proto2";

package lstm_object_detection.tflite.protos;



message StringIntLabelMapItem {
  optional string name = 1;
  optional int32 id = 2;
  repeated float embedding = 3 [packed = true];
  optional string display_name = 4;
  // Optional list of children used to represent a hierarchy.
  //
  // E.g.:
  //
  // item {
  //   name: "/m/02xwb" # Fruit
  //   child_name: "/m/014j1m" # Apple
  //   child_name: "/m/0388q" # Grape
  //   ...
  // }
  // item {
  //   name: "/m/014j1m" # Apple
  //   ...
  // }
  repeated string child_name = 5;
}

message StringIntLabelMapProto {
  repeated StringIntLabelMapItem item = 1;
}
