lmp.util.model#

Model utilities.

lmp.util.model.create(model_name: str, **kwargs: Any) BaseModel[source]#

Create language model instance by language model’s name.

Language model’s arguments are collected in **kwargs and are passed directly to language model’s constructor.

Parameters
  • model_name (str) – Name of the language model to create.

  • kwargs (Any, optional) – Model’s hyperparameters.

Returns

Language model instance.

Return type

BaseModel

See also

lmp.model

All available language models.

lmp.tknzr

All available tokenizers.

Examples

>>> from lmp.model import ElmanNet
>>> from lmp.tknzr import CharTknzr
>>> import lmp.util.model
>>> tknzr = CharTknzr()
>>> model = lmp.util.model.create(model_name=ElmanNet.model_name, tknzr=tknzr)
>>> assert isinstance(model, ElmanNet)
lmp.util.model.list_ckpts(exp_name: str, first_ckpt: int, last_ckpt: int) List[int][source]#

List all pre-trained model checkpoints from first_ckpt to last_ckpt.

The last checkpoint is included.

Parameters
  • exp_name (str) – Pre-trained language model experiment name.

  • first_ckpt (int) – First checkpoint to include. Set to -1 to include only the last checkpoint.

  • last_ckpt (int) – Last checkpoint to include. Set to -1 to include all checkpoints whose number is greater than first_ckpt.

Returns

All available checkpoints of the experiment. Checkpoints are sorted in ascending order.

Return type

list[int]

lmp.util.model.load(ckpt: int, exp_name: str) BaseModel[source]#

Load pre-trained language model instance by checkpoint and experiment name.

Load pre-trained language model from path project_root/exp/exp_name.

Parameters
  • ckpt (int) – Saving checkpoint number. Set to -1 to load the last checkpoint.

  • exp_name (str) – Pre-trained language model experiment name.

Returns

Pre-trained language model instance.

Return type

BaseModel

See also

lmp.model

All available language models.

Examples

>>> from lmp.model import ElmanNet
>>> from lmp.tknzr import CharTknzr
>>> import lmp.util.model
>>> tknzr = CharTknzr()
>>> model = ElmanNet(tknzr=tknzr)
>>> lmp.util.model.save(ckpt=0, exp_name='test', model=model)
>>> load_model = lmp.util.model.load(ckpt=0, exp_name='test')
>>> assert torch.all(load_model.emb.weight == model.emb.weight)
lmp.util.model.save(ckpt: int, exp_name: str, model: BaseModel) None[source]#

Save model checkpoint.

Danger

This method overwrite existing files. Make sure you know what you are doing before calling this method.

Parameters
  • ckpt (int) – Saving checkpoint number.

  • exp_name (int) – Language model training experiment name.

  • model (lmp.model.BaseModel) – Model to be saved.

Return type

None

See also

load

Load pre-trained language model instance by checkpoint and experiment name.

Examples

>>> from lmp.model import ElmanNet
>>> from lmp.tknzr import CharTknzr
>>> import lmp.util.model
>>> tknzr = CharTknzr()
>>> model = ElmanNet(tknzr=tknzr)
>>> lmp.util.model.save(ckpt=0, exp_name='test', model=model)
None