Spaces:
Running
Running
import argparse | |
def get_parser(parser=None): | |
if parser is None: | |
parser = argparse.ArgumentParser() | |
# Model | |
# model_arg = parser.add_argument_group('Model') | |
parser.add_argument("--n_head", type=int, default=8, help="GPT number of heads") | |
parser.add_argument("--n_layer", type=int, default=12, help="GPT number of layers") | |
parser.add_argument( | |
"--q_dropout", type=float, default=0.5, help="Encoder layers dropout" | |
) | |
parser.add_argument( | |
"--d_dropout", type=float, default=0.1, help="Decoder layers dropout" | |
) | |
parser.add_argument( | |
"--n_embd", type=int, default=768, help="Latent vector dimensionality" | |
) | |
parser.add_argument( | |
"--fc_h", type=int, default=512, help="Fully connected hidden dimensionality" | |
) | |
parser.add_argument("--n_output", type=int, default=1) | |
# Train | |
# train_arg = parser.add_argument_group('Train') | |
parser.add_argument("--n_batch", type=int, default=512, help="Batch size") | |
parser.add_argument( | |
"--unlike_alpha", type=float, default=1.0, help="unlikelihood loss alpha weight" | |
) | |
parser.add_argument( | |
"--from_scratch", | |
action="store_true", | |
default=False, | |
help="train on qm9 from scratch", | |
) | |
parser.add_argument( | |
"--unlikelihood", | |
action="store_true", | |
default=False, | |
help="use unlikelihood loss with gpt pretrain", | |
) | |
parser.add_argument( | |
"--grad_acc", | |
type=int, | |
default=1, | |
help="number of batches to accumulate gradients", | |
) | |
parser.add_argument( | |
"--checkpoint_every", | |
type=int, | |
default=1000, | |
help="save checkpoint every x iterations", | |
) | |
parser.add_argument( | |
"--clip_grad", type=int, default=50, help="Clip gradients to this value" | |
) | |
parser.add_argument( | |
"--lr_start", type=float, default=3 * 1e-4, help="Initial lr value" | |
) | |
parser.add_argument( | |
"--lr_end", type=float, default=3 * 1e-4, help="Maximum lr weight value" | |
) | |
parser.add_argument( | |
"--lr_multiplier", type=int, default=1, help="lr weight multiplier" | |
) | |
parser.add_argument( | |
"--n_last", type=int, default=1000, help="Number of iters to smooth loss calc" | |
) | |
parser.add_argument("--n_jobs", type=int, default=1, help="Number of threads") | |
parser.add_argument( | |
"--accelerator", | |
type=str, | |
default="ddp", | |
help="The accelerator backend to use (previously known as distributed_backend)", | |
) | |
parser.add_argument( | |
"--num_nodes", | |
type=int, | |
default=1, | |
help="number of GPU nodes for distributed training", | |
) | |
parser.add_argument( | |
"--device", | |
type=str, | |
default="cuda", | |
help='Device to run: "cpu" or "cuda:<device number>"', | |
) | |
parser.add_argument("--seed", type=int, default=12345, help="Seed") | |
parser.add_argument( | |
"--init_params_from", | |
type=str, | |
default="", | |
help="Path to a ckpt used to initialize the parameters if no restart_path is provided", | |
) | |
parser.add_argument( | |
"--train_decoder_every", | |
type=int, | |
default=10, | |
help="Optimize decoder params every n batches", | |
) | |
parser.add_argument( | |
"--lr_decoder", type=float, default=1e-4, help="Learning rate for decoder part" | |
) | |
parser.add_argument( | |
"--local_rank", | |
type=int, | |
default=-1, | |
help="local_rank for distributed training on gpus", | |
) | |
parser.add_argument("--gpu", default=None, type=int, help="GPU id to use.") | |
parser.add_argument( | |
"--dist-backend", default="nccl", type=str, help="distributed backend" | |
) | |
parser.add_argument( | |
"--tensorboard_path", default="./runs/deepspeed", help="tensorboard log dir" | |
) | |
# common_arg = parser.add_argument_group('Common') | |
parser.add_argument( | |
"--vocab_load", type=str, required=False, help="Where to load the vocab" | |
) | |
parser.add_argument( | |
"--n_samples", type=int, required=False, help="Number of samples to sample" | |
) | |
parser.add_argument( | |
"--gen_save", type=str, required=False, help="Where to save the gen molecules" | |
) | |
parser.add_argument( | |
"--max_len", type=int, default=100, help="Max of length of SMILES" | |
) | |
parser.add_argument( | |
"--train_load", type=str, required=False, help="Where to load the model" | |
) | |
parser.add_argument( | |
"--val_load", type=str, required=False, help="Where to load the model" | |
) | |
parser.add_argument( | |
"--n_workers", | |
type=int, | |
required=False, | |
default=1, | |
help="Where to load the model", | |
) | |
# beam search hyper parameters | |
parser.add_argument( | |
"--beam_size", type=int, default=0, help="Number of beams to generate" | |
) | |
parser.add_argument( | |
"--num_seq_returned", | |
type=int, | |
default=0, | |
help="number of beams to be returned (must be <= beam_size", | |
) | |
parser.add_argument( | |
"--min_len", type=int, default=1, help="minimum length to be generated" | |
) | |
parser.add_argument( | |
"--nucleus_thresh", type=float, default=0.9, help="nucleus sampling threshold" | |
) | |
parser.add_argument( | |
"--finetune_path", | |
type=str, | |
default="", | |
help="path to trainer file to continue training", | |
) | |
parser.add_argument( | |
"--restart_path", | |
type=str, | |
default="", | |
help="path to trainer file to continue training", | |
) | |
parser.add_argument( | |
"--data_path", type=str, default="", help="path to pubchem file" | |
) | |
parser.add_argument( | |
"--pretext_size", type=int, default=0, help="number of k-mers to pretext" | |
) | |
parser.add_argument( | |
"--model_save_dir", | |
type=str, | |
required=False, | |
default="./models_dump/", | |
help="Where to save the models/log/config/vocab", | |
) | |
parser.add_argument( | |
"--model_save", | |
type=str, | |
required=False, | |
default="model.pt", | |
help="Where to save the model", | |
) | |
# parser.add_argument('--save_frequency', | |
# type=int, default=20, | |
# help='How often to save the model') | |
parser.add_argument( | |
"--num_epoch", type=int, default=1, help="number of epochs to train" | |
) | |
# parser.add_argument('--num_iter', | |
# type=int, default=-1, | |
# help='how many itersations per epoch (for unlikelihood tuning)') | |
parser.add_argument( | |
"--log_file", type=str, required=False, help="Where to save the log" | |
) | |
parser.add_argument( | |
"--tb_loc", | |
type=str, | |
required=False, | |
help="Where to save the tensorflow location", | |
) | |
parser.add_argument( | |
"--config_save", type=str, required=False, help="Where to save the config" | |
) | |
parser.add_argument("--vocab_save", type=str, help="Where to save the vocab") | |
# resume_arg = parser.add_argument_group('Resume') | |
parser.add_argument( | |
"--debug", | |
default=False, | |
action="store_true", | |
help="do not erase cache at end of program", | |
) | |
parser.add_argument( | |
"--fast_dev_run", | |
default=False, | |
help="This flag runs a “unit test” by running n if set to n (int) else 1 if set to True training and validation batch(es).", | |
) | |
parser.add_argument( | |
"--freeze_model", | |
default=False, | |
action="store_true", | |
help="freeze weights of bert model during fine tuning", | |
) | |
parser.add_argument( | |
"--resume", default=False, action="store_true", help="Resume from a saved model" | |
) | |
parser.add_argument( | |
"--rotate", | |
default=False, | |
action="store_true", | |
help="use rotational relative embedding", | |
) | |
parser.add_argument( | |
"--model_load", type=str, required=False, help="Where to load the model" | |
) | |
parser.add_argument( | |
"--root_dir", type=str, required=False, default=".", help="location of root dir" | |
) | |
parser.add_argument( | |
"--config_load", type=str, required=False, help="Where to load the config" | |
) | |
parser.add_argument( | |
"--gpus", type=int, required=False, default=1, help="number of gpus to use" | |
) | |
# parser.add_argument('--start_epoch', | |
# type=int, required=False, default=0, | |
# help='Where to load the config') | |
parser.add_argument( | |
"--model_arch", | |
type=str, | |
required=False, | |
help="used to teack model arch in params", | |
) | |
parser.add_argument( | |
"--eval_every", | |
type=int, | |
default=50000, | |
help="run evaluation every x iterations", | |
) | |
parser.add_argument( | |
"--num_feats", | |
type=int, | |
required=False, | |
default=32, | |
help="number of random reatures for FAVOR+", | |
) | |
parser.add_argument( | |
"--max_epochs", type=int, required=False, default=1, help="max number of epochs" | |
) | |
# debug() FINE TUNEING | |
# parser.add_argument('--save_dir', type=str, required=True) | |
parser.add_argument( | |
"--mode", type=str, default="cls", help="type of pooling to use" | |
) | |
parser.add_argument("--dataset_length", type=int, default=None, required=False) | |
parser.add_argument("--num_workers", type=int, default=0, required=False) | |
parser.add_argument("--dropout", type=float, default=0.1, required=False) | |
# parser.add_argument("--dims", type=int, nargs="*", default="", required=False) | |
parser.add_argument( | |
"--smiles_embedding", | |
type=str, | |
default="/dccstor/medscan7/smallmolecule/runs/ba-predictor/small-data/embeddings/protein/ba_embeddings_tanh_512_2986138_2.pt", | |
) | |
# parser.add_argument("--train_pct", type=str, required=False, default="95") | |
# parser.add_argument("--aug", type=int, required=True) | |
parser.add_argument("--dataset_name", type=str, required=False, default="sol") | |
parser.add_argument("--measure_name", type=str, required=False, default="measure") | |
# parser.add_argument("--emb_type", type=str, required=True) | |
parser.add_argument("--checkpoints_folder", type=str, required=True) | |
# parser.add_argument("--results_dir", type=str, required=True) | |
# parser.add_argument("--patience_epochs", type=int, required=True) | |
parser.add_argument("--model_path", type=str, default="./smi_ted/") | |
parser.add_argument("--ckpt_filename", type=str, default="smi_ted_Light_40.pt") | |
parser.add_argument("--restart_filename", type=str, default="") | |
# parser.add_argument('--n_output', type=int, default=1) | |
parser.add_argument("--save_every_epoch", type=int, default=0) | |
parser.add_argument("--save_ckpt", type=int, default=1) | |
parser.add_argument("--start_seed", type=int, default=0) | |
parser.add_argument("--smi_ted_version", type=str, default="v1") | |
parser.add_argument("--train_decoder", type=int, default=1) | |
parser.add_argument("--target_metric", type=str, default="rmse") | |
parser.add_argument("--loss_fn", type=str, default="mae") | |
parser.add_argument( | |
"--data_root", | |
type=str, | |
required=False, | |
default="/dccstor/medscan7/smallmolecule/runs/ba-predictor/small-data/affinity", | |
) | |
# parser.add_argument("--use_bn", type=int, default=0) | |
parser.add_argument("--use_linear", type=int, default=0) | |
parser.add_argument("--lr", type=float, default=0.001) | |
# parser.add_argument("--weight_decay", type=float, default=5e-4) | |
# parser.add_argument("--val_check_interval", type=float, default=1.0) | |
parser.add_argument("--batch_size", type=int, default=64) | |
return parser | |
def parse_args(): | |
parser = get_parser() | |
args = parser.parse_args() | |
return args | |