Helper functions and classes
@patch
def before_fit(self:Recorder):
"Prepare state for training"
self.lrs,self.iters,self.losses,self.values = [],[],[],[]
names = self.metrics.attrgot('name')
train_only_names = self.train_only_metrics.attrgot('name')
if self.train_metrics and self.valid_metrics:
names = L('loss') + names
names = names.map('train_{}') + train_only_names + names.map('valid_{}')
elif self.valid_metrics: names = L('train_loss', *train_only_names, 'valid_loss') + names
else: names = L('train_loss') + train_only_names + names
if self.add_time: names.append('time')
self.metric_names = 'epoch'+names
self.smooth_loss.reset()
def _met_func():
return 0
metric = ValueMetric(_met_func, 'nothing')
learn = synth_learner(metrics=rmse)
learn.recorder.add_train_metrics(metric)
assert learn.recorder._train_only_metrics[0] is metric
learn.fit(2)