neonbjb / tortoise-tts

A multi-voice TTS system trained with an emphasis on quality
Apache License 2.0
12.35k stars 1.73k forks source link

RuntimeError: MPS does not support cumsum op with int64 input #617

Open Caet-pip opened 9 months ago

Caet-pip commented 9 months ago

I am using tortoise TTS on M2 Mac with only CPU I get this error when running the instruction for inference in documentation: PYTORCH_ENABLE_MPS_FALLBACK=1 python tortoise/do_tts.py --text "I'm going to speak this" --voice random --preset fast

I get this error: Generating autoregressive samples.. 0%| | 0/24 [00:00<?, ?it/s]/Users/fawazahamedshaik/miniforge3/lib/python3.10/site-packages/transformers/generation/utils.py:725: UserWarning: MPS: no support for int64 repeats mask, casting it to int32 (Triggered internally at /Users/runner/work/pytorch/pytorch/pytorch/aten/src/ATen/native/mps/operations/Repeat.mm:236.) input_ids = input_ids.repeat_interleave(expand_size, dim=0) 0%| | 0/24 [00:00<?, ?it/s] Traceback (most recent call last): File "/Users/fawazahamedshaik/github/ASR/tortoise-tts/tortoise/do_tts.py", line 41, in gen, dbg_state = tts.tts_with_preset(args.text, k=args.candidates, voice_samples=voice_samples, conditioning_latents=conditioning_latents, File "/Users/fawazahamedshaik/github/ASR/tortoise-tts/tortoise/api.py", line 351, in tts_with_preset return self.tts(text, *settings) File "/Users/fawazahamedshaik/github/ASR/tortoise-tts/tortoise/api.py", line 450, in tts codes = autoregressive.inference_speech(auto_conditioning, text_tokens, File "/Users/fawazahamedshaik/miniforge3/lib/python3.10/site-packages/tortoise/models/autoregressive.py", line 538, in inference_speech gen = self.inference_model.generate(inputs, bos_token_id=self.start_mel_token, pad_token_id=self.stop_mel_token, eos_token_id=self.stop_mel_token, File "/Users/fawazahamedshaik/miniforge3/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context return func(args, kwargs) File "/Users/fawazahamedshaik/miniforge3/lib/python3.10/site-packages/transformers/generation/utils.py", line 1588, in generate return self.sample( File "/Users/fawazahamedshaik/miniforge3/lib/python3.10/site-packages/transformers/generation/utils.py", line 2639, in sample model_inputs = self.prepare_inputs_for_generation(input_ids, model_kwargs) File "/Users/fawazahamedshaik/miniforge3/lib/python3.10/site-packages/tortoise/models/autoregressive.py", line 92, in prepare_inputs_for_generation position_ids = attention_mask.long().cumsum(-1) - 1 RuntimeError: MPS does not support cumsum op with int64 input

fakerybakery commented 8 months ago

Hi, are you using the latest version of Tortoise TTS and PyTorch? Have you tried:

pip uninstall torch
pip install -r requirements.txt

in the Tortoise TTS directory? (Or created a separate Conda env)