lenML / ChatTTS-Forge

🍦 ChatTTS-Forge is a project developed around the TTS generation model ChatTTS, implementing an API Server and a Gradio-based WebUI.
https://huggingface.co/spaces/lenML/ChatTTS-Forge
GNU Affero General Public License v3.0
449 stars 58 forks source link

[BUG:WebUI] 运行出错 #74

Open james-bond-007 opened 1 week ago

james-bond-007 commented 1 week ago

阅读 README.md 和 dependencies.md

检索 issue 和 discussion

检查 Forge 版本

Forge Commit 或者 Tag

946597a

Python 版本

3.9.19

PyTorch 版本

2.2.2

操作系统信息

macOS 12.7.5

浏览器信息

safari 17.5

BUG 描述

运行出错,PyTorch 在尝试使用 LayerNorm 函数时遇到了问题,因为该函数在 Half 数据类型上没有实现。

复现步骤

没有成功过

期望结果

正常运行

实际结果

运行一半出错,结束

错误信息

Traceback (most recent call last):
  File "/Users/loukuofeng/PycharmProjects/ChatTTS-Forge/.conda/lib/python3.9/site-packages/gradio/queueing.py", line 532, in process_events
    response = await route_utils.call_process_api(
  File "/Users/loukuofeng/PycharmProjects/ChatTTS-Forge/.conda/lib/python3.9/site-packages/gradio/route_utils.py", line 276, in call_process_api
    output = await app.get_blocks().process_api(
  File "/Users/loukuofeng/PycharmProjects/ChatTTS-Forge/.conda/lib/python3.9/site-packages/gradio/blocks.py", line 1928, in process_api
    result = await self.call_function(
  File "/Users/loukuofeng/PycharmProjects/ChatTTS-Forge/.conda/lib/python3.9/site-packages/gradio/blocks.py", line 1514, in call_function
    prediction = await anyio.to_thread.run_sync(
  File "/Users/loukuofeng/PycharmProjects/ChatTTS-Forge/.conda/lib/python3.9/site-packages/anyio/to_thread.py", line 56, in run_sync
    return await get_async_backend().run_sync_in_worker_thread(
  File "/Users/loukuofeng/PycharmProjects/ChatTTS-Forge/.conda/lib/python3.9/site-packages/anyio/_backends/_asyncio.py", line 2177, in run_sync_in_worker_thread
    return await future
  File "/Users/loukuofeng/PycharmProjects/ChatTTS-Forge/.conda/lib/python3.9/site-packages/anyio/_backends/_asyncio.py", line 859, in run
    result = context.run(func, *args)
  File "/Users/loukuofeng/PycharmProjects/ChatTTS-Forge/.conda/lib/python3.9/site-packages/gradio/utils.py", line 832, in wrapper
    response = f(*args, **kwargs)
  File "/Users/loukuofeng/PycharmProjects/ChatTTS-Forge/.conda/lib/python3.9/site-packages/gradio/utils.py", line 832, in wrapper
    response = f(*args, **kwargs)
  File "/Users/loukuofeng/PycharmProjects/ChatTTS-Forge/modules/webui/webui_utils.py", line 259, in tts_generate
    audio_data, sample_rate = handler.enqueue()
  File "/Users/loukuofeng/PycharmProjects/ChatTTS-Forge/modules/api/impl/handler/TTSHandler.py", line 65, in enqueue
    sample_rate, audio_data = synthesize_audio(
  File "/Users/loukuofeng/PycharmProjects/ChatTTS-Forge/modules/synthesize_audio.py", line 48, in synthesize_audio
    audio_segments = synthesizer.synthesize_segments(text_segments)
  File "/Users/loukuofeng/PycharmProjects/ChatTTS-Forge/modules/SynthesizeSegments.py", line 304, in synthesize_segments
    self.process_voice_segments(segments, bucket, audio_segments)
  File "/Users/loukuofeng/PycharmProjects/ChatTTS-Forge/modules/SynthesizeSegments.py", line 198, in process_voice_segments
    audio_datas = generate_audio.generate_audio_batch(
  File "/Users/loukuofeng/PycharmProjects/ChatTTS-Forge/modules/utils/cache.py", line 15, in wrapper
    return cached_func(*args, **kwargs)
  File "/Users/loukuofeng/PycharmProjects/ChatTTS-Forge/modules/utils/cache.py", line 88, in __call__
    return cls.cached_func(__hash)
  File "/Users/loukuofeng/PycharmProjects/ChatTTS-Forge/modules/utils/cache.py", line 70, in cached_func
    return func(*cls.args, **cls.kwargs)
  File "/Users/loukuofeng/PycharmProjects/ChatTTS-Forge/modules/utils/cache.py", line 11, in cached_func
    return func(*args, **kwargs)
  File "/Users/loukuofeng/PycharmProjects/ChatTTS-Forge/.conda/lib/python3.9/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "/Users/loukuofeng/PycharmProjects/ChatTTS-Forge/modules/generate_audio.py", line 132, in generate_audio_batch
    wavs = chat_tts.generate_audio(
  File "/Users/loukuofeng/PycharmProjects/ChatTTS-Forge/modules/ChatTTS/ChatTTS/core.py", line 334, in generate_audio
    return self.infer(
  File "/Users/loukuofeng/PycharmProjects/ChatTTS-Forge/modules/ChatTTS/ChatTTS/core.py", line 316, in infer
    return next(res_gen)
  File "/Users/loukuofeng/PycharmProjects/ChatTTS-Forge/modules/ChatTTS/ChatTTS/core.py", line 288, in _infer
    mel_spec = [
  File "/Users/loukuofeng/PycharmProjects/ChatTTS-Forge/modules/ChatTTS/ChatTTS/core.py", line 289, in <listcomp>
    self.pretrain_models[docoder_name](i[None].permute(0, 2, 1))
  File "/Users/loukuofeng/PycharmProjects/ChatTTS-Forge/.conda/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/Users/loukuofeng/PycharmProjects/ChatTTS-Forge/.conda/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1520, in _call_impl
    return forward_call(*args, **kwargs)
  File "/Users/loukuofeng/PycharmProjects/ChatTTS-Forge/modules/ChatTTS/ChatTTS/model/dvae.py", line 182, in forward
    dec_out = self.decoder(input=vq_feats)
  File "/Users/loukuofeng/PycharmProjects/ChatTTS-Forge/.conda/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/Users/loukuofeng/PycharmProjects/ChatTTS-Forge/.conda/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1520, in _call_impl
    return forward_call(*args, **kwargs)
  File "/Users/loukuofeng/PycharmProjects/ChatTTS-Forge/modules/ChatTTS/ChatTTS/model/dvae.py", line 148, in forward
    x = f(x, conditioning)
  File "/Users/loukuofeng/PycharmProjects/ChatTTS-Forge/.conda/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/Users/loukuofeng/PycharmProjects/ChatTTS-Forge/.conda/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1520, in _call_impl
    return forward_call(*args, **kwargs)
  File "/Users/loukuofeng/PycharmProjects/ChatTTS-Forge/modules/ChatTTS/ChatTTS/model/dvae.py", line 46, in forward
    x = self.norm(x)
  File "/Users/loukuofeng/PycharmProjects/ChatTTS-Forge/.conda/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/Users/loukuofeng/PycharmProjects/ChatTTS-Forge/.conda/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1520, in _call_impl
    return forward_call(*args, **kwargs)
  File "/Users/loukuofeng/PycharmProjects/ChatTTS-Forge/.conda/lib/python3.9/site-packages/torch/nn/modules/normalization.py", line 201, in forward
    return F.layer_norm(
  File "/Users/loukuofeng/PycharmProjects/ChatTTS-Forge/.conda/lib/python3.9/site-packages/torch/nn/functional.py", line 2546, in layer_norm
    return torch.layer_norm(input, normalized_shape, weight, bias, eps, torch.backends.cudnn.enabled)
RuntimeError: "LayerNormKernelImpl" not implemented for 'Half'
zhzLuke96 commented 1 week ago

cpu环境?试试 --no_half 参数