From 61a30673c2530c98fff6751ff92ce74974df88a6 Mon Sep 17 00:00:00 2001 From: Artiprocher Date: Fri, 28 Feb 2025 15:50:07 +0800 Subject: [PATCH] align wan tokenizer to official --- diffsynth/models/wan_video_vae.py | 1 + diffsynth/prompters/wan_prompter.py | 5 +++++ requirements.txt | 1 + 3 files changed, 7 insertions(+) diff --git a/diffsynth/models/wan_video_vae.py b/diffsynth/models/wan_video_vae.py index ebbee9d..01b5484 100644 --- a/diffsynth/models/wan_video_vae.py +++ b/diffsynth/models/wan_video_vae.py @@ -785,6 +785,7 @@ class WanVideoVAE(nn.Module): video = self.single_decode(hidden_state, device) video = video.squeeze(0) videos.append(video) + videos = torch.stack(videos) return videos diff --git a/diffsynth/prompters/wan_prompter.py b/diffsynth/prompters/wan_prompter.py index d2c578d..f8c924a 100644 --- a/diffsynth/prompters/wan_prompter.py +++ b/diffsynth/prompters/wan_prompter.py @@ -2,20 +2,24 @@ from .base_prompter import BasePrompter from ..models.wan_video_text_encoder import WanTextEncoder from transformers import AutoTokenizer import os, torch +import ftfy import html import string import regex as re def basic_clean(text): + text = ftfy.fix_text(text) text = html.unescape(html.unescape(text)) return text.strip() + def whitespace_clean(text): text = re.sub(r'\s+', ' ', text) text = text.strip() return text + def canonicalize(text, keep_punctuation_exact_string=None): text = text.replace('_', ' ') if keep_punctuation_exact_string: @@ -28,6 +32,7 @@ def canonicalize(text, keep_punctuation_exact_string=None): text = re.sub(r'\s+', ' ', text) return text.strip() + class HuggingfaceTokenizer: def __init__(self, name, seq_len=None, clean=None, **kwargs): diff --git a/requirements.txt b/requirements.txt index 2e958ea..63a871b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,3 +10,4 @@ einops sentencepiece protobuf modelscope +ftfy