PaddlePaddle / PaddleSpeech

Easy-to-use Speech Toolkit including Self-Supervised Learning model, SOTA/Streaming ASR with punctuation, Streaming TTS with text frontend, Speaker Verification System, End-to-End Speech Translation and Keyword Spotting. Won NAACL2022 Best Demo Award.
https://paddlespeech.readthedocs.io
Apache License 2.0
10.99k stars 1.83k forks source link

【TTS】使用RTX 3080 GPU进行语音合成报错, CPU版本正常 #2136

Closed phecda-xu closed 2 years ago

phecda-xu commented 2 years ago

cuda 信息:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Tue_Sep_15_19:10:02_PDT_2020
Cuda compilation tools, release 11.1, V11.1.74
Build cuda_11.1.TC455_06.29069683_0

paddlepaddle-gpu==2.3.1 和 paddlespeech=1.0.1 gpu 测试

>>> paddle.fluid.install_check.run_check()
Running Verify Fluid Program ... 
W0711 19:49:13.336194 11295 gpu_resources.cc:61] Please NOTE: device: 0, GPU Compute Capability: 8.6, Driver API Version: 11.1, Runtime API Version: 10.2
W0711 19:49:13.337954 11295 gpu_resources.cc:91] device: 0, cuDNN Version: 8.1.
Your Paddle Fluid works well on SINGLE GPU or CPU.
Your Paddle Fluid works well on MUTIPLE GPU or CPU.
Your Paddle Fluid is installed successfully! Let's start deep Learning with Paddle Fluid now
>>> paddle.fluid.is_compiled_with_cuda()
True

执行合成指令

paddlespeech tts --am fastspeech2_aishell3 --voc pwgan_aishell3 --input "你好,欢迎使用百度飞桨深度学习框架!" --spk_id 0

错误信息:

vocab_size: 306
spk_num: 174
frontend done!
W0711 19:47:24.556126 10579 gpu_resources.cc:61] Please NOTE: device: 0, GPU Compute Capability: 8.6, Driver API Version: 11.1, Runtime API Version: 10.2
W0711 19:47:24.557787 10579 gpu_resources.cc:91] device: 0, cuDNN Version: 8.1.
encoder_type is transformer
decoder_type is transformer
acoustic model done!
voc done!
ValueError: (InvalidArgument) The value (1055172892) of the non-singleton dimension does not match the corresponding value (1000) in shape for expand_v2 op.
  [Hint: Expected vec_in_dims[i] == expand_shape[i], but received vec_in_dims[i]:1055172892 != expand_shape[i]:1000.] (at /paddle/paddle/phi/kernels/impl/expand_kernel_impl.h:61)
  [operator < expand_v2 > error]

注:在 RTX 2080S 上进行测试,同样的paddlepaddle-gpu==2.3.1 和 paddlespeech=1.0.1 合成是正常的。

yt605155624 commented 2 years ago

看起来是相同版本的 paddlepaddle-gpu 和 paddlespeech,在 RTX 2080S 上不报错,在 RTX 3080 上报错? 我们这边没有太多的不同型号的 GPU,所以没办法复现,这个问题是框架的问题,我的建议是,你先尝试安装 paddle 2.3.0 和 develop 版本的 paddle,看这个问题是否还存在(因为 paddle 2.3.0 已经发布很久,没有遇到这个报错,2.3.1 是在 paddle 2.3.0 这个分支加了小的修补之后发版的,不排除引入了有 bug 的修补,2.3.1 本身和 develop 的 paddle 有较大差距,因为是不同的分支) 如果还存在,可能需要到 paddle 的仓库问一下

phecda-xu commented 2 years ago

看起来是相同版本的 paddlepaddle-gpu 和 paddlespeech,在 RTX 2080S 上不报错,在 RTX 3080 上报错? 我们这边没有太多的不同型号的 GPU,所以没办法复现,这个问题是框架的问题,我的建议是,你先尝试安装 paddle 2.3.0 和 develop 版本的 paddle,看这个问题是否还存在(因为 paddle 2.3.0 已经发布很久,没有遇到这个报错,2.3.1 是在 paddle 2.3.0 这个分支加了小的修补之后发版的,不排除引入了有 bug 的修补,2.3.1 本身和 develop 的 paddle 有较大差距,因为是不同的分支) 如果还存在,可能需要到 paddle 的仓库问一下

试了一下,paddlepaddle-gpu 2.3.0 以及 develop 版本的 paddlepaddle-gpu-0.0.0.post111 都有问题,暂时不用3080了改用V100,找时间再去paddle那边问问。谢谢!

ChengsongLu commented 11 months ago

这个问题还没解决吗?我在docker上运行tts_finetune也遇到这个问题了