MCPcopy
hub / github.com/dmlc/dgl / test_module_gdc

Function test_module_gdc

tests/python/common/transforms/test_transform.py:2943–2980  ·  view source on GitHub ↗
(idtype)

Source from the content-addressed store, hash-verified

2941)
2942@parametrize_idtype
2943def test_module_gdc(idtype):
2944 transform = dgl.GDC([0.1, 0.2, 0.1], avg_degree=1)
2945 g = dgl.graph(
2946 ([0, 1, 2, 3, 4], [2, 3, 4, 5, 3]), idtype=idtype, device=F.ctx()
2947 )
2948 g.ndata["h"] = F.randn((6, 2))
2949 new_g = transform(g)
2950 assert new_g.idtype == g.idtype
2951 assert new_g.device == g.device
2952 assert new_g.num_nodes() == g.num_nodes()
2953 src, dst = new_g.edges()
2954 eset = set(zip(list(F.asnumpy(src)), list(F.asnumpy(dst))))
2955 assert eset == {
2956 (0, 0),
2957 (0, 2),
2958 (0, 4),
2959 (1, 1),
2960 (1, 3),
2961 (1, 5),
2962 (2, 2),
2963 (2, 3),
2964 (2, 4),
2965 (3, 3),
2966 (3, 5),
2967 (4, 3),
2968 (4, 4),
2969 (4, 5),
2970 (5, 5),
2971 }
2972 assert F.allclose(g.ndata["h"], new_g.ndata["h"])
2973 assert "w" in new_g.edata
2974
2975 # Prior edge weights
2976 g.edata["w"] = F.tensor([0.1, 0.2, 0.3, 0.4, 0.5])
2977 new_g = transform(g)
2978 src, dst = new_g.edges()
2979 eset = set(zip(list(F.asnumpy(src)), list(F.asnumpy(dst))))
2980 assert eset == {(0, 0), (1, 1), (2, 2), (3, 3), (4, 3), (4, 4), (5, 5)}
2981
2982
2983@unittest.skipIf(

Callers

nothing calls this directly

Calls 6

transformFunction · 0.85
asnumpyMethod · 0.80
graphMethod · 0.45
ctxMethod · 0.45
num_nodesMethod · 0.45
edgesMethod · 0.45

Tested by

no test coverage detected