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
- Returns
Language model instance.
- Return type
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
tolast_ckpt
.The last checkpoint is included.
- Parameters
- Returns
All available checkpoints of the experiment. Checkpoints are sorted in ascending order.
- Return type
- 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
- Returns
Pre-trained language model instance.
- Return type
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