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

Function test_format

tests/python/common/test_heterograph.py:2530–2568  ·  view source on GitHub ↗
(idtype)

Source from the content-addressed store, hash-verified

2528
2529@parametrize_idtype
2530def test_format(idtype):
2531 # single relation
2532 g = dgl.graph(([0, 1, 0, 2], [0, 1, 1, 0]), idtype=idtype, device=F.ctx())
2533 assert g.formats()["created"] == ["coo"]
2534 g1 = g.formats(["coo", "csr", "csc"])
2535 assert len(g1.formats()["created"]) + len(g1.formats()["not created"]) == 3
2536 g1.create_formats_()
2537 assert len(g1.formats()["created"]) == 3
2538 assert g.formats()["created"] == ["coo"]
2539
2540 # multiple relation
2541 g = dgl.heterograph(
2542 {
2543 ("user", "follows", "user"): ([0, 1], [1, 2]),
2544 ("user", "plays", "game"): ([0, 1, 1, 2], [0, 0, 1, 1]),
2545 ("developer", "develops", "game"): ([0, 1], [0, 1]),
2546 },
2547 idtype=idtype,
2548 device=F.ctx(),
2549 )
2550 user_feat = F.randn((g["follows"].number_of_src_nodes(), 5))
2551 g["follows"].srcdata["h"] = user_feat
2552 g1 = g.formats("csc")
2553 # test frame
2554 assert F.array_equal(g1["follows"].srcdata["h"], user_feat)
2555 # test each relation graph
2556 assert g1.formats()["created"] == ["csc"]
2557 assert len(g1.formats()["not created"]) == 0
2558
2559 # in_degrees
2560 g = dgl.rand_graph(100, 2340).to(F.ctx())
2561 ind_arr = []
2562 for vid in range(0, 100):
2563 ind_arr.append(g.in_degrees(vid))
2564 in_degrees = g.in_degrees()
2565 g = g.formats("coo")
2566 for vid in range(0, 100):
2567 assert g.in_degrees(vid) == ind_arr[vid]
2568 assert F.array_equal(in_degrees, g.in_degrees())
2569
2570
2571@parametrize_idtype

Callers

nothing calls this directly

Calls 8

number_of_src_nodesMethod · 0.80
appendMethod · 0.80
graphMethod · 0.45
ctxMethod · 0.45
formatsMethod · 0.45
create_formats_Method · 0.45
toMethod · 0.45
in_degreesMethod · 0.45

Tested by

no test coverage detected