def test_tgcn_layer(): """ Testing the T-GCN Layer. """ number_of_nodes = 100 edge_per_node = 10 in_channels = 64 out_channels = 16 X, edge_index = create_mock_data(number_of_nodes, edge_per_node, in_channels) edge_weight = create_mock_edge_weight(edge_index) layer = TGCN(in_channels=in_channels, out_channels=out_channels) H = layer(X, edge_index) assert H.shape == (number_of_nodes, out_channels) H = layer(X, edge_index, edge_weight) assert H.shape == (number_of_nodes, out_channels) H = layer(X, edge_index, edge_weight, H) assert H.shape == (number_of_nodes, out_channels)
def test_tgcn_layer(): """ Testing the T-GCN Layer. """ number_of_nodes = 100 edge_per_node = 10 in_channels = 64 out_channels = 16 device = torch.device("cuda" if torch.cuda.is_available() else "cpu") X, edge_index = create_mock_data(number_of_nodes, edge_per_node, in_channels) X = X.to(device) edge_index = edge_index.to(device) edge_weight = create_mock_edge_weight(edge_index).to(device) layer = TGCN(in_channels=in_channels, out_channels=out_channels).to(device) H = layer(X, edge_index) assert H.shape == (number_of_nodes, out_channels) H = layer(X, edge_index, edge_weight) assert H.shape == (number_of_nodes, out_channels) H = layer(X, edge_index, edge_weight, H) assert H.shape == (number_of_nodes, out_channels)
def __init__(self, edge_index, n_agnts,n_inter, dim_in, filters, n_phase): super(TempGraphNet, self).__init__() self.recurrent = TGCN(in_channels = dim_in, out_channels = filters) # self.recurrent = A3TGCN(in_channels = node_features, out_channels = filters, periods = 12) self.linear = torch.nn.Linear(filters, n_phase) self.n_agnts = n_agnts self.n_inter = n_inter self.filters = filters self.edge_index = edge_index self.reset_state()
def __init__(self, h, z, k): super(IGNNK, self).__init__() self.time_dimension = h self.hidden_dimnesion = z self.order = k self.recurrent = TGCN(h, 32).to(torch.device("cuda:0")) # self.recurrent = AGCRN(number_of_nodes = 64, # in_channels = h, # out_channels = 32, # K = 2, # embedding_dimensions = 4) self.recurrent = GCLSTM(64, 32, 1) self.GNN1 = D_GCN(self.time_dimension, self.hidden_dimnesion, self.order)
def __init__(self, node_features): super(RecurrentGCN, self).__init__() self.recurrent = TGCN(node_features, 32) self.linear = torch.nn.Linear(32, 1)