Test use_tok2vec, not use_transformer

Adding the transformer component requires spacy-transformers, which
isn't present in the normal test env.
This commit is contained in:
Paul O'Leary McCann 2022-12-27 18:47:24 +09:00
parent a749d2def1
commit 10bbb01bb6
2 changed files with 15 additions and 7 deletions

View File

@ -186,7 +186,14 @@ def use_transformer(
"name": transformer_name,
}
}
trf = nlp.add_pipe("transformer", config=trf_config, first=True)
try:
trf = nlp.add_pipe("transformer", config=trf_config, first=True)
except ValueError:
fail_msg = (
"Configuring a transformer requires spacy-transformers. "
"Install with: pip install spacy-transformers"
)
msg.fail(fail_msg, exits=1)
# TODO maybe remove vectors?

View File

@ -20,7 +20,7 @@ from spacy.cli._util import parse_config_overrides, string_to_list
from spacy.cli._util import substitute_project_variables
from spacy.cli._util import validate_project_commands
from spacy.cli._util import upload_file, download_file
from spacy.cli.configure import configure_resume_cli, use_transformer
from spacy.cli.configure import configure_resume_cli, use_tok2vec
from spacy.cli.debug_data import _compile_gold, _get_labels_from_model
from spacy.cli.debug_data import _get_labels_from_spancat
from spacy.cli.debug_data import _get_distribution, _get_kl_divergence
@ -1204,14 +1204,15 @@ def test_configure_resume(tmp_path):
assert "source" in val, f"Non-sourced component: {comp}"
def test_use_transformer(tmp_path):
def test_use_tok2vec(tmp_path):
# Can't add a transformer here because spacy-transformers might not be present
nlp = spacy.blank("en")
nlp.add_pipe("tok2vec")
base_path = tmp_path / "tok2vec_sample"
base_path = tmp_path / "tok2vec_sample_2"
nlp.to_disk(base_path)
out_path = tmp_path / "converted_to_trf"
conf = use_transformer(base_path, out_path)
out_path = tmp_path / "converted_to_tok2vec"
conf = use_tok2vec(base_path, out_path)
assert out_path.exists(), "No model saved"
assert "transformer" in conf["components"], "No transformer component"
assert "tok2vec" in conf["components"], "No tok2vec component"