| 286 | |
| 287 | |
| 288 | def build_model_path(args, model_name): |
| 289 | if not hasattr(args, "save_model_path"): |
| 290 | args.save_model_path = "" |
| 291 | if model_name == "gcc": |
| 292 | if hasattr(args, "pretrain") and args.pretrain: |
| 293 | model_name_path = "{}_{}_{}_layer_{}_lr_{}_decay_{}_bsz_{}_hid_{}_samples_{}_nce_t_{}_nce_k_{}_rw_hops_{}_restart_prob_{}_aug_{}_ft_{}_deg_{}_pos_{}_momentum_{}".format( |
| 294 | "Pretrain" if not args.finetune else "FT", |
| 295 | '_'.join([x.replace('gcc_', '').replace('_', '-') for x in args.dataset.split(' ')]), |
| 296 | args.gnn_model, |
| 297 | args.num_layers, |
| 298 | args.lr, |
| 299 | args.weight_decay, |
| 300 | args.batch_size, |
| 301 | args.hidden_size, |
| 302 | args.num_samples, |
| 303 | args.nce_t, |
| 304 | args.nce_k, |
| 305 | args.rw_hops, |
| 306 | args.restart_prob, |
| 307 | args.aug, |
| 308 | args.finetune, |
| 309 | args.degree_embedding_size, |
| 310 | args.positional_embedding_size, |
| 311 | args.momentum, |
| 312 | ) |
| 313 | |
| 314 | args.save_model_path = os.path.join(args.save_model_path, model_name_path) |
| 315 | os.makedirs(args.save_model_path, exist_ok=True) |
| 316 | return args |
| 317 | |
| 318 | |
| 319 | if __name__ == "__main__": |