File size: 2,593 Bytes
2200ef6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
data:
  data_dir: "data/MOSES/shapemol/MOSES2_training_val_dataset.pkl"  # Path to the raw data (pickle file)
  save_dir: "./data/MOSES"  # Directory to save the LMDB database
  num_samples: 1024  # Number of point cloud samples generated per molecule
  num_workers: 20  # Number of parallel workers for data processing
  aug_mode: 1
  aug_times: 2
  map_size: 500  # LMDB map_size in bytes (100GB)
  batch_size: 20000  # Batch size for processing data
  seed: 42  # Random seed for reproducibility
  use_smiles: False  # Whether to use SMILES strings for data processing

model:
  surf:
    n: 2
    normal_channel: True
  mlp:
    hidden_dim: 256  # Hidden dimension for MLP
    output_dim: 768  # Output dimension for MLP
    num_layers: 2  # Number of layers in MLP
    dropout_rate: 0.1  # Dropout rate in MLP
    activation_function: "relu"  # Activation function for MLP
  bart:
    max_position_embeddings: 512
    d_model: 768
    encoder_layers: 0
    decoder_layers: 6
    encoder_attention_heads: 0
    decoder_attention_heads: 8
    encoder_ffn_dim: 0
    decoder_ffn_dim: 3072
    activation_function: 'gelu'
  generation_config:
    do_sample: true
    max_length: 512
    top_k: 50
    top_p: 1.0
    temperature: 1.0
    num_return_sequences: 50

train:
  output_dir: "./checkpoints/conditional/surfbartv2-sample1024-merge-angles-0421"  # TODO: Directory to save model and checkpoints
  resume_path: null
  overwrite_output_dir: true  # Whether to overwrite existing outputs
  num_train_epochs: 50  # Total number of training epochs
  per_device_train_batch_size: 150  # Training batch size per device
  per_device_eval_batch_size: 4  # Evaluation batch size per device
  dataloader_num_workers: 2 # Number of workers for data loading
  save_total_limit: 6  # Maximum number of checkpoints to keep
  logging_steps: 50  # Steps interval for logging
  eval_strategy: "steps"  # Evaluation strategy (e.g., "steps", "epoch")
  eval_steps: 5000  # Evaluation frequency (in steps)
  do_eval: true  # Whether to perform evaluation
  learning_rate: 1e-4  # Initial learning rate
  warmup_ratio: 0.1  # Warm-up ratio for learning rate scheduler
  save_strategy: "steps"  # Save strategy (e.g., "steps", "epoch")
  save_steps: 5000  # Save frequency (in steps)
  load_best_model_at_end: true  # Load the best model at the end of training
  logging_first_step: true  # Log the first training step
  bf16: True # Whether to use bf16 precision
  early_stopping_patience: 10  # Patience for early stopping callback
  early_stopping_threshold: 0  # Threshold for early stopping
  seed: 42