ibab / tensorflow-wavenet

A TensorFlow implementation of DeepMind's WaveNet paper
MIT License
5.42k stars 1.29k forks source link

Why the output of Wavenet always a straight? #335

Open littleTwelve opened 6 years ago

littleTwelve commented 6 years ago

When I use the code to train a model, it seems good. However, when I use the trained model to generate data, I get a sequence of number which are all the same value. For example, if I input 1*5000 vector [2,99,34,...,45, 27,33], then I use generate() to generate data, I get [2,99,34,...,45, 27,33,33,33,33,...,33,33,33]. As you see, I generate a sequence of number which are all the same value and what is more strange is that these numbers are all equal to the last number of the input. I can use your code to generate a sine wave very well. If I use my own dataset, I got nothing but a straight line even when the training loss is 1e-08. I can't find what's wrong with the code, I would appreciate it if someone can give me some advice.

evinpinar commented 6 years ago

I have the same problem, receive more or less a constant sound. Did you already solve it? Is it conditioned on anything, and how long&with which data did you train your model?

evinpinar commented 6 years ago

Solved, my problem was giving the quantized inputs as scalar inputs, without creating one-hot vectors.

Ahapy commented 4 years ago

When I use the code to train a model, it seems good. However, when I use the trained model to generate data, I get a sequence of number which are all the same value. For example, if I input 1*5000 vector [2,99,34,...,45, 27,33], then I use generate() to generate data, I get [2,99,34,...,45, 27,33,33,33,33,...,33,33,33]. As you see, I generate a sequence of number which are all the same value and what is more strange is that these numbers are all equal to the last number of the input. I can use your code to generate a sine wave very well. If I use my own dataset, I got nothing but a straight line even when the training loss is 1e-08. I can't find what's wrong with the code, I would appreciate it if someone can give me some advice.

Could you please tell me how you generate and get the voice? My training steps are only 10,000 and it takes 2 days, because 100,000 steps are expected to take more than ten days. Is it because my training time and step size are insufficient that the speech generated by running "generator.py" is 0 seconds?