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, lr=params['learning_rate'], weight_decay=params['l2_reg']) elif params['optimizer'] == 'sgd':