Merge pull request #6528 from svlandeg/feature/pipe_fill_config

This commit is contained in:
Ines Montani 2020-12-09 12:01:22 +11:00 committed by GitHub
commit 90171f2031
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 9 deletions

View File

@ -45,14 +45,16 @@ def init_config_cli(
if isinstance(optimize, Optimizations): # instance of enum from the CLI
optimize = optimize.value
pipeline = string_to_list(pipeline)
init_config(
output_file,
is_stdout = str(output_file) == "-"
config = init_config(
lang=lang,
pipeline=pipeline,
optimize=optimize,
cpu=cpu,
pretraining=pretraining,
silent=is_stdout,
)
save_config(config, output_file, is_stdout=is_stdout)
@init_cli.command("fill-config")
@ -118,16 +120,15 @@ def fill_config(
def init_config(
output_file: Path,
*,
lang: str,
pipeline: List[str],
optimize: str,
cpu: bool,
pretraining: bool = False,
) -> None:
is_stdout = str(output_file) == "-"
msg = Printer(no_print=is_stdout)
silent: bool = True,
) -> Config:
msg = Printer(no_print=silent)
with TEMPLATE_PATH.open("r") as f:
template = Template(f.read())
# Filter out duplicates since tok2vec and transformer are added by template
@ -173,7 +174,7 @@ def init_config(
pretrain_config = util.load_config(DEFAULT_CONFIG_PRETRAIN_PATH)
config = pretrain_config.merge(config)
msg.good("Auto-filled config with all values")
save_config(config, output_file, is_stdout=is_stdout)
return config
def save_config(

View File

@ -8,7 +8,7 @@ from spacy.cli.init_config import init_config, RECOMMENDATIONS
from spacy.cli._util import validate_project_commands, parse_config_overrides
from spacy.cli._util import load_project_config, substitute_project_variables
from spacy.cli._util import string_to_list
from thinc.api import ConfigValidationError
from thinc.api import ConfigValidationError, Config
import srsly
import os
@ -368,7 +368,8 @@ def test_parse_cli_overrides():
@pytest.mark.parametrize("optimize", ["efficiency", "accuracy"])
def test_init_config(lang, pipeline, optimize):
# TODO: add more tests and also check for GPU with transformers
init_config("-", lang=lang, pipeline=pipeline, optimize=optimize, cpu=True)
config = init_config(lang=lang, pipeline=pipeline, optimize=optimize, cpu=True)
assert isinstance(config, Config)
def test_model_recommendations():