question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

The "masknet" in DCCRN

See original GitHub issue

Hi, 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:closed
  • Created 3 years ago
  • Comments:22

github_iconTop GitHub Comments

1reaction
chaoxiefscommented, Dec 24, 2020

@Tigerwww did you ever reach good quality with DCCRN? 😃

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

1reaction
chaoxiefscommented, Dec 4, 2020

@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!

Read more comments on GitHub >

github_iconTop Results From Across the Web

The "masknet" in DCCRN · Issue #359 - GitHub
Hi, I'm training DCCRN for denoising by #278 You can just use DNS-chanllenge's baseline recipe with several modifications. def ...
Read more >
DCCRN: Deep Complex Convolution Recurrent Network for ...
Abstract: Speech enhancement has benefited from the success of deep learning in terms of intelligibility and perceptual quality.
Read more >
JorisCos/DCCRNet_Libri1Mix_enhsingle_16k - Hugging Face
Description: This model was trained by Joris Cosentino using the librimix recipe in Asteroid. It was trained on the enh_single task of the...
Read more >
What is Subnet Mask? Definition & FAQs - Avi Networks
Learn the definition of Subnet Mask and get answers to FAQs regarding: IP address and subnet mask, how subnetting works, what IP mask...
Read more >
Deep Complex Convolution Recurrent Network for Phase ...
A new network structure simulating the complex-valued operation, called Deep Complex Convolution Recurrent Network (DCCRN), where both CNN ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found