def test_load_model_version_compat():
    """Test warnings for various spacy_version specifications in meta. Since
    this is more of a hack for v2, manually specify the current major.minor
    version to simplify test creation."""
    nlp = util.load_model("blank:en")
    assert nlp.meta["spacy_version"].startswith(">=2.3")
    with make_tempdir() as d:
        # no change: compatible
        nlp.to_disk(d)
        meta_path = Path(d / "meta.json")
        util.get_model_meta(d)

        # additional compatible upper pin
        nlp.meta["spacy_version"] = ">=2.3.0,<2.4.0"
        srsly.write_json(meta_path, nlp.meta)
        util.get_model_meta(d)

        # incompatible older version
        nlp.meta["spacy_version"] = ">=2.2.5"
        srsly.write_json(meta_path, nlp.meta)
        with pytest.warns(UserWarning):
            util.get_model_meta(d)

        # invalid version specification
        nlp.meta["spacy_version"] = ">@#$%_invalid_version"
        srsly.write_json(meta_path, nlp.meta)
        with pytest.warns(UserWarning):
            util.get_model_meta(d)
示例#2
0
def get_lemmarules_path():
    init_path = Path(__file__)
    model_path = init_path.parent
    meta = get_model_meta(model_path)
    data_dir = "%s_%s-%s" % (meta["lang"], meta["name"], meta["version"])
    data_path = model_path / data_dir
    lemma_rules_path = data_path / "lemmy" / "rules.json"
    return lemma_rules_path
示例#3
0
文件: __init__.py 项目: yut148/ginza
 def load(self, model_path, **overrides):
     meta = get_model_meta(model_path)
     pipeline = meta.get('pipeline', [])
     disable = overrides.get('disable', [])
     if pipeline is True:
         pipeline = JapaneseDefaults.pipe_names
     elif pipeline in (False, None):
         pipeline = []
     for name in pipeline:
         if name not in disable:
             config = meta.get('pipeline_args', {}).get(name, {})
             component = self.create_pipe(name, config=config)
             self.add_pipe(component, name=name)
     self.from_disk(model_path)
     return self
示例#4
0
# coding: utf8
from __future__ import unicode_literals

from pathlib import Path
from spacy.util import load_model_from_init_py, get_model_meta

__version__ = get_model_meta(Path(__file__).parent)['version']


def load(**overrides):
    return load_model_from_init_py(__file__, **overrides)