in compare_models.py [0:0]
def init(self, args, models):
''' Instead of load '''
optimizers = []
for model in models:
optim_fn = optim.__dict__[args.optim]
kwargs = {
'lr': args.lr,
'weight_decay': args.lr * args.weight_decay
}
if optim_fn == optim.SGD or optim_fn == optim.RMSprop:
kwargs['momentum'] = args.momentum
optimizers.append({'model': optim_fn(model.parameters(), **kwargs)})
if hasattr(model, "with_z") and model.with_z:
optimizers[-1]['zbwd'] = model.z_opt([model.zbwd], lr=model.z_lr)
self.optimizers = optimizers
# Just stuff we want to keep between runs
self.state = State({
# bookeeping
'epoch': 0,
'running_loss': [[] for _ in models],
'running_valids': [[] for _ in models],
'running_f1_scores': [defaultdict(list) for _ in models],
'best_valid': [1.0E10 for _ in models],
'n_samples': 0,
'n_frame': 0,
# parsed arguments
'only_us': args.predict == "only_us",
'full_info': args.predict == "full_info",
'only_defog': args.predict == "only_defog",
'delta_full_info': False,
'delta': args.predict_delta,
# Time between reports, so we know how long things took
'c_frames': 0,
'c_time': start_time,
'args': args,
'version': 0, # increment this when stuff changes
})