https://github.com/JuliaDiffEq/DiffEqFlux.jl

sort by:
Revision Author Date Message Commit Date
364ea75 Update Project.toml 06 February 2020, 20:46:20 UTC
8fd8a4f fix SDE for sciml_train 06 February 2020, 19:09:09 UTC
448cc00 Merge pull request #139 from ric-cioffi/patch-1 stopping criterion on current loss 06 February 2020, 18:36:09 UTC
498aa89 fix Optim setup 06 February 2020, 15:55:12 UTC
52f13be sciml_train! -> sciml_train and boolean for halting in a safe way 06 February 2020, 14:09:19 UTC
d0017f9 Update appveyor.yml 05 February 2020, 23:44:31 UTC
0d51a5e stopping criterion on current loss We can make this directly depend on the callback function (which is consistent with Optim). For example a reasonable callback function would be function cb(θ, l) println("Current loss: ", l) return l < 1e-4 end 05 February 2020, 22:37:30 UTC
6331437 Update Project.toml 04 February 2020, 20:34:25 UTC
fb58ee4 Merge pull request #136 from JuliaDiffEq/abstract add some abstract types 04 February 2020, 20:34:09 UTC
b261c3a Update fast_layers.jl 04 February 2020, 19:53:24 UTC
0a0d436 add some abstract types 04 February 2020, 19:09:23 UTC
49a0f9d patch version 02 February 2020, 22:37:39 UTC
2623712 Merge remote-tracking branch 'origin/master' 02 February 2020, 22:37:25 UTC
9e650d3 add missing paramlength 02 February 2020, 22:37:20 UTC
bb0a9f4 Update Project.toml 02 February 2020, 20:22:30 UTC
9503182 Update Project.toml 02 February 2020, 19:11:33 UTC
ffa8de3 Merge pull request #131 from JuliaDiffEq/compathelper/new_version/2020-02-02-19-06-06-079-2925281732 CompatHelper: add new compat entry for "UnsafeArrays" at version "1.0" 02 February 2020, 19:11:12 UTC
540535e Merge pull request #130 from JuliaDiffEq/compathelper/new_version/2020-02-02-19-06-01-939-805572191 CompatHelper: add new compat entry for "StaticArrays" at version "0.12" 02 February 2020, 19:10:59 UTC
45b6c14 Merge pull request #129 from JuliaDiffEq/compathelper/new_version/2020-02-02-19-05-58-218-2470525580 CompatHelper: add new compat entry for "Optim" at version "0.20" 02 February 2020, 19:10:51 UTC
fa9715d Merge branch 'master' into compathelper/new_version/2020-02-02-19-05-58-218-2470525580 02 February 2020, 19:10:43 UTC
08088fa Merge pull request #128 from JuliaDiffEq/compathelper/new_version/2020-02-02-19-05-52-170-3096553966 CompatHelper: add new compat entry for "Juno" at version "0.7" 02 February 2020, 19:10:16 UTC
1bc4e53 CompatHelper: add new compat entry for "UnsafeArrays" at version "1.0" 02 February 2020, 19:06:06 UTC
777646d CompatHelper: add new compat entry for "StaticArrays" at version "0.12" 02 February 2020, 19:06:01 UTC
2f509fa CompatHelper: add new compat entry for "Optim" at version "0.20" 02 February 2020, 19:05:58 UTC
e5fce2c CompatHelper: add new compat entry for "Juno" at version "0.7" 02 February 2020, 19:05:53 UTC
2bd7091 Merge pull request #125 from JuliaDiffEq/sciml Introduce sciml_train 02 February 2020, 18:29:10 UTC
0973536 Merge pull request #126 from JuliaDiffEq/fast implement fast versions of Flux 02 February 2020, 18:28:22 UTC
62fc7e2 fix fast_layers test 02 February 2020, 17:06:58 UTC
a17c292 fix up neural SDE in README 02 February 2020, 17:01:09 UTC
a0b6de8 Float32 default parameters 02 February 2020, 11:46:38 UTC
3622f80 support and use FastChain in neural SDE example 02 February 2020, 10:59:18 UTC
74543f7 initial_params interface to make it easier to swap out for Flux 02 February 2020, 10:33:41 UTC
e9149ce Static and unsafe (sounds like an awesome album name) 02 February 2020, 09:40:34 UTC
caad001 implement fast versions of Flux ```julia using DiffEqFlux, OrdinaryDiffEq, Optim, Flux, Zygote, Test u0 = Float32[2.; 0.] datasize = 30 tspan = (0.0f0,1.5f0) function trueODEfunc(du,u,p,t) true_A = [-0.1 2.0; -2.0 -0.1] du .= ((u.^3)'true_A)' end t = range(tspan[1],tspan[2],length=datasize) prob = ODEProblem(trueODEfunc,u0,tspan) ode_data = Array(solve(prob,Tsit5(),saveat=t)) fastdudt2,p = FastChain((x,p) -> x.^3, FastDense(2,50,tanh), FastDense(50,2)) fast_n_ode = NeuralODE(fastdudt2,p,tspan,Tsit5(),saveat=t) function fast_predict_n_ode(p) fast_n_ode(u0,p) end function fast_loss_n_ode(p) pred = fast_predict_n_ode(p) loss = sum(abs2,ode_data .- pred) loss,pred end dudt2 = Chain((x) -> x.^3, Dense(2,50,tanh), Dense(50,2)) n_ode = NeuralODE(dudt2,tspan,Tsit5(),saveat=t) function predict_n_ode(p) n_ode(u0,p) end function loss_n_ode(p) pred = predict_n_ode(p) loss = sum(abs2,ode_data .- pred) loss,pred end _p,re = Flux.destructure(dudt2) @test fastdudt2(ones(2),_p) ≈ dudt2(ones(2)) @test fast_loss_n_ode(p)[1] ≈ loss_n_ode(p)[1] @test Zygote.gradient((p)->fast_loss_n_ode(p)[1], p)[1] ≈ Zygote.gradient((p)->loss_n_ode(p)[1], p)[1] @btime Zygote.gradient((p)->fast_loss_n_ode(p)[1], p) @btime Zygote.gradient((p)->fast_loss_n_ode(p)[1], p) @btime Zygote.gradient((p)->loss_n_ode(p)[1], p) @btime Zygote.gradient((p)->loss_n_ode(p)[1], p) ``` ``` 27.272 ms (181318 allocations: 16.54 MiB) 27.328 ms (181318 allocations: 16.54 MiB) 262.430 ms (677868 allocations: 32.83 MiB) 260.814 ms (677868 allocations: 32.83 MiB) ``` order of magnitude performance improvement over using Flux for neural networks 02 February 2020, 09:00:04 UTC
f136e7c final sciml_train! README changes 02 February 2020, 08:24:24 UTC
db5291a fix up tests and most of README 02 February 2020, 05:57:49 UTC
aed5688 change partial_neural to new interface 02 February 2020, 03:53:22 UTC
d6a8422 standardize around Optim's output interface 02 February 2020, 03:38:22 UTC
150be4c start making the interface nicer 02 February 2020, 02:05:04 UTC
d057efb sciml passes 02 February 2020, 01:57:44 UTC
bb3da42 rename 31 January 2020, 15:27:18 UTC
3c9b00f Introduce sciml_train 31 January 2020, 15:24:37 UTC
2085732 Update Project.toml 24 January 2020, 07:55:08 UTC
c51de86 Merge pull request #117 from JuliaDiffEq/gpu_patch patch Zygote GPU support 21 January 2020, 02:32:03 UTC
91f21d7 set proper test brokens 20 January 2020, 21:46:39 UTC
b930c21 patch Zygote GPU support 20 January 2020, 19:06:32 UTC
8c7406d no longer broken with new recursivearraytools 20 January 2020, 10:48:07 UTC
22e20ad Update Project.toml 20 January 2020, 10:16:25 UTC
bc97b36 Merge pull request #115 from JuliaDiffEq/sde_dde NeuralDSDE, NeuralSDE, and NeuralCDDE 20 January 2020, 10:16:10 UTC
0a581a9 test disabled 20 January 2020, 09:53:41 UTC
aa5c064 for now 20 January 2020, 09:24:13 UTC
2777e74 easier test 20 January 2020, 08:10:30 UTC
c84759d remove requirement 20 January 2020, 06:05:20 UTC
192765f fix non-diagonal noise usage 20 January 2020, 05:52:19 UTC
d4f7a3d NeuralDSDE, NeuralSDE, and NeuralCDDE Removes NeuralDMSDE as part of the Zygote changes 20 January 2020, 05:41:25 UTC
f580921 Merge remote-tracking branch 'origin/master' 20 January 2020, 03:56:31 UTC
fe78dd1 Fix DMSDE Fixes https://github.com/JuliaDiffEq/DiffEqFlux.jl/issues/114 by making sure to do `re(p)` in the drift function call 20 January 2020, 03:56:27 UTC
bad3def Update README.md 16 January 2020, 15:53:40 UTC
6d37feb Update README.md 16 January 2020, 15:19:04 UTC
e2f0c14 Update README.md 16 January 2020, 14:53:40 UTC
0c02e47 Update README.md 16 January 2020, 14:02:35 UTC
04db452 Update .gitlab-ci.yml 14 January 2020, 19:20:36 UTC
6f54e71 update GPU to 1.3.1 14 January 2020, 18:23:22 UTC
bfe3d91 upstream fix to test 14 January 2020, 18:21:59 UTC
a5f431e Update partial_neural.jl 14 January 2020, 14:27:47 UTC
6dbb90e Update README.md 14 January 2020, 05:02:31 UTC
a1d4614 Merge remote-tracking branch 'origin/master' 13 January 2020, 16:48:30 UTC
2264c0a test broken the batched backsolve 13 January 2020, 16:48:25 UTC
96eb8d9 Update Project.toml 13 January 2020, 14:09:53 UTC
0d81916 add a note on the new only time you'd need Tracker.collect 11 January 2020, 12:59:20 UTC
d9b373a little bit more clean up 11 January 2020, 12:56:37 UTC
333a757 No manual Tracker.collect ! 11 January 2020, 12:53:08 UTC
66516d7 some README clean up 10 January 2020, 13:27:46 UTC
5796081 Merge branch 'struct_layers' 10 January 2020, 06:12:29 UTC
6d9e0d4 trim down docs 10 January 2020, 06:12:17 UTC
8eb8659 Merge pull request #109 from JuliaDiffEq/struct_layers Neural DE struct layers 10 January 2020, 06:05:26 UTC
d8501a5 fix up partial neural test 10 January 2020, 06:01:20 UTC
9185735 complete the transition to the new layers 10 January 2020, 05:38:33 UTC
9947c9c fix test 10 January 2020, 04:14:58 UTC
b89460b replace all layers with concrete_solve 10 January 2020, 03:06:08 UTC
61ebbe2 move all over to concrete_solve 10 January 2020, 02:00:24 UTC
851d7ff use as much concrete_solve as possible 10 January 2020, 00:39:40 UTC
4587a0a start updating all layers to concrete_solve 09 January 2020, 23:24:11 UTC
cda8235 change tests to the structs 09 January 2020, 22:46:13 UTC
1e0447a update README to use layer structs 09 January 2020, 14:56:29 UTC
f3f916b get it solving 09 January 2020, 14:29:44 UTC
1bba800 Neural DE struct layers 09 January 2020, 14:14:07 UTC
84a328e more README fixes 09 January 2020, 13:35:49 UTC
aff652f Merge branch 'dere' 09 January 2020, 12:59:08 UTC
46d88bf more README fixes 09 January 2020, 12:58:57 UTC
8a25418 Merge pull request #103 from JuliaDiffEq/dere Neural ODE via restructure/destructure 09 January 2020, 04:34:15 UTC
9127bc4 use GPU fixed version 09 January 2020, 03:03:34 UTC
4b55132 fix tests 08 January 2020, 15:27:40 UTC
a46dd5f gpu successful except for Flux 08 January 2020, 13:46:37 UTC
27bb4c6 gpu passes 08 January 2020, 13:15:24 UTC
fca467b tests pass 08 January 2020, 12:28:46 UTC
057b600 remove DiffEqFlux-specific destructure/restructure 07 January 2020, 22:33:12 UTC
a7d6be7 destructure/restructure 07 January 2020, 22:32:20 UTC
fa91e12 Merge pull request #96 from JuliaDiffEq/zygote2 Zygote Compatibility 31 December 2019, 05:18:28 UTC
7b8def1 update Julia version 31 December 2019, 05:00:19 UTC
back to top