@@ -42,14 +42,13 @@ We have also seen some useful methods such as [`adjacency_matrix`](@ref) and [`e
42
42
## Data Features
43
43
44
44
``` julia
45
- GNNGraph (sprand (10 , 0.3 ), ndata = (; X= rand (32 , 10 )))
45
+ GNNGraph (erods_renyi (10 , 30 ), ndata = (; X= rand (Float32, 32 , 10 )))
46
46
# or equivalently
47
- GNNGraph (sprand (10 , 0.3 ), ndata= rand (32 , 10 ))
47
+ GNNGraph (sprand (10 , 0.3 ), ndata= rand (Float32, 32 , 10 ))
48
48
49
+ g = GNNGraph (sprand (10 , 0.3 ), ndata = (X= rand (Float32, 32 , 10 ), y= rand (Float32, 10 )))
49
50
50
- g = GNNGraph (sprand (10 , 0.3 ), ndata = (X= rand (32 , 10 ), y= rand (10 )))
51
-
52
- g = GNNGraph (g, edata= rand (6 , g. num_edges))
51
+ g = GNNGraph (g, edata= rand (Float32, 6 , g. num_edges))
53
52
```
54
53
55
54
@@ -64,16 +63,36 @@ g = remove_self_loops(g)
64
63
## Batches and Subgraphs
65
64
66
65
``` julia
67
- g = Flux. batch ([g1, g2, g3])
66
+ using Flux
68
67
69
- subgraph (g, 2 : 3 )
70
- ```
68
+ gall = Flux. batch ([GNNGraph (erdos_renyi (10 , 30 ), ndata= rand (3 ,10 )) for _ in 1 : 100 ])
69
+
70
+ subgraph (gall, 2 : 3 )
71
71
72
72
73
+ # DataLoader compatibility
74
+ train_loader = Flux. Data. DataLoader (gall, batchsize= 16 , shuffle= true )
75
+
76
+ for g for gall
77
+ @assert g. num_graphs == 16
78
+ @assert g. num_nodes == 160
79
+ @assert size (g. ndata. X) = (3 , 160 )
80
+ .....
81
+ end
82
+ ```
83
+
73
84
## LightGraphs integration
74
85
75
86
``` julia
76
87
@assert LightGraphs. isdirected (g)
77
88
```
78
89
90
+ ## GPU movement
91
+
92
+ ``` julia
93
+ using Flux: gpu
94
+
95
+ g |> gpu
96
+ ```
97
+
79
98
## Other methods
0 commit comments