tokenizers is now a real dependency
This commit is contained in:
1
setup.py
1
setup.py
@@ -86,6 +86,7 @@ setup(
|
|||||||
packages=find_packages("src"),
|
packages=find_packages("src"),
|
||||||
install_requires=[
|
install_requires=[
|
||||||
"numpy",
|
"numpy",
|
||||||
|
"tokenizers",
|
||||||
# accessing files from S3 directly
|
# accessing files from S3 directly
|
||||||
"boto3",
|
"boto3",
|
||||||
# filesystem locks e.g. to prevent parallel downloads
|
# filesystem locks e.g. to prevent parallel downloads
|
||||||
|
|||||||
@@ -20,6 +20,8 @@ import logging
|
|||||||
import os
|
import os
|
||||||
import unicodedata
|
import unicodedata
|
||||||
|
|
||||||
|
import tokenizers as tk
|
||||||
|
|
||||||
from .tokenization_utils import FastPreTrainedTokenizer, PreTrainedTokenizer
|
from .tokenization_utils import FastPreTrainedTokenizer, PreTrainedTokenizer
|
||||||
|
|
||||||
|
|
||||||
@@ -552,49 +554,41 @@ class BertTokenizerFast(FastPreTrainedTokenizer):
|
|||||||
add_special_tokens=True,
|
add_special_tokens=True,
|
||||||
**kwargs
|
**kwargs
|
||||||
):
|
):
|
||||||
|
super(BertTokenizerFast, self).__init__(
|
||||||
|
unk_token=unk_token,
|
||||||
|
sep_token=sep_token,
|
||||||
|
pad_token=pad_token,
|
||||||
|
cls_token=cls_token,
|
||||||
|
mask_token=mask_token,
|
||||||
|
**kwargs
|
||||||
|
)
|
||||||
|
|
||||||
try:
|
self._tokenizer = tk.Tokenizer(tk.models.WordPiece.from_files(vocab_file, unk_token=unk_token))
|
||||||
from tokenizers import Tokenizer, models, pre_tokenizers, decoders, processors
|
self._update_special_tokens()
|
||||||
|
self._tokenizer.with_pre_tokenizer(
|
||||||
super(BertTokenizerFast, self).__init__(
|
tk.pre_tokenizers.BertPreTokenizer.new(
|
||||||
unk_token=unk_token,
|
do_basic_tokenize=do_basic_tokenize,
|
||||||
sep_token=sep_token,
|
do_lower_case=do_lower_case,
|
||||||
pad_token=pad_token,
|
tokenize_chinese_chars=tokenize_chinese_chars,
|
||||||
cls_token=cls_token,
|
never_split=never_split if never_split is not None else [],
|
||||||
mask_token=mask_token,
|
|
||||||
**kwargs
|
|
||||||
)
|
)
|
||||||
|
)
|
||||||
|
self._tokenizer.with_decoder(tk.decoders.WordPiece.new())
|
||||||
|
|
||||||
self._tokenizer = Tokenizer(models.WordPiece.from_files(vocab_file, unk_token=unk_token))
|
if add_special_tokens:
|
||||||
self._update_special_tokens()
|
self._tokenizer.with_post_processor(
|
||||||
self._tokenizer.with_pre_tokenizer(
|
tk.processors.BertProcessing.new(
|
||||||
pre_tokenizers.BertPreTokenizer.new(
|
(sep_token, self._tokenizer.token_to_id(sep_token)),
|
||||||
do_basic_tokenize=do_basic_tokenize,
|
(cls_token, self._tokenizer.token_to_id(cls_token)),
|
||||||
do_lower_case=do_lower_case,
|
|
||||||
tokenize_chinese_chars=tokenize_chinese_chars,
|
|
||||||
never_split=never_split if never_split is not None else [],
|
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
self._tokenizer.with_decoder(decoders.WordPiece.new())
|
if max_length is not None:
|
||||||
|
self._tokenizer.with_truncation(max_length, stride, truncation_strategy)
|
||||||
if add_special_tokens:
|
self._tokenizer.with_padding(
|
||||||
self._tokenizer.with_post_processor(
|
max_length if pad_to_max_length else None,
|
||||||
processors.BertProcessing.new(
|
self.padding_side,
|
||||||
(sep_token, self._tokenizer.token_to_id(sep_token)),
|
self.pad_token_id,
|
||||||
(cls_token, self._tokenizer.token_to_id(cls_token)),
|
self.pad_token_type_id,
|
||||||
)
|
self.pad_token,
|
||||||
)
|
)
|
||||||
if max_length is not None:
|
self._decoder = tk.decoders.WordPiece.new()
|
||||||
self._tokenizer.with_truncation(max_length, stride, truncation_strategy)
|
|
||||||
self._tokenizer.with_padding(
|
|
||||||
max_length if pad_to_max_length else None,
|
|
||||||
self.padding_side,
|
|
||||||
self.pad_token_id,
|
|
||||||
self.pad_token_type_id,
|
|
||||||
self.pad_token,
|
|
||||||
)
|
|
||||||
self._decoder = decoders.WordPiece.new()
|
|
||||||
|
|
||||||
except (AttributeError, ImportError) as e:
|
|
||||||
logger.error("Make sure you installed `tokenizers` with `pip install tokenizers==0.0.8`")
|
|
||||||
raise e
|
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import os
|
|||||||
from functools import lru_cache
|
from functools import lru_cache
|
||||||
|
|
||||||
import regex as re
|
import regex as re
|
||||||
|
import tokenizers as tk
|
||||||
|
|
||||||
from .tokenization_utils import FastPreTrainedTokenizer, PreTrainedTokenizer
|
from .tokenization_utils import FastPreTrainedTokenizer, PreTrainedTokenizer
|
||||||
|
|
||||||
@@ -267,29 +268,21 @@ class GPT2TokenizerFast(FastPreTrainedTokenizer):
|
|||||||
truncation_strategy="longest_first",
|
truncation_strategy="longest_first",
|
||||||
**kwargs
|
**kwargs
|
||||||
):
|
):
|
||||||
|
super(GPT2TokenizerFast, self).__init__(
|
||||||
|
bos_token=bos_token, eos_token=eos_token, unk_token=unk_token, **kwargs
|
||||||
|
)
|
||||||
|
|
||||||
try:
|
self._tokenizer = tk.Tokenizer(tk.models.BPE.from_files(vocab_file, merges_file))
|
||||||
from tokenizers import Tokenizer, models, pre_tokenizers, decoders
|
self._update_special_tokens()
|
||||||
|
self._tokenizer.with_pre_tokenizer(tk.pre_tokenizers.ByteLevel.new(add_prefix_space))
|
||||||
super(GPT2TokenizerFast, self).__init__(
|
self._tokenizer.with_decoder(tk.decoders.ByteLevel.new())
|
||||||
bos_token=bos_token, eos_token=eos_token, unk_token=unk_token, **kwargs
|
if max_length:
|
||||||
)
|
self._tokenizer.with_truncation(max_length, stride, truncation_strategy)
|
||||||
|
self._tokenizer.with_padding(
|
||||||
self._tokenizer = Tokenizer(models.BPE.from_files(vocab_file, merges_file))
|
max_length if pad_to_max_length else None,
|
||||||
self._update_special_tokens()
|
self.padding_side,
|
||||||
self._tokenizer.with_pre_tokenizer(pre_tokenizers.ByteLevel.new(add_prefix_space))
|
self.pad_token_id if self.pad_token_id is not None else 0,
|
||||||
self._tokenizer.with_decoder(decoders.ByteLevel.new())
|
self.pad_token_type_id,
|
||||||
if max_length:
|
self.pad_token if self.pad_token is not None else "",
|
||||||
self._tokenizer.with_truncation(max_length, stride, truncation_strategy)
|
)
|
||||||
self._tokenizer.with_padding(
|
self._decoder = tk.decoders.ByteLevel.new()
|
||||||
max_length if pad_to_max_length else None,
|
|
||||||
self.padding_side,
|
|
||||||
self.pad_token_id if self.pad_token_id is not None else 0,
|
|
||||||
self.pad_token_type_id,
|
|
||||||
self.pad_token if self.pad_token is not None else "",
|
|
||||||
)
|
|
||||||
self._decoder = decoders.ByteLevel.new()
|
|
||||||
|
|
||||||
except (AttributeError, ImportError) as e:
|
|
||||||
logger.error("Make sure you installed `tokenizers` with `pip install tokenizers==0.0.8`")
|
|
||||||
raise e
|
|
||||||
|
|||||||
Reference in New Issue
Block a user