diff --git a/tests/python/pytorch/graphbolt/gb_test_utils.py b/tests/python/pytorch/graphbolt/gb_test_utils.py index bfcb14d426e6..5b9f6b5cbd22 100644 --- a/tests/python/pytorch/graphbolt/gb_test_utils.py +++ b/tests/python/pytorch/graphbolt/gb_test_utils.py @@ -9,9 +9,10 @@ import torch -def rand_csc_graph(N, density): +def rand_csc_graph(N, density, bidirection_edge=False): adj = sp.random(N, N, density) - adj = adj + adj.T + if bidirection_edge: + adj = adj + adj.T adj = adj.tocsc() indptr = torch.LongTensor(adj.indptr) diff --git a/tests/python/pytorch/graphbolt/impl/test_negative_sampler.py b/tests/python/pytorch/graphbolt/impl/test_negative_sampler.py index cdd61fa232bb..2fb74b2f8a93 100644 --- a/tests/python/pytorch/graphbolt/impl/test_negative_sampler.py +++ b/tests/python/pytorch/graphbolt/impl/test_negative_sampler.py @@ -32,7 +32,7 @@ def test_NegativeSampler_invoke(): def test_UniformNegativeSampler_invoke(): # Instantiate graph and required datapipes. - graph = gb_test_utils.rand_csc_graph(100, 0.05) + graph = gb_test_utils.rand_csc_graph(100, 0.05, bidirection_edge=True) num_seeds = 30 item_set = gb.ItemSet( torch.arange(0, 2 * num_seeds).reshape(-1, 2), names="node_pairs" @@ -69,7 +69,7 @@ def _verify(negative_sampler): @pytest.mark.parametrize("negative_ratio", [1, 5, 10, 20]) def test_Uniform_NegativeSampler(negative_ratio): # Construct FusedCSCSamplingGraph. - graph = gb_test_utils.rand_csc_graph(100, 0.05) + graph = gb_test_utils.rand_csc_graph(100, 0.05, bidirection_edge=True) num_seeds = 30 item_set = gb.ItemSet( torch.arange(0, num_seeds * 2).reshape(-1, 2), names="node_pairs" diff --git a/tests/python/pytorch/graphbolt/test_base.py b/tests/python/pytorch/graphbolt/test_base.py index e83ec734d2a4..409f22f832a0 100644 --- a/tests/python/pytorch/graphbolt/test_base.py +++ b/tests/python/pytorch/graphbolt/test_base.py @@ -29,7 +29,7 @@ def test_CopyToWithMiniBatches(): N = 16 B = 2 itemset = gb.ItemSet(torch.arange(N), names="seed_nodes") - graph = gb_test_utils.rand_csc_graph(100, 0.15) + graph = gb_test_utils.rand_csc_graph(100, 0.15, bidirection_edge=True) features = {} keys = [("node", None, "a"), ("node", None, "b")] diff --git a/tests/python/pytorch/graphbolt/test_feature_fetcher.py b/tests/python/pytorch/graphbolt/test_feature_fetcher.py index 61c3e8df468e..3437bdbd580a 100644 --- a/tests/python/pytorch/graphbolt/test_feature_fetcher.py +++ b/tests/python/pytorch/graphbolt/test_feature_fetcher.py @@ -8,7 +8,7 @@ def test_FeatureFetcher_invoke(): # Prepare graph and required datapipes. - graph = gb_test_utils.rand_csc_graph(20, 0.15) + graph = gb_test_utils.rand_csc_graph(20, 0.15, bidirection_edge=True) a = torch.tensor( [[random.randint(0, 10)] for _ in range(graph.total_num_nodes)] ) @@ -40,7 +40,7 @@ def test_FeatureFetcher_invoke(): def test_FeatureFetcher_homo(): - graph = gb_test_utils.rand_csc_graph(20, 0.15) + graph = gb_test_utils.rand_csc_graph(20, 0.15, bidirection_edge=True) a = torch.tensor( [[random.randint(0, 10)] for _ in range(graph.total_num_nodes)] ) @@ -65,7 +65,7 @@ def test_FeatureFetcher_homo(): def test_FeatureFetcher_with_edges_homo(): - graph = gb_test_utils.rand_csc_graph(20, 0.15) + graph = gb_test_utils.rand_csc_graph(20, 0.15, bidirection_edge=True) a = torch.tensor( [[random.randint(0, 10)] for _ in range(graph.total_num_nodes)] ) diff --git a/tests/python/pytorch/graphbolt/test_minibatch_transformer.py b/tests/python/pytorch/graphbolt/test_minibatch_transformer.py index bad866449978..726d92b4daea 100644 --- a/tests/python/pytorch/graphbolt/test_minibatch_transformer.py +++ b/tests/python/pytorch/graphbolt/test_minibatch_transformer.py @@ -7,7 +7,7 @@ def test_dgl_minibatch_converter(): N = 32 B = 4 itemset = gb.ItemSet(torch.arange(N), names="seed_nodes") - graph = gb_test_utils.rand_csc_graph(200, 0.15) + graph = gb_test_utils.rand_csc_graph(200, 0.15, bidirection_edge=True) features = {} keys = [("node", None, "a"), ("node", None, "b")] diff --git a/tests/python/pytorch/graphbolt/test_multi_process_dataloader.py b/tests/python/pytorch/graphbolt/test_multi_process_dataloader.py index 9aaa626d6c82..d095b5cbaa22 100644 --- a/tests/python/pytorch/graphbolt/test_multi_process_dataloader.py +++ b/tests/python/pytorch/graphbolt/test_multi_process_dataloader.py @@ -14,7 +14,7 @@ def test_DataLoader(): N = 40 B = 4 itemset = dgl.graphbolt.ItemSet(torch.arange(N), names="seed_nodes") - graph = gb_test_utils.rand_csc_graph(200, 0.15) + graph = gb_test_utils.rand_csc_graph(200, 0.15, bidirection_edge=True) features = {} keys = [("node", None, "a"), ("node", None, "b")] features[keys[0]] = dgl.graphbolt.TorchBasedFeature(torch.randn(200, 4)) diff --git a/tests/python/pytorch/graphbolt/test_single_process_dataloader.py b/tests/python/pytorch/graphbolt/test_single_process_dataloader.py index 86ca22541e39..d7accb89750f 100644 --- a/tests/python/pytorch/graphbolt/test_single_process_dataloader.py +++ b/tests/python/pytorch/graphbolt/test_single_process_dataloader.py @@ -11,7 +11,7 @@ def test_DataLoader(): N = 32 B = 4 itemset = dgl.graphbolt.ItemSet(torch.arange(N), names="seed_nodes") - graph = gb_test_utils.rand_csc_graph(200, 0.15) + graph = gb_test_utils.rand_csc_graph(200, 0.15, bidirection_edge=True) features = {} keys = [("node", None, "a"), ("node", None, "b")] diff --git a/tests/python/pytorch/graphbolt/test_subgraph_sampler.py b/tests/python/pytorch/graphbolt/test_subgraph_sampler.py index 871c090beabf..7411a8c9cc5c 100644 --- a/tests/python/pytorch/graphbolt/test_subgraph_sampler.py +++ b/tests/python/pytorch/graphbolt/test_subgraph_sampler.py @@ -22,7 +22,7 @@ def test_SubgraphSampler_invoke(): @pytest.mark.parametrize("labor", [False, True]) def test_NeighborSampler_invoke(labor): - graph = gb_test_utils.rand_csc_graph(20, 0.15) + graph = gb_test_utils.rand_csc_graph(20, 0.15, bidirection_edge=True) itemset = gb.ItemSet(torch.arange(10), names="seed_nodes") item_sampler = gb.ItemSampler(itemset, batch_size=2) num_layer = 2 @@ -43,7 +43,7 @@ def test_NeighborSampler_invoke(labor): @pytest.mark.parametrize("labor", [False, True]) def test_NeighborSampler_fanouts(labor): - graph = gb_test_utils.rand_csc_graph(20, 0.15) + graph = gb_test_utils.rand_csc_graph(20, 0.15, bidirection_edge=True) itemset = gb.ItemSet(torch.arange(10), names="seed_nodes") item_sampler = gb.ItemSampler(itemset, batch_size=2) num_layer = 2 @@ -67,7 +67,7 @@ def test_NeighborSampler_fanouts(labor): @pytest.mark.parametrize("labor", [False, True]) def test_SubgraphSampler_Node(labor): - graph = gb_test_utils.rand_csc_graph(20, 0.15) + graph = gb_test_utils.rand_csc_graph(20, 0.15, bidirection_edge=True) itemset = gb.ItemSet(torch.arange(10), names="seed_nodes") item_sampler = gb.ItemSampler(itemset, batch_size=2) num_layer = 2 @@ -84,7 +84,7 @@ def to_link_batch(data): @pytest.mark.parametrize("labor", [False, True]) def test_SubgraphSampler_Link(labor): - graph = gb_test_utils.rand_csc_graph(20, 0.15) + graph = gb_test_utils.rand_csc_graph(20, 0.15, bidirection_edge=True) itemset = gb.ItemSet(torch.arange(0, 20).reshape(-1, 2), names="node_pairs") item_sampler = gb.ItemSampler(itemset, batch_size=2) num_layer = 2 @@ -96,7 +96,7 @@ def test_SubgraphSampler_Link(labor): @pytest.mark.parametrize("labor", [False, True]) def test_SubgraphSampler_Link_With_Negative(labor): - graph = gb_test_utils.rand_csc_graph(20, 0.15) + graph = gb_test_utils.rand_csc_graph(20, 0.15, bidirection_edge=True) itemset = gb.ItemSet(torch.arange(0, 20).reshape(-1, 2), names="node_pairs") item_sampler = gb.ItemSampler(itemset, batch_size=2) num_layer = 2