首页 > 其他分享 >Tacotron2(NVIDIA版)训练笔记

Tacotron2(NVIDIA版)训练笔记

时间:2024-02-13 12:22:05浏览次数:36  
标签:Tacotron2 训练 tacotron2 笔记 blog https NVIDIA article net

https://blog.csdn.net/qq_44951010/article/details/124828260

 


Tacotron2项目地址:https://github.com/NVIDIA/tacotron2
Tacotron2中文训练笔记:https://blog.csdn.net/qq_44951010/article/details/124830538
从科大讯飞爬取音频数据:https://blog.csdn.net/qq_44951010/article/details/124829630

步骤
下载项目或通过git clone https://github.com/NVIDIA/tacotron2.git拉取项目,

下载ljspeech数据集

conda创建虚拟环境conda create --name tacotron2 python=3.6,

激活环境conda activate tacotron2,

安装pytorch pip install toch==1.4(最好在tmux中安装),

安装其他依赖包pip install -r requirements.txt

进入filelists目录,当中有三个txt文件,记录了音频路径和文本的对应关系,'|'左边是音频路径,右边是相应的英文文本,

修改音频路径为ljspeech数据集的相对路径,示例(datasets与tacotron2在同一目录下):


打开hparams.py文件,里面是一些超参数,可以修改epoch(训练轮数),sampling_rate(采样率),batch_size(如果爆显存了可以把batch_size调小点)等,

运行python train.py --output_directory=outdir --log_directory=logdir进行训练,训练结果保存在outdir目录下

训练完成后,jupyter 运行inference.ipynb文件进行测试,

将checkpoint_path改为自己训练的模型路径,如outdir/checkpoint_40000,

下载WaveGlow项目,放到tacotron2目录下,

下载waveglow_256channels_universal_v5.pt文件,放到tacotron2目录下,

将jupyter内核切换为tacotron2环境,运行即可合成语音,text为要合成的文本

运行tensorboard --logdir=outdir/logdir命令,可以查看训练过程中的一些参数

参考
Tacotron2 运行笔记:https://mathor.blog.csdn.net/article/details/108846589
————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/qq_44951010/article/details/124828260

标签:Tacotron2,训练,tacotron2,笔记,blog,https,NVIDIA,article,net
From: https://www.cnblogs.com/wcxia1985/p/18014482

相关文章

  • 凸包学习笔记
    凸包一般通过证明或观察出斜率有单调性于是可以用凸包维护。P5155[USACO18DEC]BalanceBeamP题意:有长为\(n\)的序列,每次等概率向左右移动一格,也可以结束并获得当前位置上的值,求每个位置的最大期望收益。思路:完全不懂期望!首先有一个结论,在\([0,L]\)上的\(x\)处,每次等概率向......
  • WQS二分学习笔记
    WQS二分WQS二分是一种可以处理一类带有限制的问题的方法,这种限制一般是恰好选\(k\)个的形式,而且要求原问题有凸性。比如函数是上凸的,那么斜率就递减,如果我们去二分这个斜率,那么可以快速求出切点,而切点横坐标代表我们选择了多少个,于是我们就可以根据这个数目和题中要求的\(k\)......
  • Go语言精进之路读书笔记第23条——理解方法的本质以选择正确的receiver类型
    和函数相比,Go语言中的方法在声明形式上仅仅多了一个参数,Go称之为receiver参数。receiver参数是方法与类型之间的纽带。Go方法特点:方法名的首字母是否大写决定了该方法是不是导出方法。方法定义要与类型定义放在同一个包内。由此可以推出,不能为原生类型(如int/float64/map等)添加......
  • 根号分治学习笔记
    根号分治根号分治其实一般是广义上的阈值分治,当范围不超过\(B\)时用一种方法,超过\(B\)时用另一种做法。之所以叫根号分治主要是大部分的应用都是在和一定时,不超过\(\sqrt{n}\)的可以把所有\(1\sim\sqrt{n}\)的都处理,超过\(\sqrt{n}\)的最多只有\(O(\sqrt{n})\)个,也......
  • 点分治学习笔记
    点分治点分治是一种处理树上路径问题的常见方法。先引入例题。求树上有多少条路径的长度是3的倍数。点分治的过程是每次找到当前联通块的重心,然后处理所有跨过重心的路径,然后删去重心,递归每个子树再进行处理。根据重心的性质,重心的每个儿子的子树大小都不超过\(\dfrac{n}{......
  • Go语言精进之路读书笔记第22条——使用defer让函数更简介、更健壮
    22.1defer的运行机制在Go中,只有在函数和方法内部才能使用defer。defer关键字后面只能接函数或方法,这些函数被成为deferred函数。defer将它们注册到其所在goroutine用于存放deferred函数的栈数据结构中。在执行defer的函数退出前,按后进先出(LIFO)的顺序调度执行。22.2defer的......
  • Go语言精进之路读书笔记第21条——让自己习惯于函数是"一等公民"
    21.1什么是"一等公民"(1)正常创建//$GOROOT/src/fmt/print.gofuncnewPrinter()*pp{p:=ppFree.Get().(*pp)p.panicking=falsep.erroring=falsep.wrapErrs=falsep.fmt.init(&p.buf)returnp}(2)在函数内创建,定义匿名函数赋值给......
  • Go语言精进之路读书笔记第20条——在init函数中检查包级变量的初始状态
    20.1认识init函数init函数的特点:运行时调用,Go程序中不能显式调用顺序执行,等待一个init函数执行完毕并返回后再执行下一个init函数在整个Go程序生命周期内仅会被执行一次先被传递给Go编译器的源文件中的init函数先被执行,同一个源文件中的多个init函数按声明顺序依次执行。但......
  • 单位根反演学习笔记
    单位根反演\[[n|a]=\dfrac{1}{n}\sum\limits_{k=0}^{n-1}w^{ak}_{n}\]证明:当\(i\not\equiv0\pmodn\)时,由等比数列求和公式可得:原式\(=\dfrac{1}{n}\times\dfrac{w^{an}_n-1}{w^a_{n}-1}\),而右边分子为0,分母不为0,因此和为0。当\(i\equiv0\pmodn\)时,有原式\(=\dfrac{1}{n}......
  • CDQ分治学习笔记
    CDQ分治其实CDQ本质就类似线段树,\(i\)的贡献由\(1\)到\(i-1\)在线段树上拆出的log个节点组成,然后将可以被同一段区间做贡献的点一起计算从而保证复杂度。例题:P3810【模板】三维偏序(陌上花开)题意:对于\(k\in[1,n]\)求三维偏序数量为\(k\)的点的个数。思路:其实就是求每个点的......