GLASS checkpoints
Trained weights for GLASS: Global Latent Aggregation with Slot-based Set Decoding for Scalable All-Atom Crystal Generation (Hendrik Kraß, Seyed Mohamad Moosavi, Mathias Niepert). Code, training, and sampling: https://github.com/henk789/glass
| File | Model |
|---|---|
mp20/seed{0,1,2}/autoencoder.pt |
MP20 autoencoder, 100k steps |
mp20/seed{0,1,2}/flow_50k.pt |
MP20 latent flow after 50k steps |
mp20/seed{0,1,2}/flow_1m.pt |
MP20 latent flow after 1M steps |
qmof150/seed{0,1,2}/autoencoder.pt |
QMOF150 autoencoder, 100k steps |
qmof150/seed{0,1,2}/flow_1m.pt |
QMOF150 latent flow after 1M steps |
All models use the paper settings in the repository's configs/; the seeds are
independent training runs. The paper reports MP20 results where novelty matters with
the 50k flow and results where validity matters with the 1M flow; QMOF150 uses 1M.
Each flow checkpoint contains its autoencoder and the latent standardization, so it can be sampled on its own. The separate autoencoder files are for training a new flow or for reconstruction.
git clone https://github.com/henk789/glass && cd glass
uv run hf download henk789/glass mp20/seed0/flow_50k.pt --local-dir checkpoints
uv run python -m glass.sample --config configs/mp20.yaml --checkpoint checkpoints/mp20/seed0/flow_50k.pt --out runs/mp20/samples
Checkpoints are PyTorch torch.save dictionaries of tensors and plain configuration
values, loadable with torch.load(path, weights_only=True).