import argparse def args_parser(): parser = argparse.ArgumentParser(description='LLM-Prop') parser.add_argument('--epochs', help='Number of epochs', type=int, default=15) parser.add_argument('--bs', help='Batch size', type=int, default=2) parser.add_argument('--lr', help='Learning rate', type=float, default=0.001) parser.add_argument('--max_len', help='Max input sequence length', type=int, default=256) parser.add_argument('--dr', help='Drop rate', type=float, default=0.2) parser.add_argument('--warmup_steps', help='Warmpup steps', type=int, default=100) parser.add_argument('--preprocessing_strategy', help='Data preprocessing technique: "none", "bond_lengths_replaced_with_num", "bond_angles_replaced_with_ang", "no_stopwords", or "no_stopwords_and_lengths_and_angles_replaced"', type=str, default="no_stopwords_and_lengths_and_angles_replaced") parser.add_argument('--tokenizer', help='Tokenizer name: "t5_tokenizer" or "modified"', type=str, default="modified") parser.add_argument('--pooling', help='Pooling method. "cls" or "mean"', type=str, default="cls") parser.add_argument('--normalizer', help='Labels scaling technique. "z_norm", "mm_norm", or "ls_norm"', type=str, default="z_norm") parser.add_argument('--scheduler', help='Learning rate scheduling technique. "linear", "onecycle", "step", or "lambda" (no scheduling))', type=str, default="onecycle") parser.add_argument('--property_name', help='The name of the property to predict. "band_gap", "volume", or "is_gap_direct"', type=str, default="band_gap") parser.add_argument('--optimizer', help='Optimizer type. "adamw" or "sgd"', type=str, default="adamw") parser.add_argument('--task_name', help='the name of the task: "regression" if propert_name is band_gap or volume or "classification" if property_name is is_gap_direct', type=str, default="regression") parser.add_argument('--train_data_path', help="the path to the training data", type=str, default="data/samples/train.csv") parser.add_argument('--valid_data_path', help="the path to the valid data", type=str, default="data/samples/validation.csv") parser.add_argument('--test_data_path', help="the path to the test data", type=str, default="data/samples/test.csv") parser.add_argument('--checkpoint', help="the path to the the best checkpoint for evaluation", type=str, default="") args = parser.parse_args() return args