Uformer icon indicating copy to clipboard operation
Uformer copied to clipboard

关于复现网络出现的问题

Open Cagemoney opened this issue 1 year ago • 5 comments

作者您好,昨天的问题不知道怎么就不见了。我邮箱收到了您的回复,训练loss是正常的。我现在依然在查找问题的根源所在。如果您能把test 模型的源码公开,这对我解决问题会有很大的帮助。有一点需要咨询一下您,计算loss时为什么是返回三个值?期望您的回复。

昨天的问题是:测试模型时输出为静音。

Cagemoney avatar Apr 27 '23 06:04 Cagemoney

作者您好,昨天的问题不知道怎么就不见了。我邮箱收到了您的回复,训练loss是正常的。我现在依然在查找问题的根源所在。如果您能把test 模型的源码公开,这对我解决问题会有很大的帮助。有一点需要咨询一下您,计算loss时为什么是返回三个值?期望您的回复。

昨天的问题是:测试模型时输出为静音。

代码都在之前的服务器上 所以现在也拿不出来。我给您一些思路看能不能解决你的问题: 0. 检查数据,看是否noisy和clean对齐了

  1. 使用一条语音过我代码的stft和istft代码,看能不能完美重构,如果不能那就建议用torchaudio吧。我做这个工作那会torchaudio还没提复数谱的功能,现在支持了。
  2. loss正常是指什么loss正常?三个loss是mae mse和sisnr,论文里有讲。

felixfuyihui avatar Apr 27 '23 06:04 felixfuyihui

非常感谢您的回复。我将根据您提供的思路尝试解决这个问题。关于loss:训练loss是随epochs下降的。计算loss时return了三个值,比如:计算complex loss时: def calloss_cplxmse(output, source): # B 2 F T loss = 0 output_real, output_imag = output[:,0], output[:,1] source_real, source_imag = source[:,0], source[:,1] for i in range(output.shape[0]): loss_real = F.mse_loss(output_real[i], source_real[i], reduction='sum') loss_real = loss_real / output_real.shape[-2] loss_imag = F.mse_loss(output_imag[i], source_imag[i], reduction='sum') loss_imag = loss_imag / output_imag.shape[-2] loss = loss + loss_real + loss_imag return loss / output.shape[0] / 2, loss / output.shape[0] / 2, loss / output.shape[0] / 2

Cagemoney avatar Apr 27 '23 06:04 Cagemoney

非常感谢您的回复。我将根据您提供的思路尝试解决这个问题。关于loss:训练loss是随epochs下降的。计算loss时return了三个值,比如:计算complex loss时: def calloss_cplxmse(output, source): # B 2 F T loss = 0 output_real, output_imag = output[:,0], output[:,1] source_real, source_imag = source[:,0], source[:,1] for i in range(output.shape[0]): loss_real = F.mse_loss(output_real[i], source_real[i], reduction='sum') loss_real = loss_real / output_real.shape[-2] loss_imag = F.mse_loss(output_imag[i], source_imag[i], reduction='sum') loss_imag = loss_imag / output_imag.shape[-2] loss = loss + loss_real + loss_imag return loss / output.shape[0] / 2, loss / output.shape[0] / 2, loss / output.shape[0] / 2

哦这三个啊 可能是屎山代码吧哈哈哈哈 不用在意 一个就行了

felixfuyihui avatar Apr 27 '23 06:04 felixfuyihui

好的,感谢您的耐心回复,我是菜鸟所以问的比较多哈哈哈

Cagemoney avatar Apr 27 '23 06:04 Cagemoney

好的,感谢您的耐心回复,我是菜鸟所以问的比较多哈哈哈

没事没事 有问题随时交流哈

felixfuyihui avatar Apr 27 '23 10:04 felixfuyihui