def __init__(self, args, activation, device='cpu', skipfeats=False): super().__init__() GRCU_args = u.Namespace({}) feats = [args.feats_per_node, args.layer_1_feats, args.layer_2_feats] self.device = device self.skipfeats = skipfeats self.GRCU_layers = [] self._parameters = nn.ParameterList() # 出力層 FC (ロジスティック回帰用) self.FC = nn.Sequential(nn.Linear(args.layer_2_feats, args.output_dim), nn.Sigmoid()) for i in range(1, len(feats)): GRCU_args = u.Namespace({ 'in_feats': feats[i - 1], 'out_feats': feats[i], 'activation': activation }) grcu_i = GRCU(GRCU_args) # print (i,'grcu_i', grcu_i) self.GRCU_layers.append(grcu_i.to(self.device)) self._parameters.extend(list(self.GRCU_layers[-1].parameters()))
def __init__(self, args): super().__init__() self.args = args cell_args = u.Namespace({}) cell_args.rows = args.in_feats cell_args.cols = args.out_feats self.evolve_weights = mat_GRU_cell(cell_args) self.activation = self.args.activation self.GCN_init_weights = Parameter(torch.Tensor(self.args.in_feats, self.args.out_feats)) self.reset_param(self.GCN_init_weights)
if opt.manualSeed is None: opt.manualSeed = random.randint(1, 10000) print("Random Seed: ", opt.manualSeed) random.seed(opt.manualSeed) torch.manual_seed(opt.manualSeed) opt.dataroot = InputDir if opt.cuda: torch.cuda.manual_seed_all(opt.manualSeed) opt.L = opt.init_L gcn_parameters = ['feats_per_node', 'feats_per_node_min', 'feats_per_node_max', 'layer_1_feats', 'layer_1_feats_min', 'layer_1_feats_max', 'layer_2_feats', 'layer_2_feats_same_as_l1', 'k_top_grcu', 'num_layers', 'lstm_l1_layers', 'lstm_l1_feats', 'lstm_l1_feats_min', 'lstm_l1_feats_max', 'lstm_l2_layers', 'lstm_l2_feats', 'lstm_l2_feats_same_as_l1', 'cls_feats', 'cls_feats_min', 'cls_feats_max', 'output_dim'] gcn_args = {k:opt.__dict__[k] for k in gcn_parameters} gcn_args = u.Namespace(gcn_args) gcn_args.feats_per_node = repeat1_attribute_prediction_exist_PTS_utilize_disappeared_state_dim opt.device = 'cuda' if opt.cuda else 'cpu' def main(opt): train_dataset = BADataset(opt.dataroot, opt.L, True, False, False) train_dataloader = BADataloader(train_dataset, batch_size=opt.batchSize, \ shuffle=True, num_workers=opt.workers, drop_last=True) valid_dataset = BADataset(opt.dataroot, opt.L, False, True, False) valid_dataloader = BADataloader(valid_dataset, batch_size=opt.batchSize, \ shuffle=True, num_workers=opt.workers, drop_last=True) test_dataset = BADataset(opt.dataroot, opt.L, False, False, True) test_dataloader = BADataloader(test_dataset, batch_size=opt.batchSize, \ shuffle=True, num_workers=opt.workers, drop_last=True)