Team Ai
Modelpublic

doouv/catalyst-diffusion-transformer

sourceHugging Facemitupdated 2mo agoView on Hugging Face
0likes
Model Card

Catalyst Diffusion Transformer (CatDiT)

![arXiv](https://arxiv.org/abs/2607.24272) ![Code](https://github.com/doouv/CatDiT.git) ![Weights](https://huggingface.co/doouv/catalyst-diffusion-transformer) ![Open in Colab](https://colab.research.google.com/github/doouv/CatDiT/blob/main/notebooks/catdit_demo.ipynb)

CatDiT is an SE(3)-equivariant latent diffusion transformer for heterogeneous catalyst inverse design, built upon ADiT. It jointly generates slab and adsorbate structures, and supports multi-conditional generation over adsorbate identity, adsorption energy, and catalyst class via classifier-free guidance.

Model Variants

CatDiT comes in several variants depending on the supported material scope and conditioning:

ModelMetal alloyOxidesAdsorbate typeBinding energyCatalyst class
CatDiT✓−
CatDiT-plus (base)✓✓−
CatDiT-A✓✓−
CatDiT-B✓✓
CatDiT-C✓✓−✓
CatDiT-AB✓✓✓

Usage

python
from huggingface_hub import hf_hub_download
from omegaconf import OmegaConf
from src.models.ldm_module import LatentDiffusionLitModule
 
REPO = "doouv/catalyst-diffusion-transformer"
ckpt = hf_hub_download(REPO, "ldm/CatDiT.ckpt")   # CatDiT-A, CatDiT-B, CatDiT-C, CatDiT-AB
vae = hf_hub_download(REPO, "vae/VAE-S.ckpt")     # VAE-L for other pretrained models
 
cg = OmegaConf.create({
    "ads_id":         {"use": True,  "value": 77},    # see ads_id mappings
    "binding_energy": {"use": True,  "value": -1.24}, # eV
    "cat_class":      {"use": False, "value": None},
})
 
model = LatentDiffusionLitModule.load_from_checkpoint(
    ckpt, autoencoder_ckpt=vae, conditional_generation=cg,
    map_location="cuda", strict=False)
model.eval()

See the GitHub repository for the full generation pipeline and evaluation scripts.

Training Data

CatDiT is trained on the OC20 and OC22 datasets.