def get_tracker(model, dataset, wandb_log: bool, tensorboard_log: bool): """Factory method for the tracker Arguments: dataset {[type]} wandb_log - Log using weight and biases Returns: [BaseTracker] -- tracker """ return ShapenetPartTracker(dataset, wandb_log=wandb_log, use_tensorboard=tensorboard_log)
def get_tracker(self, wandb_log: bool, tensorboard_log: bool): """Factory method for the tracker Arguments: wandb_log - Log using weight and biases tensorboard_log - Log using tensorboard Returns: [BaseTracker] -- tracker """ return ShapenetPartTracker(self, wandb_log=wandb_log, use_tensorboard=tensorboard_log)
def test_track(self): tracker = ShapenetPartTracker(MockDataset()) model = MockModel() tracker.track(model) metrics = tracker.get_metrics(verbose=True) for k in ["train_Cmiou", "train_Imiou"]: self.assertAlmostEqual(metrics[k], 100, 5) model.iter += 1 tracker.track(model) metrics = tracker.get_metrics(verbose=True) for k in ["train_Cmiou", "train_Imiou"]: self.assertAlmostEqual(metrics[k], 100, 5) model.iter += 1 tracker.track(model) metrics = tracker.get_metrics(verbose=True) self.assertAlmostEqual(metrics["train_Imiou"], 4 * 100 / 5) self.assertAlmostEqual(metrics["train_Cmiou"], (100 + 200 / 3.0) / 2.0)