Download src/tokenizer.py from abdelkader-dev/FemtoXO: direct link, hf CLI and curl.
- Browser
- Download file 1.79 kB
-
https://huggingface.co/abdelkader-dev/FemtoXO/resolve/main/src/tokenizer.py
- Command line
-
hf download hf://abdelkader-dev/FemtoXO/src/tokenizer.py
-
curl -L -o tokenizer.py https://huggingface.co/abdelkader-dev/FemtoXO/resolve/main/src/tokenizer.py
1.79 kB
| """ | |
| tokenizer.py - ุจูุงุก ูุชุญู ูู Tokenizer ู ุฎุตุต ูููุญุฉ XO. | |
| """ | |
| from tokenizers import Tokenizer | |
| from tokenizers.models import WordLevel | |
| from tokenizers import pre_tokenizers, decoders | |
| from transformers import PreTrainedTokenizerFast | |
| def build_tokenizer(save_path="./xo_tokenizer"): | |
| """ | |
| ููุดุฆ Tokenizer ุนูู ู ุณุชูู ุงูู ุญุงุฑู (character-level) ู ุน ุงูุฑู ูุฒ ุงูุฎุงุตุฉ: | |
| <pad>, <eos>, <unk>. | |
| ุซู ูุญูุธู ููุนูุฏู. | |
| """ | |
| special_tokens = ["<pad>", "<eos>", "<unk>"] | |
| # ุฌู ูุน ุงูุฑู ูุฒ ุงูู ู ููุฉ ูู ุงูููุญุฉ + ุฃุฑูุงู (ููุงุณุชุฎุฏุงู ุงูู ุณุชูุจูู) | |
| vocab_chars = ['.', 'X', 'O'] + [str(i) for i in range(10)] | |
| # ุจูุงุก ุงููุงู ูุณ (ูู ุฑู ุฒ -> ู ุนุฑู) | |
| vocab = {tok: i for i, tok in enumerate(special_tokens + vocab_chars)} | |
| # ุฅูุดุงุก tokenizer ุฃุณุงุณู | |
| base_tokenizer = Tokenizer(WordLevel(vocab=vocab, unk_token="<unk>")) | |
| base_tokenizer.pre_tokenizer = pre_tokenizers.WhitespaceSplit() | |
| base_tokenizer.decoder = decoders.ByteLevel() | |
| # ุชุบูููู ููุชูุงูู ู ุน ู ูุชุจุฉ transformers | |
| tokenizer = PreTrainedTokenizerFast( | |
| tokenizer_object=base_tokenizer, | |
| bos_token=None, | |
| eos_token="<eos>", | |
| unk_token="<unk>", | |
| pad_token="<pad>", | |
| ) | |
| tokenizer.save_pretrained(save_path) | |
| print(f"โ ุชู ุจูุงุก Tokenizer ูุญูุธู ูู {save_path}") | |
| return tokenizer | |
| def load_tokenizer(tokenizer_path="./xo_tokenizer"): | |
| """ | |
| ูุญู ูู Tokenizer ู ุญููุธุงู ู ุณุจูุงู. | |
| """ | |
| tokenizer = PreTrainedTokenizerFast.from_pretrained(tokenizer_path) | |
| print(f"๐ ุชู ุชุญู ูู Tokenizer ู ู {tokenizer_path}") | |
| return tokenizer |