syntax = "proto2"; package object_detection.protos; // Configuration proto for defining input readers that generate Object Detection // Examples from input sources. Input readers are expected to generate a // dictionary of tensors, with the following fields populated: // // 'image': an [image_height, image_width, channels] image tensor that detection // will be run on. // 'groundtruth_classes': a [num_boxes] int32 tensor storing the class // labels of detected boxes in the image. // 'groundtruth_boxes': a [num_boxes, 4] float tensor storing the coordinates of // detected boxes in the image. // 'groundtruth_instance_masks': (Optional), a [num_boxes, image_height, // image_width] float tensor storing binary mask of the objects in boxes. message InputReader { // Path to StringIntLabelMap pbtxt file specifying the mapping from string // labels to integer ids. optional string label_map_path = 1 [default=""]; // Whether data should be processed in the order they are read in, or // shuffled randomly. optional bool shuffle = 2 [default=true]; // Maximum number of records to keep in reader queue. optional uint32 queue_capacity = 3 [default=2000]; // Minimum number of records to keep in reader queue. A large value is needed // to generate a good random shuffle. optional uint32 min_after_dequeue = 4 [default=1000]; // The number of times a data source is read. If set to zero, the data source // will be reused indefinitely. optional uint32 num_epochs = 5 [default=0]; // Number of reader instances to create. optional uint32 num_readers = 6 [default=8]; // Whether to load groundtruth instance masks. optional bool load_instance_masks = 7 [default = false]; oneof input_reader { TFRecordInputReader tf_record_input_reader = 8; ExternalInputReader external_input_reader = 9; } } // An input reader that reads TF Example protos from local TFRecord files. message TFRecordInputReader { // Path to TFRecordFile. optional string input_path = 1 [default=""]; } // An externally defined input reader. Users may define an extension to this // proto to interface their own input readers. message ExternalInputReader { extensions 1 to 999; }