ice-012-audio / tokenization_iceAudio.py
darkps's picture
ice-012-audio AI TTS Model By: DarkPs
2afa665
Raw History Blame
1.5 kB
import json
from pathlib import Path
from transformers import PreTrainedTokenizerFast
class iceAudioTokenizer(PreTrainedTokenizerFast):
model_input_names = ["input_ids", "attention_mask"]
vocab_files_names = {"tokenizer_file": "tokenizer.json"}
def __init__(self, tokenizer_file=None, **kwargs):
super().__init__(tokenizer_file=tokenizer_file, **kwargs)
@classmethod
def from_pretrained(cls, pretrained_model_name_or_path, *init_inputs, **kwargs):
path = Path(pretrained_model_name_or_path)
if path.is_dir() and (path / "tokenizer.json").is_file():
cfg_path = path / "tokenizer_config.json"
cfg = json.loads(cfg_path.read_text(encoding="utf-8")) if cfg_path.is_file() else {}
allowed = {"bos_token","eos_token","unk_token","pad_token","sep_token","cls_token","mask_token",
"extra_special_tokens","additional_special_tokens","chat_template","model_max_length",
"padding_side","truncation_side","clean_up_tokenization_spaces","split_special_tokens",
"add_prefix_space","errors"}
init_kwargs = {k:v for k,v in cfg.items() if k in allowed}
init_kwargs.update(kwargs)
init_kwargs.pop("tokenizer_file", None)
return cls(tokenizer_file=str(path / "tokenizer.json"), **init_kwargs)
return super().from_pretrained(pretrained_model_name_or_path, *init_inputs, **kwargs)
__all__ = ["iceAudioTokenizer"]