| // Copyright 2021 The Deeplab2 Authors. | |
| // | |
| // 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. | |
| syntax = "proto2"; | |
| package deeplab2; | |
| // Next ID: 22 | |
| message EvaluatorOptions { | |
| // Set the number of steps to run evaluation. -1 corresponds to a run over the | |
| // full dataset. | |
| optional int32 eval_steps = 1 [default = -1]; | |
| // Set the number of train steps after which eval should run in interleaved | |
| // mode. | |
| optional int32 eval_interval = 2 [default = 5000]; | |
| // Set the number of seconds to wait at most for the next checkpoint. -1 means | |
| // the job will wait forever. | |
| optional int32 continuous_eval_timeout = 3 [default = -1]; | |
| // Set whether to run evaluation as a tf function. | |
| optional bool use_tf_function = 4 [default = true]; | |
| // Set the area size of stuff segments to discard. | |
| optional int32 stuff_area_limit = 6 [default = 0]; | |
| // Set the area size of thing segments to discard (set to ignore_label). Note | |
| // that this option is currently only supported in MaX-DeepLab. | |
| optional int32 thing_area_limit = 19 [default = 0]; | |
| // Set the threshold for the transformer class confidence. | |
| optional float transformer_class_confidence_threshold = 20 [default = 0.7]; | |
| // Set the threshold for the per-pixel mask confidence. Note that this option | |
| // is currently only supported in MaX-DeepLab. | |
| optional float pixel_confidence_threshold = 21 [default = 0.4]; | |
| // Set the threshold of the center heatmap for post-processing. | |
| optional float center_score_threshold = 7 [default = 0.1]; | |
| // Set the kernel size of the nms kernel for the center heatmap. | |
| optional int32 nms_kernel = 8 [default = 3]; | |
| // Set the number of top centers to keep. -1 corresponds to keeping all | |
| // centers. | |
| optional int32 keep_k_centers = 9 [default = 400]; | |
| // Enable saving predictions to disk. | |
| optional bool save_predictions = 10 [default = false]; | |
| // Override the storing location. By default, predictions are written to | |
| // `experiment_root` + `experiment_name` + `vis`. | |
| optional string override_save_dir = 11; | |
| // Set the number of samples to visualize. | |
| optional int32 num_vis_samples = 12 [default = 10]; | |
| // Enable saving raw predictions for the whole dataset. The output path is the | |
| // save_dir + `raw_semantic`/`raw_panoptic`. | |
| optional bool save_raw_predictions = 13 [default = false]; | |
| // The format of raw panoptic predictions. This flag is used together with | |
| // `save_raw_predictions`. When save_raw_predictions is True, this field | |
| // specifies the format of saved raw panoptic predictions. Supports: | |
| // - 'two_channel_png': The popular format, also supported by the official | |
| // COCO panoptic API (https://github.com/cocodataset/panopticapi), where | |
| // the saved PNG image contains R-channel for semantic labels and | |
| // G-channel for instance IDs. | |
| // - 'three_channel_png': A simple extension of the 'two_channel_png' format, | |
| // and is adopted in some video panoptic segmentation datasets (for | |
| // example, KITTI-STEP and MOTChallenge-STEP), where the saved PNG image | |
| // contains R-channel for semantic labels, G-channel for the values of | |
| // (instance ID // 256), and B-channel for (instance ID % 256). | |
| // - 'two_channel_numpy_array': A more flexible format (unconstrained by the | |
| // PNG channel size), where the panoptic predictions are saved as a numpy | |
| // array in the two channel format (i.e., first channel encodes the | |
| // semantic class and the second channel the instance ID). | |
| optional string raw_panoptic_format = 17 [default = 'two_channel_png']; | |
| // Enable conversion of train IDs to eval IDs for raw predictions. | |
| optional bool convert_raw_to_eval_ids = 14 [default = true]; | |
| // Add flipped images for evaluation or not. This is used for multi-scale | |
| // inference (usually used together with `eval_scales`). If True, another | |
| // flipped image will be used during inference. | |
| optional bool add_flipped_images = 5 [default = false]; | |
| // The scales to resize images for inference. Change it to, e.g. [0.5, 0.75, | |
| // 1.0, 1.25, 1.5, 1.75], for multi-scale inference. | |
| repeated float eval_scales = 15 [packed = true]; | |
| // Boolean, if true, use TensorFlow operation (CUDA kernel) to merge | |
| // semantic and instance segmentation (for the final panoptic segmentation). | |
| // Defaults to true, as our GPU implementation is much faster. Set to false | |
| // if you could not successfully compile TensorFlow with this operation. | |
| optional bool merge_semantic_and_instance_with_tf_op = 16 [default = true]; | |
| // Displays detailed metrics on instance segmentation AP. This includes e.g. | |
| // AP at a matching IoU threshold of 0.5, or the AP of small objects only, | |
| // etc. If false, will only display a summary AP metric that's an average of | |
| // IoU thresholds and over all objects. | |
| optional bool detailed_ap_metrics = 18 [default = false]; | |
| } | |