Usage

To run spib, we proposed two scripts in scripts:

For preliminary analyses

python test_model.py    -dt # Time delay delta t in terms of # of minimal time resolution of the trajectory data
            -d  # Dimension of RC or bottleneck
            -encoder_type   # Encoder type (Linear or Nonlinear)
            -n1 # Number of nodes in each hidden layer of the encoder
            -n2 # Number of nodes in each hidden layer of the decoder
            -bs # Batch size
            -threshold  # Threshold of the predicted state population change used to measure the convergence of training for each iteration
            -patience   # Number of epochs with the change of the state population smaller than the threshold after which this iteration of training finishes
            -refinements    # Number of refinements
            -lr # Learning rate of Adam optimizer
            -b  # Hyperparameter beta
            -label  # Path to the initial state labels
            -traj   # Path to the trajectory data
            -w  # Path to the weights of the samples
            -seed   # Random seed
            -UpdateLabel    # Whether to refine the labels during the training process
            -SaveTrajResults    # Whether save trajectory results

Example

Train and test SPIB on the four-well analytical potential:

python test_model.py -dt 50 -d 1 -encoder_type Nonlinear -bs 512 -threshold 0.01 -patience 2 -refinements 8 -lr 0.001 -b 0.01 -seed 0 -label examples/Four_Well_beta3_gamma4_init_label10.npy -traj examples/Four_Well_beta3_gamma4_traj_data.npy

For advanced analyses

python test_model_advanced.py   -config # Input the configuration file

Here, a configuration file in INI format is supported, which allows a more flexible control of the training process. A sample configuration file is shown in the scripts/examples subdirectory. Two advanced features are included:

  • It supports simple grid search to tune the hyper-parameters;

  • It also allows multiple trajectories with different weights as the input data;

  • It supports the use of learning rate decay to speed up the convergence especially for the first refinement.

Example

Train and test SPIB on the four-well analytical potential:

python test_model_advanced.py -config examples/sample_config.ini