in train.py [0:0]
def create_save_path(args, _mkdir=True):
# mkdirs:
decay_str = args.decay
if args.decay == 'multisteps':
decay_str += '-'.join(map(str, args.decay_epochs))
opt_str = args.opt
if args.opt == 'sgd':
opt_str += '-m%s' % args.momentum
opt_str = 'e%d-b%d-%s-lr%s-wd%s-%s' % (args.epochs, args.batch_size, opt_str, args.lr, args.wd, decay_str)
reweighting_fn_str = 'sign'
loss_str = '%s-Lambda%s-Lambda2%s-T%s-%s' % \
(args.ood_metric + '-' + args.aux_prior_type + '-' + args.aux_ood_loss,
args.Lambda, args.Lambda2, args.T, reweighting_fn_str)
if args.imbalance_ratio < 1:
if args.logit_adjust > 0:
lt_method = 'LA%s' % args.logit_adjust
else:
lt_method = 'none'
loss_str = lt_method + '-' + loss_str
loss_str += '-k%s'% (args.k)
exp_str = '%s_%s' % (opt_str, loss_str)
if args.timestamp:
exp_str += '_%s' % datetime.datetime.now().strftime("%Y%m%d%H%M%S")
dataset_str = '%s-%s-OOD%d' % (args.dataset, args.imbalance_ratio, args.num_ood_samples) if 'imagenet' not in args.dataset else '%s%d-lt' % (args.dataset, args.id_class_number)
save_dir = osp.join(args.save_root_path, dataset_str, args.model, exp_str)
if _mkdir:
create_dir(save_dir)
print('Saving to %s' % save_dir)
return save_dir