def test_gin_conv(aggregator_type): g = dgl.DGLGraph(sp.sparse.random(100, 100, density=0.1), readonly=True) gin = nn.GINConv(tf.keras.layers.Dense(12), aggregator_type) feat = F.randn((100, 5)) gin = gin h = gin(g, feat) assert h.shape == (100, 12) g = dgl.bipartite(sp.sparse.random(100, 200, density=0.1)) gin = nn.GINConv(tf.keras.layers.Dense(12), aggregator_type) feat = (F.randn((100, 5)), F.randn((200, 5))) h = gin(g, feat) assert h.shape == (200, 12)
def test_gin_conv_bi(g, idtype, aggregator_type): g = g.astype(idtype).to(F.ctx()) gin = nn.GINConv(tf.keras.layers.Dense(12), aggregator_type) feat = (F.randn( (g.number_of_src_nodes(), 5)), F.randn((g.number_of_dst_nodes(), 5))) h = gin(g, feat) assert h.shape == (g.number_of_dst_nodes(), 12)
def test_gin_conv(): for aggregator_type in ['mean', 'max', 'sum']: g = dgl.DGLGraph(sp.sparse.random(100, 100, density=0.1), readonly=True) gin = nn.GINConv(tf.keras.layers.Dense(12), aggregator_type) feat = F.randn((100, 5)) gin = gin h = gin(g, feat) assert h.shape[-1] == 12
def test_gin_conv(aggregator_type): g = dgl.DGLGraph(sp.sparse.random(100, 100, density=0.1), readonly=True) gin = nn.GINConv(tf.keras.layers.Dense(12), aggregator_type) feat = F.randn((100, 5)) gin = gin h = gin(g, feat) assert h.shape == (100, 12) g = dgl.bipartite(sp.sparse.random(100, 200, density=0.1)) gin = nn.GINConv(tf.keras.layers.Dense(12), aggregator_type) feat = (F.randn((100, 5)), F.randn((200, 5))) h = gin(g, feat) assert h.shape == (200, 12) g = dgl.graph(sp.sparse.random(100, 100, density=0.001)) seed_nodes = np.unique(g.edges()[1].numpy()) block = dgl.to_block(g, seed_nodes) gin = nn.GINConv(tf.keras.layers.Dense(12), aggregator_type) feat = F.randn((block.number_of_src_nodes(), 5)) h = gin(block, feat) assert h.shape == (block.number_of_dst_nodes(), 12)