将 sample_kwargs 替换为 generation_kwargs
This commit is contained in:
parent
96d3b75708
commit
60a2238eac
@ -273,7 +273,7 @@ class IndexTTS:
|
||||
self.gr_progress(value, desc=desc)
|
||||
|
||||
# 快速推理:对于“多句长文本”,可实现至少 2~10 倍以上的速度提升~ (First modified by sunnyboxs 2025-04-16)
|
||||
def infer_fast(self, audio_prompt, text, output_path, verbose=False, max_text_tokens_per_sentence=100, sentences_bucket_max_size=4, **sample_kwargs):
|
||||
def infer_fast(self, audio_prompt, text, output_path, verbose=False, max_text_tokens_per_sentence=100, sentences_bucket_max_size=4, **generation_kwargs):
|
||||
"""
|
||||
Args:
|
||||
``max_text_tokens_per_sentence``: 分句的最大token数,默认``100``,可以根据GPU硬件情况调整
|
||||
@ -321,15 +321,15 @@ class IndexTTS:
|
||||
print(" splited sentences count:", len(sentences))
|
||||
print(" max_text_tokens_per_sentence:", max_text_tokens_per_sentence)
|
||||
print(*sentences, sep="\n")
|
||||
do_sample = sample_kwargs.pop("do_sample", True)
|
||||
top_p = sample_kwargs.pop("top_p", 0.8)
|
||||
top_k = sample_kwargs.pop("top_k", 30)
|
||||
temperature = sample_kwargs.pop("temperature", 1.0)
|
||||
do_sample = generation_kwargs.pop("do_sample", True)
|
||||
top_p = generation_kwargs.pop("top_p", 0.8)
|
||||
top_k = generation_kwargs.pop("top_k", 30)
|
||||
temperature = generation_kwargs.pop("temperature", 1.0)
|
||||
autoregressive_batch_size = 1
|
||||
length_penalty = sample_kwargs.pop("length_penalty", 0.0)
|
||||
num_beams = sample_kwargs.pop("num_beams", 3)
|
||||
repetition_penalty = sample_kwargs.pop("repetition_penalty", 10.0)
|
||||
max_mel_tokens = sample_kwargs.pop("max_mel_tokens", 600)
|
||||
length_penalty = generation_kwargs.pop("length_penalty", 0.0)
|
||||
num_beams = generation_kwargs.pop("num_beams", 3)
|
||||
repetition_penalty = generation_kwargs.pop("repetition_penalty", 10.0)
|
||||
max_mel_tokens = generation_kwargs.pop("max_mel_tokens", 600)
|
||||
sampling_rate = 24000
|
||||
# lang = "EN"
|
||||
# lang = "ZH"
|
||||
@ -391,7 +391,8 @@ class IndexTTS:
|
||||
length_penalty=length_penalty,
|
||||
num_beams=num_beams,
|
||||
repetition_penalty=repetition_penalty,
|
||||
max_generate_length=max_mel_tokens)
|
||||
max_generate_length=max_mel_tokens,
|
||||
**generation_kwargs)
|
||||
all_batch_codes.append(temp_codes)
|
||||
gpt_gen_time += time.perf_counter() - m_start_time
|
||||
|
||||
@ -494,7 +495,7 @@ class IndexTTS:
|
||||
return (sampling_rate, wav_data)
|
||||
|
||||
# 原始推理模式
|
||||
def infer(self, audio_prompt, text, output_path, verbose=False, max_text_tokens_per_sentence=120, **sample_kwargs):
|
||||
def infer(self, audio_prompt, text, output_path, verbose=False, max_text_tokens_per_sentence=120, **generation_kwargs):
|
||||
print(">> start inference...")
|
||||
self._set_gr_progress(0, "start inference...")
|
||||
if verbose:
|
||||
@ -529,15 +530,15 @@ class IndexTTS:
|
||||
print("sentences count:", len(sentences))
|
||||
print("max_text_tokens_per_sentence:", max_text_tokens_per_sentence)
|
||||
print(*sentences, sep="\n")
|
||||
do_sample = sample_kwargs.pop("do_sample", True)
|
||||
top_p = sample_kwargs.pop("top_p", 0.8)
|
||||
top_k = sample_kwargs.pop("top_k", 30)
|
||||
temperature = sample_kwargs.pop("temperature", 1.0)
|
||||
do_sample = generation_kwargs.pop("do_sample", True)
|
||||
top_p = generation_kwargs.pop("top_p", 0.8)
|
||||
top_k = generation_kwargs.pop("top_k", 30)
|
||||
temperature = generation_kwargs.pop("temperature", 1.0)
|
||||
autoregressive_batch_size = 1
|
||||
length_penalty = sample_kwargs.pop("length_penalty", 0.0)
|
||||
num_beams = sample_kwargs.pop("num_beams", 3)
|
||||
repetition_penalty = sample_kwargs.pop("repetition_penalty", 10.0)
|
||||
max_mel_tokens = sample_kwargs.pop("max_mel_tokens", 600)
|
||||
length_penalty = generation_kwargs.pop("length_penalty", 0.0)
|
||||
num_beams = generation_kwargs.pop("num_beams", 3)
|
||||
repetition_penalty = generation_kwargs.pop("repetition_penalty", 10.0)
|
||||
max_mel_tokens = generation_kwargs.pop("max_mel_tokens", 600)
|
||||
sampling_rate = 24000
|
||||
# lang = "EN"
|
||||
# lang = "ZH"
|
||||
@ -579,7 +580,8 @@ class IndexTTS:
|
||||
length_penalty=length_penalty,
|
||||
num_beams=num_beams,
|
||||
repetition_penalty=repetition_penalty,
|
||||
max_generate_length=max_mel_tokens)
|
||||
max_generate_length=max_mel_tokens,
|
||||
**generation_kwargs)
|
||||
gpt_gen_time += time.perf_counter() - m_start_time
|
||||
if not has_warned and (codes[:, -1] != self.stop_mel_token).any():
|
||||
warnings.warn(
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user