You can fine-tune the base model (or a model you trained yourself) on specific properties (e.g., dft_mag_density).
Single Property Fine-tuning:
Use mattergen-finetune. You must specify the adapter.pretrained_name (either mattergen_base or your custom $MODEL_PATH) and use Hydra overrides to map the property to the adapter's embeddings.
Multi-property Fine-tuning:
To fine-tune on multiple properties, add an override for each property using the pattern: +lightning_module/diffusion_module/model/property_embeddings@adapter.adapter.property_embeddings_adapt.<property>=<property> and include all properties in the data_module.properties list.
# Single property fine-tuning
export PROPERTY=dft_mag_density
mattergen-finetune adapter.pretrained_name=mattergen_base data_module=mp_20 +lightning_module/diffusion_module/model/property_embeddings@adapter.adapter.property_embeddings_adapt.$PROPERTY=$PROPERTY ~trainer.logger data_module.properties=["$PROPERTY"]
# Multi-property fine-tuning
export PROPERTY1=dft_mag_density
export PROPERTY2=dft_band_gap
export MODEL_NAME=mattergen_base
mattergen-finetune adapter.pretrained_name=$MODEL_NAME data_module=mp_20 +lightning_module/diffusion_module/model/property_embeddings@adapter.adapter.property_embeddings_adapt.$PROPERTY1=$PROPERTY1 +lightning_module/diffusion_module/model/property_embeddings@adapter.adapter.property_embeddings_adapt.$PROPERTY2=$PROPERTY2 ~trainer.logger data_module.properties=["$PROPERTY1","$PROPERTY2"]