Unverified Commit dd65ee21 authored by VoVAllen's avatar VoVAllen Committed by GitHub
Browse files

[CI] Change tests for flexibility

* change ci image

* fix

* force bash

* fix

* fix python version

* fix

* fix

* fix

* update gpu

* cuda

* jenkins

* fix build sh

* fix

* Revert "fix"

This reverts commit 6b091914b3ef6b4300fa662ee375aa4b27944f5c.

* try fix

* fix

* Revert "fix"

This reverts commit e42c3035fa4974c6b197aaba0748f7b45113ddaa.

* try fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix tests

* try fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix ctx problem

* fix many tests

* fix typo

* add backend

* move to pytorch folder

* fix?

* fix ci

* try skip

* try false

* try?

* try?

* Revert to 7d9a52f

* fix various

* fix lint

* Revert Jenkinsfile

* revert env

* revert env

* address comment

* remove file
parent f36a4514
...@@ -3,6 +3,7 @@ import numpy as np ...@@ -3,6 +3,7 @@ import numpy as np
import scipy as sp import scipy as sp
import dgl import dgl
from dgl import utils from dgl import utils
import unittest
from numpy.testing import assert_array_equal from numpy.testing import assert_array_equal
np.random.seed(42) np.random.seed(42)
...@@ -137,12 +138,12 @@ def _test_layer_sampler(prefetch=False): ...@@ -137,12 +138,12 @@ def _test_layer_sampler(prefetch=False):
sub_src, sub_dst = sub_g.all_edges(order='eid') sub_src, sub_dst = sub_g.all_edges(order='eid')
for i in range(sub_g.num_blocks): for i in range(sub_g.num_blocks):
block_eid = sub_g.block_eid(i) block_eid = sub_g.block_eid(i)
block_src = sub_g.map_to_parent_nid(sub_src[block_eid]) block_src = sub_g.map_to_parent_nid(F.gather_row(sub_src, block_eid))
block_dst = sub_g.map_to_parent_nid(sub_dst[block_eid]) block_dst = sub_g.map_to_parent_nid(F.gather_row(sub_dst, block_eid))
block_parent_eid = sub_g.block_parent_eid(i) block_parent_eid = sub_g.block_parent_eid(i)
block_parent_src = src[block_parent_eid] block_parent_src = F.gather_row(src, block_parent_eid)
block_parent_dst = dst[block_parent_eid] block_parent_dst = F.gather_row(dst, block_parent_eid)
assert np.all(F.asnumpy(block_src == block_parent_src)) assert np.all(F.asnumpy(block_src == block_parent_src))
...@@ -237,7 +238,7 @@ def check_head_tail(g): ...@@ -237,7 +238,7 @@ def check_head_tail(g):
def check_negative_sampler(mode, exclude_positive, neg_size): def check_negative_sampler(mode, exclude_positive, neg_size):
g = generate_rand_graph(100) g = generate_rand_graph(100)
etype = np.random.randint(0, 10, size=g.number_of_edges(), dtype=np.int64) etype = np.random.randint(0, 10, size=g.number_of_edges(), dtype=np.int64)
g.edata['etype'] = F.tensor(etype) g.edata['etype'] = F.copy_to(F.tensor(etype), F.cpu())
pos_gsrc, pos_gdst, pos_geid = g.all_edges(form='all', order='eid') pos_gsrc, pos_gdst, pos_geid = g.all_edges(form='all', order='eid')
pos_map = {} pos_map = {}
...@@ -254,25 +255,25 @@ def check_negative_sampler(mode, exclude_positive, neg_size): ...@@ -254,25 +255,25 @@ def check_negative_sampler(mode, exclude_positive, neg_size):
exclude_positive=exclude_positive, exclude_positive=exclude_positive,
return_false_neg=True): return_false_neg=True):
pos_lsrc, pos_ldst, pos_leid = pos_edges.all_edges(form='all', order='eid') pos_lsrc, pos_ldst, pos_leid = pos_edges.all_edges(form='all', order='eid')
assert_array_equal(F.asnumpy(pos_edges.parent_eid[pos_leid]), assert_array_equal(F.asnumpy(F.gather_row(pos_edges.parent_eid, pos_leid)),
F.asnumpy(g.edge_ids(pos_edges.parent_nid[pos_lsrc], F.asnumpy(g.edge_ids(F.gather_row(pos_edges.parent_nid, pos_lsrc),
pos_edges.parent_nid[pos_ldst]))) F.gather_row(pos_edges.parent_nid, pos_ldst))))
neg_lsrc, neg_ldst, neg_leid = neg_edges.all_edges(form='all', order='eid') neg_lsrc, neg_ldst, neg_leid = neg_edges.all_edges(form='all', order='eid')
neg_src = neg_edges.parent_nid[neg_lsrc] neg_src = F.gather_row(neg_edges.parent_nid, neg_lsrc)
neg_dst = neg_edges.parent_nid[neg_ldst] neg_dst = F.gather_row(neg_edges.parent_nid, neg_ldst)
neg_eid = neg_edges.parent_eid[neg_leid] neg_eid = F.gather_row(neg_edges.parent_eid, neg_leid)
for i in range(len(neg_eid)): for i in range(len(neg_eid)):
neg_d = int(F.asnumpy(neg_dst[i])) neg_d = int(F.asnumpy(neg_dst)[i])
neg_e = int(F.asnumpy(neg_eid[i])) neg_e = int(F.asnumpy(neg_eid)[i])
assert (neg_d, neg_e) in pos_map assert (neg_d, neg_e) in pos_map
if exclude_positive: if exclude_positive:
assert int(F.asnumpy(neg_src[i])) != pos_map[(neg_d, neg_e)] assert int(F.asnumpy(neg_src[i])) != pos_map[(neg_d, neg_e)]
check_head_tail(neg_edges) check_head_tail(neg_edges)
pos_tails = pos_edges.parent_nid[pos_edges.tail_nid] pos_tails = F.gather_row(pos_edges.parent_nid, pos_edges.tail_nid)
neg_tails = neg_edges.parent_nid[neg_edges.tail_nid] neg_tails = F.gather_row(neg_edges.parent_nid, neg_edges.tail_nid)
pos_tails = np.sort(F.asnumpy(pos_tails)) pos_tails = np.sort(F.asnumpy(pos_tails))
neg_tails = np.sort(F.asnumpy(neg_tails)) neg_tails = np.sort(F.asnumpy(neg_tails))
np.testing.assert_equal(pos_tails, neg_tails) np.testing.assert_equal(pos_tails, neg_tails)
...@@ -291,9 +292,9 @@ def check_negative_sampler(mode, exclude_positive, neg_size): ...@@ -291,9 +292,9 @@ def check_negative_sampler(mode, exclude_positive, neg_size):
relations=g.edata['etype'], relations=g.edata['etype'],
return_false_neg=True): return_false_neg=True):
neg_lsrc, neg_ldst, neg_leid = neg_edges.all_edges(form='all', order='eid') neg_lsrc, neg_ldst, neg_leid = neg_edges.all_edges(form='all', order='eid')
neg_src = neg_edges.parent_nid[neg_lsrc] neg_src = F.gather_row(neg_edges.parent_nid, neg_lsrc)
neg_dst = neg_edges.parent_nid[neg_ldst] neg_dst = F.gather_row(neg_edges.parent_nid, neg_ldst)
neg_eid = neg_edges.parent_eid[neg_leid] neg_eid = F.gather_row(neg_edges.parent_eid, neg_leid)
exists = neg_edges.edata['false_neg'] exists = neg_edges.edata['false_neg']
neg_edges.edata['etype'] = g.edata['etype'][neg_eid] neg_edges.edata['etype'] = g.edata['etype'][neg_eid]
for i in range(len(neg_eid)): for i in range(len(neg_eid)):
...@@ -304,6 +305,7 @@ def check_negative_sampler(mode, exclude_positive, neg_size): ...@@ -304,6 +305,7 @@ def check_negative_sampler(mode, exclude_positive, neg_size):
exist = neg_edges.edata['etype'][i] == etype exist = neg_edges.edata['etype'][i] == etype
assert F.asnumpy(exists[i]) == F.asnumpy(exist) assert F.asnumpy(exists[i]) == F.asnumpy(exist)
@unittest.skipIf(dgl.backend.backend_name == "tensorflow", reason="Core dump")
def test_negative_sampler(): def test_negative_sampler():
check_negative_sampler('PBG-head', False, 10) check_negative_sampler('PBG-head', False, 10)
check_negative_sampler('head', True, 10) check_negative_sampler('head', True, 10)
......
...@@ -49,7 +49,7 @@ def test_basics(): ...@@ -49,7 +49,7 @@ def test_basics():
assert len(sg.ndata) == 1 assert len(sg.ndata) == 1
assert len(sg.edata) == 1 assert len(sg.edata) == 1
sh = sg.ndata['h'] sh = sg.ndata['h']
assert F.allclose(h[nid], sh) assert F.allclose(F.gather_row(h, F.tensor(nid)), sh)
''' '''
s, d, eid s, d, eid
0, 1, 0 0, 1, 0
......
...@@ -13,6 +13,7 @@ import itertools ...@@ -13,6 +13,7 @@ import itertools
np.random.seed(42) np.random.seed(42)
def toset(x): def toset(x):
# F.zerocopy_to_numpy may return a int
return set(F.zerocopy_to_numpy(x).tolist()) return set(F.zerocopy_to_numpy(x).tolist())
def test_bfs(n=100): def test_bfs(n=100):
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment