前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Tacotron2运行笔记

Tacotron2运行笔记

作者头像
mathor
发布2020-08-12 10:18:43
1K0
发布2020-08-12 10:18:43
举报
文章被收录于专栏:mathormathormathor

项目地址NVIDIA/tacotron2,先clone下来

git clone https://github.com/NVIDIA/tacotron2

配置环境

我的实验环境(ubuntu):

python==3.6.10
numpy==1.17.0
matplotlib==2.1.0
scipy==1.0.0
numba==0.48.0
librosa==0.6.0
tensorflow==1.15.2
pytorch==1.1.0
torchvision==0.3.0
inflect=0.2.5
Unidecode==1.0.22

由于我们实验室服务器的cuda版本是9.0,因此只能使用1.1.0版的PyTorch,否则无法使用GPU。但是这个项目源码中使用了一些PyTorch 1.3以上的新功能,所以我要先修改一部分源码(如果你的Pytorch版本大于等于1.3,可以略过这部分内容)

第一个要改的地方式是utils.py第9行

# mask = (ids < lengths.unsqueeze(1)).bool()
mask = (ids < lengths.unsqueeze(1)).to(torch.bool)

第二个要修改的地方是model.py第401和488行

# memory, mask = ~get_mask_from_lengths(memory_lengths)
memory, mask = (get_mask_from_lengths(memory_lengths) <= 0)

# mask = ~get_mask_from_lengths(output_lengths)
mask = get_mask_from_lengths(memory_lengths) <= 0

以上是少数人需要做的改动,下面提到的是所有人都需要做的改动,就是将filelists/目录下的三个文件内容进行适当修改

每个文件里面都有两列内容,第一列是语音数据所在的位置,第二列是该语音所对应的文本

我们要改的就是第一列,主要是根据你下载好的LJSpeech Dataset存放的路径。比方说我将LJSpeech-1.1/放到了tacotron2/目录底下,与tacotron2/train.py同级,那么我的路径就应该改为

开始训练

单GPU

如果你只有一块GPU,运行如下命令即开始训练

python train.py --output_directory=outdir --log_directory=logdir
多GPU

多GPU训练,首先安装Apex

git clone https://github.com/NVIDIA/apex
cd apex
pip install -v --no-cache-dir ./

然后手动新建一个目录mkdir tacotron2/logs

最后运行如下命令

python -m multiproc train.py --output_directory=outdir --log_directory=logdir --hparams=distributed_run=True,fp16_run=True

常见报错的解决办法

  1. CUDA out of memory,将hparams.py中的batch_size参数值改小一点即可
  2. No module named numba.decorators ,先卸载numbapip uninstall numba,然后安装0.48.0版本即可pip install numba==0.48.0
  3. numpy.core.multiarray failed to import,确保自己安装的numpy版本小于1.19,大于1.15
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 配置环境
  • 开始训练
    • 单GPU
      • 多GPU
      • 常见报错的解决办法
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档