The "masknet" in DCCRN
See original GitHub issueHi, I’m training DCCRN for denoising by #278
You can just use DNS-chanllenge’s baseline recipe with several modifications.
def make_model_and_optimizer(conf): """Function to define the model and optimizer for a config dictionary. Args: conf: Dictionary containing the output of hierachical argparse. Returns: model, optimizer. The main goal of this function is to make reloading for resuming and evaluation very simple. """ # Make the complete model model = DCCRNet(**conf["filterbank"], **conf["masknet"]) # Define optimizer of this model optimizer = make_optimizer(model.parameters(), **conf["optim"]) return model, optimizer class SimpleSystem(System): def common_step(self, batch, batch_nb, train): mixture, speech, noise = batch estimate = self(mixture.unsqueeze(1)) loss = self.loss_func(estimate, speech) return loss
When loading the conf["masknet"]
to DCCRN, it says “unexpected keyword ‘hidden_size
’”. Would you please provide the conf setting of masknet for DCCRN?
Now I just load the architecture of DCCRN by:
model = DCCRNet(stft_kernel_size=512, sample_rate=8000.0, stft_stride=256, architecture="DCCRN-CL")
The val_loss just stoped around -12(should be perfect at -97), do I miss someting here? I printed DCCRN’s structure and there exists the masknet strucutre. So there is no need to set config of “masknet”?
And you did some modification yesterday and I update my local Asteroid, however, when training DCCRN, the loss will be NaN after several epochs.(loss_func = PITLossWrapper(SingleSrcNegSDR("snr"),pit_from='pw_pt'
)) Is there something wrong or because of my non-config of masknet?
Issue Analytics
- State:
- Created 3 years ago
- Comments:22
Top GitHub Comments
Very sorry that I reply such late.
It’s a little bit busy recently. But everything is fine, after solving some problems when processing the DNS dataset and training settings. And I retrain the DCCRN this morning due to the careless mistake I made. And I checked the eval result even if it was just trained 4 epochs, the denoising is effective(Please check the attached samples).
The training is kind of time-consuming: around 1 hour 10 mins for 1 epoch. And to train fast, I just used half amount of DNS dataset. And I will upload the model and eval samples after the training. Also, after check the final result, I’ll train DCCRN on the full DNS dataset.
BTW, Merry Christmas and Happy Holidays!(My local time is 24th Dec. already)
PS: About the samples: *.wav : noisy input de_*.wav: denoised result temp_samples.zip
@jonashaag @mpariente I re-trained DCCRN on my own dataset and it works! There still some noise left but this might be related to the small data set I used(With around 560 utterances).
I upload some results here. temp_samples.zip And the SNR of the training data ranges from 5 to 20
Thank you very much for fixing it fast!