|
1 | 1 | @testset "cuda/conv" begin |
| 2 | + T = Float32 |
2 | 3 | in_channel = 3 |
3 | 4 | out_channel = 5 |
4 | 5 | N = 4 |
5 | | - adj = [0 1 0 1; |
| 6 | + adj = T[0 1 0 1; |
6 | 7 | 1 0 1 0; |
7 | 8 | 0 1 0 1; |
8 | 9 | 1 0 1 0] |
|
13 | 14 | gc = GCNConv(fg, in_channel=>out_channel) |> gpu |
14 | 15 | @test size(gc.weight) == (out_channel, in_channel) |
15 | 16 | @test size(gc.bias) == (out_channel,) |
16 | | - # @test GraphSignals.adjacency_matrix(gc.fg) == adj |
| 17 | + @test collect(GraphSignals.adjacency_matrix(gc.fg)) == adj |
17 | 18 |
|
18 | 19 | X = rand(in_channel, N) |> gpu |
19 | 20 | Y = gc(X) |
|
33 | 34 | cc = ChebConv(fg, in_channel=>out_channel, k) |> gpu |
34 | 35 | @test size(cc.weight) == (out_channel, in_channel, k) |
35 | 36 | @test size(cc.bias) == (out_channel,) |
36 | | - # @test GraphSignals.adjacency_matrix(cc.fg) == adj |
| 37 | + @test collect(GraphSignals.adjacency_matrix(cc.fg)) == adj |
37 | 38 | @test cc.k == k |
38 | 39 | @test size(cc.weight, 2) == in_channel |
39 | 40 | @test size(cc.weight, 1) == out_channel |
40 | 41 |
|
41 | | - # X = rand(in_channel, N) |> gpu |
42 | | - # Y = cc(X) |
43 | | - # @test size(Y) == (out_channel, N) |
| 42 | + X = rand(in_channel, N) |> gpu |
| 43 | + Y = cc(X) |
| 44 | + @test size(Y) == (out_channel, N) |
44 | 45 |
|
45 | | - # g = Zygote.gradient(x -> sum(cc(x)), X)[1] |
46 | | - # @test size(g) == size(X) |
| 46 | + g = Zygote.gradient(x -> sum(cc(x)), X)[1] |
| 47 | + @test size(g) == size(X) |
47 | 48 |
|
48 | | - # g = Zygote.gradient(model -> sum(model(X)), cc)[1] |
49 | | - # @test size(g.weight) == size(cc.weight) |
50 | | - # @test size(g.bias) == size(cc.bias) |
| 49 | + g = Zygote.gradient(model -> sum(model(X)), cc)[1] |
| 50 | + @test size(g.weight) == size(cc.weight) |
| 51 | + @test size(g.bias) == size(cc.bias) |
51 | 52 | end |
52 | 53 |
|
53 | 54 | # @testset "GraphConv" begin |
|
0 commit comments