Support model name in init-model

This commit is contained in:
Matthew Honnibal 2019-09-26 03:01:32 +02:00
parent d0b30bf8cd
commit 27ace84f4a

View File

@ -41,6 +41,7 @@ msg = Printer()
"vn", "vn",
str, str,
), ),
model_name=("Optional name for the model meta", "option", "mn", str),
) )
def init_model( def init_model(
lang, lang,
@ -51,6 +52,7 @@ def init_model(
vectors_loc=None, vectors_loc=None,
prune_vectors=-1, prune_vectors=-1,
vectors_name=None, vectors_name=None,
model_name=None,
): ):
""" """
Create a new model from raw data, like word frequencies, Brown clusters Create a new model from raw data, like word frequencies, Brown clusters
@ -82,7 +84,7 @@ def init_model(
lex_attrs = read_attrs_from_deprecated(freqs_loc, clusters_loc) lex_attrs = read_attrs_from_deprecated(freqs_loc, clusters_loc)
with msg.loading("Creating model..."): with msg.loading("Creating model..."):
nlp = create_model(lang, lex_attrs) nlp = create_model(lang, lex_attrs, name=model_name)
msg.good("Successfully created model") msg.good("Successfully created model")
if vectors_loc is not None: if vectors_loc is not None:
add_vectors(nlp, vectors_loc, prune_vectors, vectors_name) add_vectors(nlp, vectors_loc, prune_vectors, vectors_name)
@ -145,7 +147,7 @@ def read_attrs_from_deprecated(freqs_loc, clusters_loc):
return lex_attrs return lex_attrs
def create_model(lang, lex_attrs): def create_model(lang, lex_attrs, name=None):
lang_class = get_lang_class(lang) lang_class = get_lang_class(lang)
nlp = lang_class() nlp = lang_class()
for lexeme in nlp.vocab: for lexeme in nlp.vocab:
@ -164,6 +166,8 @@ def create_model(lang, lex_attrs):
else: else:
oov_prob = DEFAULT_OOV_PROB oov_prob = DEFAULT_OOV_PROB
nlp.vocab.cfg.update({"oov_prob": oov_prob}) nlp.vocab.cfg.update({"oov_prob": oov_prob})
if name:
nlp.meta["name"] = name
return nlp return nlp