Create graph with src, edge, dst feature. broadcast can be 'u', 'e', 'v', 'none'
(g, broadcast="none", binary_op="none")
| 40 | |
| 41 | |
| 42 | def generate_feature(g, broadcast="none", binary_op="none"): |
| 43 | """Create graph with src, edge, dst feature. broadcast can be 'u', |
| 44 | 'e', 'v', 'none' |
| 45 | """ |
| 46 | np.random.seed(31) |
| 47 | nv = g.num_nodes() |
| 48 | ne = g.num_edges() |
| 49 | if binary_op == "dot": |
| 50 | if broadcast == "e": |
| 51 | u = F.tensor(np.random.uniform(-1, 1, (nv, D1, D2, D3, D4))) |
| 52 | e = F.tensor(np.random.uniform(-1, 1, (ne, D2, 1, D4))) |
| 53 | v = F.tensor(np.random.uniform(-1, 1, (nv, D1, D2, D3, D4))) |
| 54 | elif broadcast == "u": |
| 55 | u = F.tensor(np.random.uniform(-1, 1, (nv, D2, 1, D4))) |
| 56 | e = F.tensor(np.random.uniform(-1, 1, (ne, D1, D2, D3, D4))) |
| 57 | v = F.tensor(np.random.uniform(-1, 1, (nv, D1, D2, D3, D4))) |
| 58 | elif broadcast == "v": |
| 59 | u = F.tensor(np.random.uniform(-1, 1, (nv, D1, D2, D3, D4))) |
| 60 | e = F.tensor(np.random.uniform(-1, 1, (ne, D1, D2, D3, D4))) |
| 61 | v = F.tensor(np.random.uniform(-1, 1, (nv, D2, 1, D4))) |
| 62 | else: |
| 63 | u = F.tensor(np.random.uniform(-1, 1, (nv, D1, D2, D3, D4))) |
| 64 | e = F.tensor(np.random.uniform(-1, 1, (ne, D1, D2, D3, D4))) |
| 65 | v = F.tensor(np.random.uniform(-1, 1, (nv, D1, D2, D3, D4))) |
| 66 | else: |
| 67 | if broadcast == "e": |
| 68 | u = F.tensor(np.random.uniform(-1, 1, (nv, D1, D2, D3))) |
| 69 | e = F.tensor(np.random.uniform(-1, 1, (ne, D2, 1))) |
| 70 | v = F.tensor(np.random.uniform(-1, 1, (nv, D1, D2, D3))) |
| 71 | elif broadcast == "u": |
| 72 | u = F.tensor(np.random.uniform(-1, 1, (nv, D2, 1))) |
| 73 | e = F.tensor(np.random.uniform(-1, 1, (ne, D1, D2, D3))) |
| 74 | v = F.tensor(np.random.uniform(-1, 1, (nv, D1, D2, D3))) |
| 75 | elif broadcast == "v": |
| 76 | u = F.tensor(np.random.uniform(-1, 1, (nv, D1, D2, D3))) |
| 77 | e = F.tensor(np.random.uniform(-1, 1, (ne, D1, D2, D3))) |
| 78 | v = F.tensor(np.random.uniform(-1, 1, (nv, D2, 1))) |
| 79 | else: |
| 80 | u = F.tensor(np.random.uniform(-1, 1, (nv, D1, D2, D3))) |
| 81 | e = F.tensor(np.random.uniform(-1, 1, (ne, D1, D2, D3))) |
| 82 | v = F.tensor(np.random.uniform(-1, 1, (nv, D1, D2, D3))) |
| 83 | return ( |
| 84 | F.astype(u, F.float32), |
| 85 | F.astype(v, F.float32), |
| 86 | F.astype(e, F.float32), |
| 87 | ) |
| 88 | |
| 89 | |
| 90 | def test_copy_src_reduce(): |