Felipe97/llama-cpp-compiled
01.1k
1from __future__ import annotations2 3from typing import Callable, TYPE_CHECKING4 5if TYPE_CHECKING:6 from torch import Tensor7 8from .base import ModelBase, TextModel, gguf, logger9 10 11@ModelBase.register("WavTokenizerDec")12@ModelBase.example("novateur/WavTokenizer-large-speech-75token")13class WavTokenizerDecModel(TextModel):14 model_arch = gguf.MODEL_ARCH.WAVTOKENIZER_DEC15 16 @classmethod17 def filter_tensors(cls, item: tuple[str, Callable[[], Tensor]]) -> tuple[str, Callable[[], Tensor]] | None:18 name, gen = item19 20 if \21 name.endswith("codebook.cluster_size") or \22 name.endswith("codebook.embed_avg") or \23 name.endswith("codebook.inited"):24 logger.debug(f"Skipping {name!r}")25 return None26 27 return super().filter_tensors(item)28 29 def set_vocab(self):30 self._set_vocab_none()31 32 def set_gguf_parameters(self):33 super().set_gguf_parameters()34 self.gguf_writer.add_vocab_size (self.hparams["vocab_size"])35 self.gguf_writer.add_features_length (self.hparams["n_embd_features"])36 self.gguf_writer.add_feed_forward_length(self.hparams["n_ff"])37 self.gguf_writer.add_group_norm_eps (self.hparams["group_norm_epsilon"])38 self.gguf_writer.add_group_norm_groups (self.hparams["group_norm_groups"])39 40 self.gguf_writer.add_posnet_embedding_length(self.hparams["posnet"]["n_embd"])41 self.gguf_writer.add_posnet_block_count (self.hparams["posnet"]["n_layer"])42 43 self.gguf_writer.add_convnext_embedding_length(self.hparams["convnext"]["n_embd"])44 self.gguf_writer.add_convnext_block_count (self.hparams["convnext"]["n_layer"])45 46 self.gguf_writer.add_causal_attention(False)47 