fix: QwenEmotion device_map=auto 与 modelscope 不兼容导致 IndexError
- 移除 device_map='auto',改为手动 .to(device) - 与 IndexTTS2 中其他模型(GPT/BigVGAN/CamPPlus)加载方式一致 - 修复 use_cuda_kernel=False 时的加载失败
This commit is contained in:
@@ -80,7 +80,7 @@ class IndexTTS2:
|
||||
self.use_accel = use_accel
|
||||
self.use_torch_compile = use_torch_compile
|
||||
|
||||
self.qwen_emo = QwenEmotion(os.path.join(self.model_dir, self.cfg.qwen_emo_path))
|
||||
self.qwen_emo = QwenEmotion(os.path.join(self.model_dir, self.cfg.qwen_emo_path), device=self.device)
|
||||
|
||||
self.gpt = UnifiedVoice(**self.cfg.gpt, use_accel=self.use_accel)
|
||||
self.gpt_path = os.path.join(self.model_dir, self.cfg.gpt_checkpoint)
|
||||
@@ -717,14 +717,14 @@ def find_most_similar_cosine(query_vector, matrix):
|
||||
return most_similar_index
|
||||
|
||||
class QwenEmotion:
|
||||
def __init__(self, model_dir):
|
||||
def __init__(self, model_dir, device="cuda:0"):
|
||||
self.model_dir = model_dir
|
||||
self.device = device
|
||||
self.tokenizer = AutoTokenizer.from_pretrained(self.model_dir)
|
||||
self.model = AutoModelForCausalLM.from_pretrained(
|
||||
self.model_dir,
|
||||
torch_dtype="float16", # "auto"
|
||||
device_map="auto"
|
||||
)
|
||||
torch_dtype="float16",
|
||||
).to(self.device)
|
||||
self.prompt = "文本情感分类"
|
||||
self.cn_key_to_en = {
|
||||
"高兴": "happy",
|
||||
|
||||
Reference in New Issue
Block a user