在上一篇文章-pytorch自定义Dataset实现数据集迭代器 中,笔者测试了本地wav文件夹重建数据集来做语音数据集的测试。今天在进一步,终于可以使用pytorch来完成自动编码器了。
在 __getitem()__此方法下笔者使用librosa.feature.melspectrogram提取梅尔语谱图并归一化,作为数据集输送到神经网络中。
接下来就是定义神经网络的结构来训练auto-encoder。
在调节EPOCH = 2、BATCH_SIZE = 64等参数后,发现模型无法很好的重建梅尔语谱图,微调神经网络的结构发现并不能解决问题!一时无法找出问题所在,于是笔者转向torchaudio库来提取梅尔语谱图,这些高级的语音处理库可以直接提取梅尔语谱图并完成数据增强,但是训练网络后效果比librosa提取的还要差。
不过从tensorflow转到pytorch来完成语音oneclass-network的异常检测,算是迈出了这个重要的一步了。接下来可以使用这个思路,带着问题,不断的学习更新知识,答案可以很快就会呈现了。
网友评论