dense_sage.fc.bias.data = sage.fc_neigh.bias.data if len(g.ntypes) == 2: feat = (F.randn( (g.number_of_src_nodes(), 5)), F.randn( (g.number_of_dst_nodes(), 5))) else: feat = F.randn((g.number_of_nodes(), 5)) sage = sage.to(ctx) dense_sage = dense_sage.to(ctx) out_sage = sage(g, feat) out_dense_sage = dense_sage(adj, feat) assert F.allclose(out_sage, out_dense_sage), g @pytest.mark.parametrize('g', [ random_dglgraph(20), random_graph(20), random_bipartite(20, 10), random_block(20) ]) def test_edge_conv(g): ctx = F.ctx() edge_conv = nn.EdgeConv(5, 2).to(ctx) print(edge_conv) # test #1: basic h0 = F.randn((g.number_of_src_nodes(), 5)) if not g.is_homograph() and not g.is_block: # bipartite h1 = edge_conv(g, (h0, h0[:10]))
dense_sage.fc.weight.set_data(sage.fc_neigh.weight.data()) dense_sage.fc.bias.set_data(sage.fc_neigh.bias.data()) if len(g.ntypes) == 2: feat = (F.randn( (g.number_of_src_nodes(), 5)), F.randn( (g.number_of_dst_nodes(), 5))) else: feat = F.randn((g.number_of_nodes(), 5)) out_sage = sage(g, feat) out_dense_sage = dense_sage(adj, feat) assert F.allclose(out_sage, out_dense_sage) @pytest.mark.parametrize( 'g', [random_dglgraph(20), random_graph(20), random_bipartite(20, 10)]) def test_edge_conv(g): ctx = F.ctx() edge_conv = nn.EdgeConv(5, 2) edge_conv.initialize(ctx=ctx) print(edge_conv) # test #1: basic h0 = F.randn((g.number_of_src_nodes(), 5)) if not g.is_homograph(): # bipartite h1 = edge_conv(g, (h0, h0[:10])) else:
sage.fc_neigh.weight.data()) dense_sage.fc.bias.set_data( sage.fc_neigh.bias.data()) if len(g.ntypes) == 2: feat = ( F.randn((g.number_of_src_nodes(), 5)), F.randn((g.number_of_dst_nodes(), 5)) ) else: feat = F.randn((g.number_of_nodes(), 5)) out_sage = sage(g, feat) out_dense_sage = dense_sage(adj, feat) assert F.allclose(out_sage, out_dense_sage) @pytest.mark.parametrize('g', [random_dglgraph(20), random_graph(20), random_bipartite(20, 10), random_block(20)]) def test_edge_conv(g): ctx = F.ctx() edge_conv = nn.EdgeConv(5, 2) edge_conv.initialize(ctx=ctx) print(edge_conv) # test #1: basic h0 = F.randn((g.number_of_src_nodes(), 5)) if not g.is_homograph() and not g.is_block: # bipartite h1 = edge_conv(g, (h0, h0[:10])) else: h1 = edge_conv(g, h0) assert h1.shape == (g.number_of_dst_nodes(), 2)