def build_gcn(args,tasker): gcn_args = u.Namespace(args.gcn_parameters) gcn_args.feats_per_node = tasker.feats_per_node if args.model == 'gcn': return mls.Sp_GCN(gcn_args,activation = torch.nn.RReLU()).to(args.device) elif args.model == 'skipgcn': return mls.Sp_Skip_GCN(gcn_args,activation = torch.nn.RReLU()).to(args.device) elif args.model == 'skipfeatsgcn': return mls.Sp_Skip_NodeFeats_GCN(gcn_args,activation = torch.nn.RReLU()).to(args.device) else: assert args.num_hist_steps > 0, 'more than one step is necessary to train LSTM' if args.model == 'lstmA': return mls.Sp_GCN_LSTM_A(gcn_args,activation = torch.nn.RReLU()).to(args.device) elif args.model == 'gruA': return mls.Sp_GCN_GRU_A(gcn_args,activation = torch.nn.RReLU()).to(args.device) elif args.model == 'lstmB': return mls.Sp_GCN_LSTM_B(gcn_args,activation = torch.nn.RReLU()).to(args.device) elif args.model == 'gruB': return mls.Sp_GCN_GRU_B(gcn_args,activation = torch.nn.RReLU()).to(args.device) elif args.model == 'egcn': return egcn.EGCN(gcn_args, activation = torch.nn.RReLU()).to(args.device) elif args.model == 'egcn_h': return egcn_h.EGCN(gcn_args, activation = torch.nn.RReLU(), device = args.device) elif args.model == 'skipfeatsegcn_h': return egcn_h.EGCN(gcn_args, activation = torch.nn.RReLU(), device = args.device, skipfeats=True) elif args.model == 'egcn_o': return egcn_o.EGCN(gcn_args, activation = torch.nn.RReLU(), device = args.device) else: raise NotImplementedError('need to finish modifying the models')
def build_gcn(args,tasker): gcn_args = u.Namespace(args.gcn_parameters) gcn_args.feats_per_node = tasker.feats_per_node if args.model == 'gcn': return mls.Sp_GCN(gcn_args,activation = torch.nn.RReLU()).to(args.device) else: #assert args.num_hist_steps > 0, 'more than one step is necessary to train LSTM' if args.model == 'egcn': return egcn.EGCN(gcn_args, activation = torch.nn.RReLU()).to(args.device) elif args.model == 'egcn_h': return egcn_h.EGCN(gcn_args, activation = torch.nn.RReLU(), device = args.device) else: raise NotImplementedError('need to finish modifying the models')