Skip to content

mmml efield-train

Train external electric-field PhysNet.

Usage

mmml efield-train --help

Options

usage: mmml efield-train [-h] [--data DATA] [--train-npz TRAIN_NPZ]
                         [--valid-npz VALID_NPZ] [--test-npz TEST_NPZ]
                         [--output-dir OUTPUT_DIR] [--features FEATURES]
                         [--max_degree MAX_DEGREE]
                         [--num_iterations NUM_ITERATIONS]
                         [--num_basis_functions NUM_BASIS_FUNCTIONS]
                         [--cutoff CUTOFF] [--num_train NUM_TRAIN]
                         [--num_valid NUM_VALID] [--num_epochs NUM_EPOCHS]
                         [--learning_rate LEARNING_RATE]
                         [--batch_size BATCH_SIZE] [--clip_norm CLIP_NORM]
                         [--ema_decay EMA_DECAY]
                         [--early_stopping_patience EARLY_STOPPING_PATIENCE]
                         [--early_stopping_min_delta EARLY_STOPPING_MIN_DELTA]
                         [--reduce_on_plateau_patience REDUCE_ON_PLATEAU_PATIENCE]
                         [--reduce_on_plateau_cooldown REDUCE_ON_PLATEAU_COOLDOWN]
                         [--reduce_on_plateau_factor REDUCE_ON_PLATEAU_FACTOR]
                         [--reduce_on_plateau_rtol REDUCE_ON_PLATEAU_RTOL]
                         [--reduce_on_plateau_accumulation_size REDUCE_ON_PLATEAU_ACCUMULATION_SIZE]
                         [--reduce_on_plateau_min_scale REDUCE_ON_PLATEAU_MIN_SCALE]
                         [--restart RESTART] [--energy_weight ENERGY_WEIGHT]
                         [--forces_weight FORCES_WEIGHT]
                         [--dipole_weight DIPOLE_WEIGHT]
                         [--charge_weight CHARGE_WEIGHT]
                         [--dipole_field_coupling] [--field_scale FIELD_SCALE]
                         [--electrostatics_damping_sigma ELECTROSTATICS_DAMPING_SIGMA]
                         [--zbl]
                         [--include-pseudotensors | --no-include-pseudotensors]
                         [--gradient-checkpoint] [--rot-augment]
                         [--rot-perturbation ROT_PERTURBATION] [--verbose]
                         [--save-every N]

Input & configuration:
  --data DATA           Single merged NPZ; random train/valid split via --num-
                        train / --num-valid
  --gradient-checkpoint
                        Use gradient checkpointing to reduce GPU memory (slower
                        training)

Scientific model:
  --num_basis_functions NUM_BASIS_FUNCTIONS
  --cutoff CUTOFF
  --energy_weight ENERGY_WEIGHT
                        Weight for energy loss in total loss
  --forces_weight FORCES_WEIGHT
                        Weight for forces loss in total loss
  --charge_weight CHARGE_WEIGHT
                        Weight for charge neutrality loss (sum of charges per
                        molecule squared)
  --dipole_field_coupling
                        Add explicit E_total = E_nn + mu·Ef coupling
  --field_scale FIELD_SCALE
                        Ef_phys = Ef_input * field_scale (au)

Execution:
  --num_epochs NUM_EPOCHS
  --batch_size BATCH_SIZE
                        Batch size (default 256; use 128 or 64 if OOM)
  --electrostatics_damping_sigma ELECTROSTATICS_DAMPING_SIGMA
                        Apply erf(r/sigma) damping to learned-charge Coulomb;
                        set 0 to disable
  --include-pseudotensors, --no-include-pseudotensors
                        Equivariant parity dimension in e3x MessagePass /
                        tensors (default: on)

Output & artifacts:
  --output-dir OUTPUT_DIR
                        Directory for params-*.json, config-*.json, and symlinks
  --save-every N        Save EMA checkpoint every N epochs to params-epoch-
                        NNNN-<uuid>.json (0 = no periodic saves)

Diagnostics & safety:
  -h, --help            show this help message and exit
  --verbose             Print extra debug output (e.g. [STRUCT] parameter tree
                        dumps)

Other options:
  --train-npz TRAIN_NPZ
                        Training split NPZ (R,Z,N,E,F,Ef[,Dxyz|D]) — use with
                        --valid-npz instead of --data
  --valid-npz VALID_NPZ
                        Validation split NPZ (same keys as train)
  --test-npz TEST_NPZ   Optional test NPZ: only print shapes (not used for
                        training)
  --features FEATURES
  --max_degree MAX_DEGREE
  --num_iterations NUM_ITERATIONS
  --num_train NUM_TRAIN
  --num_valid NUM_VALID
  --learning_rate LEARNING_RATE
  --clip_norm CLIP_NORM
  --ema_decay EMA_DECAY
  --early_stopping_patience EARLY_STOPPING_PATIENCE
  --early_stopping_min_delta EARLY_STOPPING_MIN_DELTA
  --reduce_on_plateau_patience REDUCE_ON_PLATEAU_PATIENCE
  --reduce_on_plateau_cooldown REDUCE_ON_PLATEAU_COOLDOWN
  --reduce_on_plateau_factor REDUCE_ON_PLATEAU_FACTOR
  --reduce_on_plateau_rtol REDUCE_ON_PLATEAU_RTOL
  --reduce_on_plateau_accumulation_size REDUCE_ON_PLATEAU_ACCUMULATION_SIZE
  --reduce_on_plateau_min_scale REDUCE_ON_PLATEAU_MIN_SCALE
  --restart RESTART
  --dipole_weight DIPOLE_WEIGHT
                        Weight for dipole loss in total loss
  --zbl                 Add ZBL nuclear repulsion for short-range stability
  --rot-augment         Apply random SO(3) rotation augmentation to batches (all
                        splits)
  --rot-perturbation ROT_PERTURBATION
                        Rotation perturbation strength in [0, 1] (used with
                        --rot-augment)

← CLI overview · All commands