"vscode:/vscode.git/clone" did not exist on "787aebc70a6f8e00259509213a604c54e711cd08"
Commit a3e0e19f authored by Amy Kolesnichenko's avatar Amy Kolesnichenko Committed by Facebook GitHub Bot
Browse files

introducing evaluation sampling step for TB

Summary:
Pull Request resolved: https://github.com/facebookresearch/d2go/pull/369

Pull Request resolved: https://github.com/facebookresearch/d2go/pull/368

Adding image subsampling in evaluation to avoid saving to TB sequential frames for video-like data.

Reviewed By: wat3rBro

Differential Revision: D39233843

fbshipit-source-id: a49bbfe1b9114c11565ed04db1f2f186675ea9ed
parent d98f74aa
...@@ -21,6 +21,8 @@ def add_tensorboard_default_configs(_C): ...@@ -21,6 +21,8 @@ def add_tensorboard_default_configs(_C):
_C.TENSORBOARD.TRAIN_LOADER_VIS_MAX_IMAGES = 16 _C.TENSORBOARD.TRAIN_LOADER_VIS_MAX_IMAGES = 16
# Max number of images per dataset to visualize in tensorboard during evaluation # Max number of images per dataset to visualize in tensorboard during evaluation
_C.TENSORBOARD.TEST_VIS_MAX_IMAGES = 16 _C.TENSORBOARD.TEST_VIS_MAX_IMAGES = 16
# Frequency of sending data to tensorboard during evaluation
_C.TENSORBOARD.TEST_VIS_WRITE_PERIOD = 1
# TENSORBOARD.LOG_DIR will be determined solely by OUTPUT_DIR # TENSORBOARD.LOG_DIR will be determined solely by OUTPUT_DIR
_C.register_deprecated_key("TENSORBOARD.LOG_DIR") _C.register_deprecated_key("TENSORBOARD.LOG_DIR")
...@@ -215,6 +217,8 @@ class VisualizationEvaluator(DatasetEvaluator): ...@@ -215,6 +217,8 @@ class VisualizationEvaluator(DatasetEvaluator):
self.tag_postfix = tag_postfix or "" self.tag_postfix = tag_postfix or ""
self.log_limit = max(cfg.TENSORBOARD.TEST_VIS_MAX_IMAGES, 0) self.log_limit = max(cfg.TENSORBOARD.TEST_VIS_MAX_IMAGES, 0)
self.log_frequency = cfg.TENSORBOARD.TEST_VIS_WRITE_PERIOD
self._metadata = None self._metadata = None
self._dataset_dict = None self._dataset_dict = None
self._file_name_to_dataset_dict = None self._file_name_to_dataset_dict = None
...@@ -241,10 +245,15 @@ class VisualizationEvaluator(DatasetEvaluator): ...@@ -241,10 +245,15 @@ class VisualizationEvaluator(DatasetEvaluator):
self._log_remaining = self.log_limit self._log_remaining = self.log_limit
def process(self, inputs, outputs): def process(self, inputs, outputs):
for input, output in zip(inputs, outputs): if (
if self._log_remaining <= 0: self.log_frequency == 0
or self._iter % self.log_frequency != 0
or self._log_remaining <= 0
):
self._iter += 1
return return
for input, output in zip(inputs, outputs):
file_name = input["file_name"] file_name = input["file_name"]
dataset_dict = self._file_name_to_dataset_dict[file_name] dataset_dict = self._file_name_to_dataset_dict[file_name]
gt_img = self._visualizer.visualize_dataset_dict( gt_img = self._visualizer.visualize_dataset_dict(
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment