utils.show_model(model) val_losses = [] dc_weight = 1 for epoch in epochs: if args.unfold_iterations: if (epoch % int(params['num_epochs'] / 5) == 0): n_iterations = int(params['num_epoch'] / epoch) module.clusterer.n_iterations = min(params['num_clustering_iterations'], n_iterations) if args.curriculum_learning: if epoch >= int(params['num_epochs'] / 5): # Lengthen sequences for learning dataset.create_cache = True dataset.length = 1.0 val_dataset.create_cache = True val_dataset.length = 1.0 progress_bar = trange(num_iterations) epoch_loss = [] for (spectrogram, magnitude_spectrogram, source_spectrograms, source_ibms, weights, one_hots) in dataloader: spectrogram = spectrogram.to(device).requires_grad_() magnitude_spectrogram = magnitude_spectrogram.to(device).unsqueeze(-1).requires_grad_() source_spectrograms = source_spectrograms.float().to(device) source_ibms = source_ibms.to(device).float() one_hots = one_hots.float().to(device).requires_grad_() if weights is not None: weights = weights.float().to(device) optimizer.zero_grad()