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

Function test_reorder_nodes

tests/python/common/transforms/test_transform.py:840–872  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

838 F._default_context_str == "gpu", reason="It doesn't support GPU"
839)
840def test_reorder_nodes():
841 g = create_large_graph(1000)
842 new_nids = np.random.permutation(g.num_nodes())
843 # TODO(zhengda) we need to test both CSR and COO.
844 new_g = dgl.partition.reorder_nodes(g, new_nids)
845 new_in_deg = new_g.in_degrees()
846 new_out_deg = new_g.out_degrees()
847 in_deg = g.in_degrees()
848 out_deg = g.out_degrees()
849 new_in_deg1 = F.scatter_row(in_deg, F.tensor(new_nids), in_deg)
850 new_out_deg1 = F.scatter_row(out_deg, F.tensor(new_nids), out_deg)
851 assert np.all(F.asnumpy(new_in_deg == new_in_deg1))
852 assert np.all(F.asnumpy(new_out_deg == new_out_deg1))
853 orig_ids = F.asnumpy(new_g.ndata["orig_id"])
854 for nid in range(g.num_nodes()):
855 neighs = F.asnumpy(g.successors(nid))
856 new_neighs1 = new_nids[neighs]
857 new_nid = new_nids[nid]
858 new_neighs2 = new_g.successors(new_nid)
859 assert np.all(np.sort(new_neighs1) == np.sort(F.asnumpy(new_neighs2)))
860
861 for nid in range(new_g.num_nodes()):
862 neighs = F.asnumpy(new_g.successors(nid))
863 old_neighs1 = orig_ids[neighs]
864 old_nid = orig_ids[nid]
865 old_neighs2 = g.successors(old_nid)
866 assert np.all(np.sort(old_neighs1) == np.sort(F.asnumpy(old_neighs2)))
867
868 neighs = F.asnumpy(new_g.predecessors(nid))
869 old_neighs1 = orig_ids[neighs]
870 old_nid = orig_ids[nid]
871 old_neighs2 = g.predecessors(old_nid)
872 assert np.all(np.sort(old_neighs1) == np.sort(F.asnumpy(old_neighs2)))
873
874
875@parametrize_idtype

Callers

nothing calls this directly

Calls 7

create_large_graphFunction · 0.85
asnumpyMethod · 0.80
num_nodesMethod · 0.45
in_degreesMethod · 0.45
out_degreesMethod · 0.45
successorsMethod · 0.45
predecessorsMethod · 0.45

Tested by

no test coverage detected