Modelhub Reference#

Modelhub defines one or more force fields (FF IDs), their architectures, layer stacks, losses, and per-model metrics.

Structure#

Modelhub:
    internal_FFs:
        FF02:
            suffix: '19'
            architecture: SpookyNet
            active: true
            pretrain_path: /path/to/previous/model
            build_params:
                dim_embedding: 128
                num_rbf: 16
                max_Za: 86
                cutoff_sr: 5.291772108
                Hartree_in_E: 1
                Bohr_in_R: 0.5291772108
            layers:
                - name: RangeSeparation
                - name: Core
                  params: {num_modules: 6}
                - name: Force
            loss:
                rmse:
                    E: 1
                    Fa: 0.91656181
            Metric:
                E:
                    rmse: 1
                Fa:
                    rmse: 0.91656181
    external_FFs:
        FF06:
            architecture: NequIP
            active: false

Key fields#

active

Only active models are trained, loaded for predict/simulate, or served by listen.

suffix

Appended to checkpoint directory names (FF02_19/).

pretrain_path

Directory with best/ or last/ weights to initialize training.

build_params

Shared hyperparameters passed to all layers unless overridden in params.

loss

Weighted sum of registered loss types (rmse, mae, crps, etc.).

Metric

Per-model validation metric for early stopping (judge_score).

Output layout#

After training with -o out/:

out/
├── config.yaml
├── FF02_19/
│   ├── best/model_best.pth
│   └── last/model_last.pth
└── logs/

For committees, expect model0, model1, … under best/ and last/.

Multiple models#

You may define many FF entries in one YAML but set active: true only on those you want. Predict and simulate load all active models from the saved config.yaml.