Skip to content

Commit 58ffc8e

Browse files
authored
Revert "Serialize tokenizer use_fast setting (#339)" (#355)
This reverts commit 7482d85. Because this change can cause backwards incompatibility within models saved by v1.1.x, I think it would be better for it to wait for v1.2.
1 parent 34bb672 commit 58ffc8e

4 files changed

Lines changed: 2 additions & 41 deletions

File tree

azure-pipelines.yml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -86,10 +86,3 @@ jobs:
8686
pip install https://github.com/explosion/spacy-models/releases/download/en_core_web_trf-3.1.0/en_core_web_trf-3.1.0-py3-none-any.whl --no-deps
8787
python -c "import spacy; nlp = spacy.load('en_core_web_trf'); doc = nlp('test')"
8888
displayName: 'Test backwards compatibility for v1.0 models'
89-
condition: and(startsWith(variables['imageName'], 'ubuntu'), eq(variables['python.version'], '3.9'))
90-
91-
- script: |
92-
pip install https://github.com/explosion/spacy-models/releases/download/en_core_web_trf-3.4.0/en_core_web_trf-3.4.0-py3-none-any.whl --no-deps
93-
python -c "import spacy; nlp = spacy.load('en_core_web_trf'); doc = nlp('test')"
94-
displayName: 'Test backwards compatibility for v1.1 models'
95-
condition: and(startsWith(variables['imageName'], 'ubuntu'), eq(variables['python.version'], '3.9'))

spacy_transformers/layers/hf_shim.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,6 @@ def to_bytes(self):
6464
with open(vocab_file_path, "wb") as fileh:
6565
fileh.write(hf_model.vocab_file_contents)
6666
tokenizer.vocab_file = vocab_file_path
67-
tok_dict["kwargs"] = {"use_fast": tokenizer.is_fast}
6867
tokenizer.save_pretrained(str(temp_dir.absolute()))
6968
for x in temp_dir.glob("**/*"):
7069
if x.is_file():
@@ -94,10 +93,9 @@ def from_bytes(self, bytes_data):
9493
config_file = temp_dir / "config.json"
9594
srsly.write_json(config_file, config_dict)
9695
config = self.config_cls.from_pretrained(config_file)
97-
tok_kwargs = tok_dict.pop("kwargs", {})
9896
for x, x_bytes in tok_dict.items():
9997
Path(temp_dir / x).write_bytes(x_bytes)
100-
tokenizer = self.tokenizer_cls.from_pretrained(str(temp_dir.absolute()), **tok_kwargs)
98+
tokenizer = self.tokenizer_cls.from_pretrained(str(temp_dir.absolute()))
10199
vocab_file_contents = None
102100
if hasattr(tokenizer, "vocab_file"):
103101
vocab_file_name = tokenizer.vocab_files_names["vocab_file"]

spacy_transformers/tests/test_model_wrapper.py

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -51,18 +51,11 @@ def trf_model(name, output_attentions, output_hidden_states):
5151
"output_hidden_states": output_hidden_states,
5252
},
5353
)
54-
5554
else:
56-
# test slow tokenizers with distilbert-base-uncased (parameterizing
57-
# for all models blows up the memory usage during the test suite)
58-
if name == "distilbert-base-uncased":
59-
use_fast = False
60-
else:
61-
use_fast = True
6255
model = TransformerModel(
6356
name,
6457
get_doc_spans,
65-
{"use_fast": use_fast},
58+
{"use_fast": True},
6659
{
6760
"output_attentions": output_attentions,
6861
"output_hidden_states": output_hidden_states,
@@ -74,10 +67,6 @@ def trf_model(name, output_attentions, output_hidden_states):
7467

7568
def test_model_init(name, trf_model):
7669
assert isinstance(trf_model, Model)
77-
if name == "distilbert-base-uncased":
78-
assert not trf_model.tokenizer.is_fast
79-
else:
80-
assert trf_model.tokenizer.is_fast
8170

8271

8372
def test_model_predict(docs, trf_model):

spacy_transformers/tests/test_serialize.py

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import pytest
2-
import copy
32
import spacy
43
from spacy import Language
54
from spacy.lang.en import English
@@ -19,7 +18,6 @@
1918
"model": {
2019
"@architectures": "spacy-transformers.TransformerModel.v3",
2120
"name": "distilbert-base-uncased",
22-
"tokenizer_config": {"use_fast": False},
2321
}
2422
}
2523

@@ -74,8 +72,6 @@ def test_initialized_transformer_tobytes():
7472
trf2 = nlp2.add_pipe("transformer", config=DEFAULT_CONFIG)
7573
trf2.from_bytes(trf_bytes)
7674

77-
assert trf2.model.tokenizer.is_fast is False
78-
7975

8076
def test_initialized_transformer_todisk():
8177
nlp = Language()
@@ -87,21 +83,6 @@ def test_initialized_transformer_todisk():
8783
trf2 = nlp2.add_pipe("transformer", config=DEFAULT_CONFIG)
8884
trf2.from_disk(d)
8985

90-
assert trf2.model.tokenizer.is_fast is False
91-
92-
fast_config = copy.deepcopy(DEFAULT_CONFIG)
93-
fast_config["model"]["tokenizer_config"]["use_fast"] = True
94-
nlp = Language()
95-
trf = nlp.add_pipe("transformer", config=fast_config)
96-
nlp.initialize()
97-
with make_tempdir() as d:
98-
trf.to_disk(d)
99-
nlp2 = Language()
100-
trf2 = nlp2.add_pipe("transformer", config=fast_config)
101-
trf2.from_disk(d)
102-
103-
assert trf2.model.tokenizer.is_fast is True
104-
10586

10687
def test_transformer_pipeline_tobytes():
10788
nlp = Language()

0 commit comments

Comments
 (0)