ppg_decode_spec_10ms_sch_Multi

0. 说明

参考下面改的multi-speaker代码, 谢谢作者~

https://github.com/patrick-g-zhang/MS-Tacotron2

我的代码放在: https://github.com/ruclion/ppg_decode_spec_10ms_sch_Multi

服务器上: /datapool/home/hujk17/ppg_decode_spec_10ms_sch_Multi

1. 准备数据

1.1. PPG拼接为Bilingual-PPG

先不额外写代码, 在dataloader那里拼接就好

1.2. meta.txt

1.2.1 构建小数据

配合小batch测试:

测试成功

1.2.2. 测试-old大数据版v1

目的: 在等最新的ppg的提取, 需要10个小时, 所以用上次的版本(ASR精度不是最高点)先大规模训着, 看看结果

重新写generate_trian_validation_list.py

很容易地小逻辑, 输出:

训出的模型明显发音很好, 800句中英文训的结果已经可以了

Lab: /datapool/home/hujk17/ppg_decode_spec_10ms_sch_Multi/restoreANDvalitation_Multi_log_dir

 

2. 使用模型

注意: 增加了拼接后FC的ReLU

 

3. PyTorch代码

3.1. nn.linear使用细节

rnn/cbhg输出的是(bs, none, 256), 直接接nn.linear理应报错的

但是试了一下, 估计是版本的升级让rank-3也是可以了

3.2. nn.ReLU()和F.relu()区别

前者是类, 在init中申请, 然后送入seq中

后者是函数, 直接在forward中调用就好

主要取决于代码的风格

3.3. 长度定位1000的序列

没有好好的sort+padding, 但是先能训再说

batch size因为PPG维度变大, 因此仍然只能是16

4. 由于服务器不稳定产生的restore代码

4.1. v2

4.1.1. v2数据量说明

ASR使用的ckpt是上文提到的最高峰(比论文要求的略高)

v1指的是提取ppg的时候生成的txt, 可能没来得及写, 所以就不用它了. v2就是扫面实际ppg文件夹里的文件得到的

V2有5000句中文+2000句英文, 本来应该10000+13100, 但是服务器中间断了, 先用这些训transformation model, 也算是半大不大的限制性规模数据

训练用6000句, 验证用600句

4.1.2. v2结果

4.2. v3

4.2.1. v3数据量说明

是完整的数据, 除了原始的wav有损坏, 要求中文大约1w, 英文大约13100

代码需要能够做到提取ppg, mel, spec可以restore版, 因为服务器随时可能断

4.2.2. 可restore的ppg提取代码

挺乱的, 但总之就是提取完整的数据集的ppg, mfcc, spec, mel

4.2.2. 修改multi代码跑v3

只是改了一个路径, 其他的都不用改

4.2.3. 结果

比起来v2, 从0.1071 -> 0.1026, 降低很多了

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值