1
- using Zygote, ForwardDiff
1
+ using Zygote, ForwardDiff, Tracker
2
2
3
3
dims = [10 ,5 ]
4
4
@@ -13,11 +13,25 @@ testfunction(k,A) = sum(kernelmatrix(k,A))
13
13
14
14
15
15
# For debugging
16
+
17
+ # # Zygote
16
18
Zygote. gradient (x-> testfunction (SquaredExponentialKernel (x),A,B),vl)
17
- Zygote. gradient (x-> testfunction (SquaredExponentialKernel (x),A,B ),vl)
19
+ Zygote. gradient (x-> testfunction (SquaredExponentialKernel (x),A),vl)
18
20
Zygote. gradient (x-> testfunction (SquaredExponentialKernel (x),A,B),l)
19
- ForwardDiff. gradient (x-> testfunction (SquaredExponentialKernel (x[1 ]),A),[l])
21
+ Zygote. gradient (x-> testfunction (SquaredExponentialKernel (x),A),l)
22
+
23
+ # # Tracker
24
+ Tracker. gradient (x-> testfunction (SquaredExponentialKernel (x),A,B),vl)
25
+ Tracker. gradient (x-> testfunction (SquaredExponentialKernel (x),A),vl)
26
+ Tracker. gradient (x-> testfunction (SquaredExponentialKernel (x),A,B),l)
27
+ Tracker. gradient (x-> testfunction (SquaredExponentialKernel (x),A),l)
28
+
20
29
30
+ # # ForwardDiff
31
+ ForwardDiff. gradient (x-> testfunction (SquaredExponentialKernel (x),A,B),vl) # ✓
32
+ ForwardDiff. gradient (x-> testfunction (SquaredExponentialKernel (x),A),vl) # ✓
33
+ ForwardDiff. gradient (x-> testfunction (SquaredExponentialKernel (x[1 ]),A,B),[l])
34
+ ForwardDiff. gradient (x-> testfunction (SquaredExponentialKernel (x[1 ]),A),[l])
21
35
# #Eventually store real results in file
22
36
23
37
@testset " Zygote Automatic Differentiation test" begin
@@ -40,6 +54,27 @@ ForwardDiff.gradient(x->testfunction(SquaredExponentialKernel(x[1]),A),[l])
40
54
end
41
55
end
42
56
57
+ @testset " Tracker AutomaticDifferentation test" begin
58
+ @testset " ARD" begin
59
+ for k in kernels
60
+ @test Tracker. gradient (x-> testfunction (k (x),A,B),vl)
61
+ @test Tracker. gradient (x-> testfunction (k (vl),x,B),A)
62
+ @test Tracker. gradient (x-> testfunction (k (x),A),vl)
63
+ @test Tracker. gradient (x-> testfunction (k (vl),x),A)
64
+ end
65
+ end
66
+ @testset " ISO" begin
67
+ for k in kernels
68
+ @test Tracker. gradient (x-> testfunction (k (x[1 ]),A,B),[l])
69
+ @test Tracker. gradient (x-> testfunction (k (l),x,B),A)
70
+ @test Tracker. gradient (x-> testfunction (k (x),A),[l])
71
+ @test Tracker. gradient (x-> testfunction (k (l[1 ]),x),A)
72
+
73
+ end
74
+ end
75
+ end
76
+
77
+
43
78
@testset " ForwardDiff AutomaticDifferentation test" begin
44
79
@testset " ARD" begin
45
80
for k in kernels
0 commit comments