Skip to content

Commit 70c83ae

Browse files
Merge branch 'tests'
2 parents 90c5139 + a9997ce commit 70c83ae

File tree

3 files changed

+100
-27
lines changed

3 files changed

+100
-27
lines changed

.gitlab-ci.yml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
image: "julia:1"
2+
3+
variables:
4+
JULIA_DEPOT_PATH: "$CI_PROJECT_DIR/.julia/"
5+
JULIA_NUM_THREADS: '8'
6+
7+
cache:
8+
paths:
9+
- .julia/
10+
11+
build:
12+
stage: build
13+
tags:
14+
- 'p6000'
15+
script:
16+
- curl https://julialang-s3.julialang.org/bin/linux/x64/1.1/julia-1.1.1-linux-x86_64.tar.gz -o julia.tar.gz
17+
- unp julia.tar.gz
18+
- export PATH="$(pwd)/julia-1.1.1/bin:$PATH"
19+
- julia -e "using InteractiveUtils;
20+
versioninfo()"
21+
- julia --project -e "using Pkg;
22+
Pkg.update();
23+
Pkg.instantiate();"
24+
only:
25+
- master
26+
- tags
27+
- external
28+
- pushes
29+
artifacts:
30+
untracked: true
31+
paths:
32+
- .julia/**/*
33+
- julia-1.1.1/**/*
34+
35+
test-GPU:
36+
stage: test
37+
tags:
38+
- 'p6000'
39+
dependencies:
40+
- build
41+
variables:
42+
GROUP: "GPU"
43+
script:
44+
- export PATH="$(pwd)/julia-1.1.1/bin:$PATH"
45+
- julia -e "using InteractiveUtils;
46+
versioninfo()"
47+
- julia --project -e "using Pkg; Pkg.add(\"CuArrays\");
48+
Pkg.test(\"DiffEqFlux\"; coverage=true);"
49+
only:
50+
- master
51+
- tags
52+
- external
53+
- pushes
54+
artifacts:
55+
untracked: true
56+
paths:
57+
- .julia/**/*
58+
- julia-1.1.1/**/*

test/neural_de_gpu.jl

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -104,26 +104,28 @@ neural_ode_rd(dudt,u0,tspan,Tsit5(),saveat=0.1)
104104
# Adjoint
105105

106106
@testset "adjoint mode trackedu0" begin
107-
Tracker.zero_grad!(dudt[1].W.grad)
108-
Tracker.zero_grad!(downsample.W.grad)
109-
m1 = Chain(downsample, u0->neural_ode(dudt,u0,tspan,Tsit5(),save_everystep=false,save_start=false)) #broke
110-
Flux.back!(sum(m1(x0)))
111-
@test ! iszero(Tracker.grad(dudt[1].W))
112-
@test ! iszero(Tracker.grad(downsample.W))
113-
114-
Tracker.zero_grad!(dudt[1].W.grad)
115-
Tracker.zero_grad!(downsample.W.grad)
116-
m2 = Chain(downsample, u0->neural_ode(dudt,u0,tspan,Tsit5(),saveat=0.0:0.1:10.0))
117-
Flux.back!(sum(m2(x0)))
118-
@test ! iszero(Tracker.grad(dudt[1].W))
119-
@test ! iszero(Tracker.grad(downsample.W))
120-
121-
Tracker.zero_grad!(dudt[1].W.grad)
122-
Tracker.zero_grad!(downsample.W.grad)
123-
m3 = Chain(downsample, u0->neural_ode(dudt,u0,tspan,Tsit5(),saveat=0.1))
124-
@test_broken Flux.back!(sum(m3(x0)))
125-
#@test ! iszero(Tracker.grad(dudt[1].W))
126-
#@test ! iszero(Tracker.grad(downsample.W))
107+
@test_broken
108+
Tracker.zero_grad!(dudt[1].W.grad)
109+
Tracker.zero_grad!(downsample.W.grad)
110+
m1 = Chain(downsample, u0->neural_ode(dudt,u0,tspan,Tsit5(),save_everystep=false,save_start=false)) #broke
111+
Flux.back!(sum(m1(x0)))
112+
@test ! iszero(Tracker.grad(dudt[1].W))
113+
@test ! iszero(Tracker.grad(downsample.W))
114+
115+
Tracker.zero_grad!(dudt[1].W.grad)
116+
Tracker.zero_grad!(downsample.W.grad)
117+
m2 = Chain(downsample, u0->neural_ode(dudt,u0,tspan,Tsit5(),saveat=0.0:0.1:10.0))
118+
Flux.back!(sum(m2(x0)))
119+
@test ! iszero(Tracker.grad(dudt[1].W))
120+
@test ! iszero(Tracker.grad(downsample.W))
121+
122+
Tracker.zero_grad!(dudt[1].W.grad)
123+
Tracker.zero_grad!(downsample.W.grad)
124+
m3 = Chain(downsample, u0->neural_ode(dudt,u0,tspan,Tsit5(),saveat=0.1))
125+
@test_broken Flux.back!(sum(m3(x0)))
126+
#@test ! iszero(Tracker.grad(dudt[1].W))
127+
#@test ! iszero(Tracker.grad(downsample.W))
128+
end
127129
end;
128130

129131
#= # RD =#

test/runtests.jl

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,22 @@
11
using DiffEqFlux, Test, SafeTestsets
22

3-
@safetestset "Utils Tests" begin include("utils.jl") end
4-
@safetestset "Layers Tests" begin include("layers.jl") end
5-
@safetestset "Layers SDE" begin include("layers_sde.jl") end
6-
@safetestset "Layers DDE" begin include("layers_dde.jl") end
7-
@safetestset "odenet" begin include("odenet.jl") end
8-
@safetestset "Neural DE Tests" begin include("neural_de.jl") end
9-
@safetestset "Partial Neural Tests" begin include("partial_neural.jl") end
3+
const GROUP = get(ENV, "GROUP", "All")
4+
const is_APPVEYOR = ( Sys.iswindows() && haskey(ENV,"APPVEYOR") )
5+
const is_TRAVIS = haskey(ENV,"TRAVIS")
6+
7+
@time begin
8+
if GROUP == "All"
9+
@safetestset "Utils Tests" begin include("utils.jl") end
10+
@safetestset "Layers Tests" begin include("layers.jl") end
11+
@safetestset "Layers SDE" begin include("layers_sde.jl") end
12+
@safetestset "Layers DDE" begin include("layers_dde.jl") end
13+
@safetestset "odenet" begin include("odenet.jl") end
14+
@safetestset "Neural DE Tests" begin include("neural_de.jl") end
15+
@safetestset "Partial Neural Tests" begin include("partial_neural.jl") end
16+
end
17+
end
18+
19+
if !is_APPVEYOR && GROUP == "GPU"
20+
@safetestset "odenet GPU" begin include("odenet_gpu.jl") end
21+
@safetestset "Neural DE GPU Tests" begin include("neural_de_gpu.jl") end
22+
end

0 commit comments

Comments
 (0)