tts速度问题 #1256
-
我在开发机上和成一段20字左右的语音需要20十多秒,是我的电脑配置太差了,有啥优化方案么 |
Beta Was this translation helpful? Give feedback.
Replies: 5 comments 7 replies
-
使用 command line 第一次执行会下载模型 |
Beta Was this translation helpful? Give feedback.
-
@xwydq 刚发现了一个问题, 现在已发布版本 tts python api 第二次调用还是加载了模型,刚才已经修复了问题 PaddleSpeech/paddlespeech/cli/tts/infer.py Line 434 in ae521d3 您可以安装 develop 版本的 PaddleSpeech (clone 仓库后 pip install .) 再看看用 python api 第二次的调用时间 |
Beta Was this translation helpful? Give feedback.
-
安装最新的 develop ,我使用如下代码在 GPU 上运行结果如下(因为之前调用过,所以模型已经下载好了) from paddlespeech.cli import TTSExecutor
import time
import paddle
tts_executor = TTSExecutor()
time_1 = time.time()
wav_file = tts_executor(
text='对数据集进行预处理',
output='1.wav',
am='fastspeech2_csmsc',
am_config=None,
am_ckpt=None,
am_stat=None,
spk_id=0,
phones_dict=None,
tones_dict=None,
speaker_dict=None,
voc='pwgan_csmsc',
voc_config=None,
voc_ckpt=None,
voc_stat=None,
lang='zh',
device=paddle.get_device())
time_2 = time.time()
print("time of first time:", time_2-time_1)
wav_file = tts_executor(
text='你好吗',
output='2.wav',
am='fastspeech2_csmsc',
am_config=None,
am_ckpt=None,
am_stat=None,
spk_id=0,
phones_dict=None,
tones_dict=None,
speaker_dict=None,
voc='pwgan_csmsc',
voc_config=None,
voc_ckpt=None,
voc_stat=None,
lang='zh',
device=paddle.get_device())
print("time of second time:", time.time()-time_2)
使用 CPU export CUDA_VISIBLE_DEVICES= 结果如下:
可以发现,使用 CPU 的时间是 1.82s 使用 GPU 的时间是 0.093s, 第一次执行慢是因为需要加载模型 |
Beta Was this translation helpful? Give feedback.
-
CPU 推理时可以设置环境变量 export OMP_NUM_THREADS={线程数} 加速,但是目前 paddle 很多 CPU 算子都没有支持多线程,所以加速效果有限~ |
Beta Was this translation helpful? Give feedback.
-
使用 TTS CLI 时,加载本地自定义的模型,参考:#2225 |
Beta Was this translation helpful? Give feedback.
安装最新的 develop ,我使用如下代码在 GPU 上运行结果如下(因为之前调用过,所以模型已经下载好了)