Пример #1
0
params['num_attractors'] = dummy_one_hot.shape[-1]
params['num_sources'] = params['num_attractors']
params['sample_rate'] = dataset.sr
dataset.reorder_sources = args.reorder_sources
val_dataset.reorder_sources = args.reorder_sources

pp.pprint(params)

class_func = MaskEstimation if args.baseline else DeepAttractor
model = utils.load_class_from_params(params, class_func).to(device)

if not params['compute_training_stats']:
    mean, std = utils.compute_statistics_on_dataset(dataloader, device)
    params['training_stats'] = {'mean': mean, 'std': std + 1e-7}
    dataset.stats = params['training_stats']
    val_dataset.stats = params['training_stats']

dataset.whiten_data = True
val_dataset.whiten_data = True

num_iterations = len(dataloader)
parameters = filter(lambda p: p.requires_grad, model.parameters())

if params['optimizer'] == 'adam':
    optimizer = torch.optim.Adam(parameters,
                                 lr=params['learning_rate'],
                                 betas=(params['beta1'], params['beta2']),
                                 weight_decay=params['l2_reg'])
elif params['optimizer'] == 'rmsprop':
    optimizer = torch.optim.RMSprop(parameters,