|
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