Auto-dispatching wrapper that loads a world model.
Resolves names like "planet_world_model" to their concrete
{Family}ForWorldModeling subclass.
A world model here is a latent dynamics model: it consumes a trajectory of observations and actions and predicts how the latent state evolves, rather than mapping one input to one label. Its forward therefore takes two sequences, not a single tensor.
Notes
All ForWorldModeling subclasses expose observe(...) — filter a
trajectory into posterior states — and imagine(...) — roll the
dynamics forward from a state with no observations at all. The second
is what planning and policy learning are built on: it is a forward pass
over the model's own parameters, with no environment involved.
Examples
Only diamond_world_model has published weights; the PlaNet and
Dreamer entries are architectures without checkpoints, so asking for
one is refused rather than answered with random parameters.
>>> from lucid.models import AutoModelForWorldModeling
>>> AutoModelForWorldModeling.from_pretrained("planet_world_model")
Traceback (most recent call last):
...
NotImplementedError: No pretrained weights are published for planet_world_model; planet_world_model(pretrained=True) cannot be honoured.
Build one directly to work with the architecture itself:
>>> from lucid.models import create_model
>>> model = create_model("planet_world_model")
>>> type(model).__name__
'PlaNetForWorldModeling'