RVC-Boss / GPT-SoVITS

1 min voice data can also be used to train a good TTS model! (few shot voice cloning)
MIT License
35.72k stars 4.07k forks source link

关于faster whisper的ValueError #526

Open caqingtgas opened 9 months ago

caqingtgas commented 9 months ago
loading faster whisper model: large-v3 large-v3
Traceback (most recent call last):
  File "D:\tools\ai\GPT-SoVITS-beta0217\tools\asr\fasterwhisper_asr.py", line 49, in execute_asr
    model = WhisperModel(model_path, device="cuda", compute_type=precision)
  File "D:\tools\ai\GPT-SoVITS-beta0217\runtime\lib\site-packages\faster_whisper\transcribe.py", line 130, in __init__
    self.model = ctranslate2.models.Whisper(
ValueError: Requested float16 compute type, but the target device or backend do not support efficient float16 computation.

这个报错在我对日语打标时出现,查了一下,发现https://github.com/SYSTRAN/faster-whisper/issues/42有提及,可能有关cuda等等,然而我曾经使用旧的整合包时,按照英日训练教程(现已删除),顺利实现了训练,本地软硬件应无问题,特来反馈

SapphireLab commented 9 months ago

现在的 FasterWhisper 默认用了 float16 的精度,请问一下是什么设备? 可以考虑修改为 float32 进行尝试

caqingtgas commented 9 months ago

现在的 FasterWhisper 默认用了 float16 的精度,请问一下是什么设备?可以考虑修改为 float32 进行尝试 @SapphireLab 设备是1050ti,更换float32是有效的,十分感谢 另外,webui内没有调整精度的选项吗?本人纯纯业余,修改精度就是把webui.py中205行的cmd += " -p %s"%("float16"if is_half==True else "float32")改成了cmd += " -p %s"%("float32"if is_half==True else "float32")(怕忘记if else就都改成一个东西了哈哈哈),还是说我又献丑了,其实有优雅的改法吗?

qian2501 commented 8 months ago

按你说的看了一下,这个判断条件的来源是webui.py中的

from config import ... ,is_half,

然后指向了config.py中的

is_half_str = os.environ.get("is_half", "True")
is_half = True if is_half_str.lower() == 'true' else False

但是我不会python,不知道这个os.environ.get是在干啥,把config.py里的is_half写死False也可以绕过问题 不过我搜到英文部分的README.md里有关docker的部分有写

Environment Variables: is_half: Controls half-precision/double-precision. This is typically the cause if the content under the directories 4-cnhubert/5-wav32k is not generated correctly during the "SSL extracting" step. Adjust to True or False based on your actual situation.

不知道是不是跟Docker环境的配置有关,btw我用的Win整合包,不知道有没有关系