ChrisRackauckas / universal_differential_equations

Repository for the Universal Differential Equations for Scientific Machine Learning paper, describing a computational basis for high performance SciML
https://arxiv.org/abs/2001.04385
MIT License
215 stars 59 forks source link

TrackedArray Error when trying to reproduce the script #9

Closed FedericoV closed 4 years ago

FedericoV commented 4 years ago

Hi,

Thank you so much for open sourcing the paper. I was trying to reproduce the results before trying to build on top of it, and ran into some issues.

This is on a fresh install of juliapro after installing all packages with instantiate.

julia> include("FullVolterraExp.jl") Updating registry at~/.juliapro/JuliaPro_v1.2.0-2/registries/General ┌ Warning: Base.IOError("write: broken pipe (EPIPE)", -32) └ @ Pkg.Operations /Users/vagrant/worker/juliapro-release-osx1011-0_6/build/tmp_julia/Julia-1.2.app/Contents/Resources/julia/share/julia/stdlib/v1.2/Pkg/src/Operations.jl:485 Updating git-repohttps://pkg.juliacomputing.com/registry/General ERROR: LoadError: Not implemented: convert TrackedArray{…,Array{Float32,1}} to TrackedArray{…,Array{Float64,1}} Stacktrace: [1] convert(::Type{TrackedArray{…,Array{Float64,1}}}, ::TrackedArray{…,Array{Float32,1}}) at /Users/vaggi/.juliapro/JuliaPro_v1.2.0-2/packages/Tracker/cpxco/src/lib/array.jl:38 [2] setproperty!(::OrdinaryDiffEq.ODEIntegrator{Tsit5,false,TrackedArray{…,Array{Float64,1}},Float32,TrackedArray{…,Array{Float32,1}},Float32,Float32,Float32,Array{TrackedArray{…,Array{Float64,1}},1},ODESolution{Tracker.TrackedReal{Float64},2,Array{TrackedArray{…,Array{Float64,1}},1},Nothing,Nothing,Array{Float32,1},Array{Array{TrackedArray{…,Array{Float64,1}},1},1},ODEProblem{TrackedArray{…,Array{Float64,1}},Tuple{Float32,Float32},false,TrackedArray{…,Array{Float32,1}},ODEFunction{false,typeof(dudt_),UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},DiffEqBase.StandardODEProblem},Tsit5,OrdinaryDiffEq.InterpolationData{ODEFunction{false,typeof(dudt_),UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},Array{TrackedArray{…,Array{Float64,1}},1},Array{Float32,1},Array{Array{TrackedArray{…,Array{Float64,1}},1},1},OrdinaryDiffEq.Tsit5ConstantCache{Float64,Float32}},DiffEqBase.DEStats},ODEFunction{false,typeof(dudt_),UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},OrdinaryDiffEq.Tsit5ConstantCache{Float64,Float32},OrdinaryDiffEq.DEOptions{Tracker.TrackedReal{Float64},Tracker.TrackedReal{Float64},Float32,Float32,typeof(DiffEqBase.ODE_DEFAULT_NORM),typeof(opnorm),CallbackSet{Tuple{},Tuple{}},typeof(DiffEqBase.ODE_DEFAULT_ISOUTOFDOMAIN),typeof(DiffEqBase.ODE_DEFAULT_PROG_MESSAGE),typeof(DiffEqBase.ODE_DEFAULT_UNSTABLE_CHECK),DataStructures.BinaryHeap{Float32,DataStructures.LessThan},DataStructures.BinaryHeap{Float32,DataStructures.LessThan},Nothing,Nothing,Int64,Array{Float32,1},Array{Float32,1},Array{Float32,1}},TrackedArray{…,Array{Float64,1}},Tracker.TrackedReal{Float64},Nothing}, ::Symbol, ::TrackedArray{…,Array{Float32,1}}) at ./Base.jl:21 [3] initialize!(::OrdinaryDiffEq.ODEIntegrator{Tsit5,false,TrackedArray{…,Array{Float64,1}},Float32,TrackedArray{…,Array{Float32,1}},Float32,Float32,Float32,Array{TrackedArray{…,Array{Float64,1}},1},ODESolution{Tracker.TrackedReal{Float64},2,Array{TrackedArray{…,Array{Float64,1}},1},Nothing,Nothing,Array{Float32,1},Array{Array{TrackedArray{…,Array{Float64,1}},1},1},ODEProblem{TrackedArray{…,Array{Float64,1}},Tuple{Float32,Float32},false,TrackedArray{…,Array{Float32,1}},ODEFunction{false,typeof(dudt_),UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},DiffEqBase.StandardODEProblem},Tsit5,OrdinaryDiffEq.InterpolationData{ODEFunction{false,typeof(dudt_),UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},Array{TrackedArray{…,Array{Float64,1}},1},Array{Float32,1},Array{Array{TrackedArray{…,Array{Float64,1}},1},1},OrdinaryDiffEq.Tsit5ConstantCache{Float64,Float32}},DiffEqBase.DEStats},ODEFunction{false,typeof(dudt_),UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},OrdinaryDiffEq.Tsit5ConstantCache{Float64,Float32},OrdinaryDiffEq.DEOptions{Tracker.TrackedReal{Float64},Tracker.TrackedReal{Float64},Float32,Float32,typeof(DiffEqBase.ODE_DEFAULT_NORM),typeof(opnorm),CallbackSet{Tuple{},Tuple{}},typeof(DiffEqBase.ODE_DEFAULT_ISOUTOFDOMAIN),typeof(DiffEqBase.ODE_DEFAULT_PROG_MESSAGE),typeof(DiffEqBase.ODE_DEFAULT_UNSTABLE_CHECK),DataStructures.BinaryHeap{Float32,DataStructures.LessThan},DataStructures.BinaryHeap{Float32,DataStructures.LessThan},Nothing,Nothing,Int64,Array{Float32,1},Array{Float32,1},Array{Float32,1}},TrackedArray{…,Array{Float64,1}},Tracker.TrackedReal{Float64},Nothing}, ::OrdinaryDiffEq.Tsit5ConstantCache{Float64,Float32}) at /Users/vaggi/.juliapro/JuliaPro_v1.2.0-2/packages/OrdinaryDiffEq/DJItT/src/perform_step/low_order_rk_perform_step.jl:565 [4] #__init#332(::Array{Float32,1}, ::Array{Float32,1}, ::Array{Float32,1}, ::Nothing, ::Bool, ::Bool, ::Bool, ::Bool, ::Nothing, ::Bool, ::Bool, ::Float32, ::Float32, ::Float32, ::Bool, ::Bool, ::Rational{Int64}, ::Nothing, ::Nothing, ::Rational{Int64}, ::Int64, ::Int64, ::Int64, ::Rational{Int64}, ::Bool, ::Int64, ::Nothing, ::Nothing, ::Int64, ::typeof(DiffEqBase.ODE_DEFAULT_NORM), ::typeof(opnorm), ::typeof(DiffEqBase.ODE_DEFAULT_ISOUTOFDOMAIN), ::typeof(DiffEqBase.ODE_DEFAULT_UNSTABLE_CHECK), ::Bool, ::Bool, ::Bool, ::Bool, ::Bool, ::Bool, ::Bool, ::Int64, ::String, ::typeof(DiffEqBase.ODE_DEFAULT_PROG_MESSAGE), ::Nothing, ::Bool, ::Bool, ::Bool, ::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}}, ::typeof(DiffEqBase.__init), ::ODEProblem{TrackedArray{…,Array{Float64,1}},Tuple{Float32,Float32},false,TrackedArray{…,Array{Float32,1}},ODEFunction{false,typeof(dudt_),UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},DiffEqBase.StandardODEProblem}, ::Tsit5, ::Array{TrackedArray{…,Array{Float64,1}},1}, ::Array{Float32,1}, ::Array{Any,1}, ::Type{Val{true}}) at /Users/vaggi/.juliapro/JuliaPro_v1.2.0-2/packages/OrdinaryDiffEq/DJItT/src/solve.jl:357 [5] __init(::ODEProblem{TrackedArray{…,Array{Float64,1}},Tuple{Float32,Float32},false,TrackedArray{…,Array{Float32,1}},ODEFunction{false,typeof(dudt_),UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},DiffEqBase.StandardODEProblem}, ::Tsit5, ::Array{TrackedArray{…,Array{Float64,1}},1}, ::Array{Float32,1}, ::Array{Any,1}, ::Type{Val{true}}) at /Users/vaggi/.juliapro/JuliaPro_v1.2.0-2/packages/OrdinaryDiffEq/DJItT/src/solve.jl:66 (repeats 4 times) [6] #__solve#331 at /Users/vaggi/.juliapro/JuliaPro_v1.2.0-2/packages/OrdinaryDiffEq/DJItT/src/solve.jl:4 [inlined] [7] __solve at /Users/vaggi/.juliapro/JuliaPro_v1.2.0-2/packages/OrdinaryDiffEq/DJItT/src/solve.jl:4 [inlined] [8] #solve_call#442(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}}, ::typeof(DiffEqBase.solve_call), ::ODEProblem{TrackedArray{…,Array{Float64,1}},Tuple{Float32,Float32},false,TrackedArray{…,Array{Float32,1}},ODEFunction{false,typeof(dudt_),UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},DiffEqBase.StandardODEProblem}, ::Tsit5) at /Users/vaggi/.juliapro/JuliaPro_v1.2.0-2/packages/DiffEqBase/jMOwn/src/solve.jl:40 [9] solve_call at /Users/vaggi/.juliapro/JuliaPro_v1.2.0-2/packages/DiffEqBase/jMOwn/src/solve.jl:37 [inlined] [10] #solve#443 at /Users/vaggi/.juliapro/JuliaPro_v1.2.0-2/packages/DiffEqBase/jMOwn/src/solve.jl:57 [inlined] [11] solve at /Users/vaggi/.juliapro/JuliaPro_v1.2.0-2/packages/DiffEqBase/jMOwn/src/solve.jl:45 [inlined] [12] #diffeq_rd#7 at /Users/vaggi/.juliapro/JuliaPro_v1.2.0-2/packages/DiffEqFlux/o3yCl/src/Flux/layers.jl:19 [inlined] [13] diffeq_rd(::TrackedArray{…,Array{Float32,1}}, ::ODEProblem{TrackedArray{…,Array{Float64,1}},Tuple{Float32,Float32},false,TrackedArray{…,Array{Float32,1}},ODEFunction{false,typeof(dudt_),UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},DiffEqBase.StandardODEProblem}, ::Tsit5) at /Users/vaggi/.juliapro/JuliaPro_v1.2.0-2/packages/DiffEqFlux/o3yCl/src/Flux/layers.jl:7 [14] top-level scope at /Users/vaggi/Code_Libraries/Julia/universal_differential_equations/DelayLotkaVolterra/FullVolterraExp.jl:53 [15] include at ./boot.jl:328 [inlined] [16] include_relative(::Module, ::String) at ./loading.jl:1094 [17] include(::Module, ::String) at ./Base.jl:31 [18] include(::String) at ./client.jl:431 [19] top-level scope at none:0 in expression starting at /Users/vaggi/Code_Libraries/Julia/universal_differential_equations/DelayLotkaVolterra/FullVolterraExp.jl:53

I tried googling the error, and found this: https://github.com/FluxML/Flux.jl/issues/136

I hope I am not posting this in the wrong place - let me know if this belongs on discourse as well.

FedericoV commented 4 years ago

These are the versions of the packages I'm using: julia> Pkg.installed() Dict{String,Union{Nothing, VersionNumber}} with 14 entries: "DataDrivenDiffEq" => v"0.1.1" "Lasso" => v"0.5.1" "DelayDiffEq" => v"5.19.0" "ZipFile" => v"0.8.3" "IntelOpenMP_jll" => v"2018.0.3+0" "Juno" => v"0.7.2" "Tracker" => v"0.2.6" "DiffEqFlux" => v"0.10.2" "Flux" => v"0.9.0" "OrdinaryDiffEq" => v"5.26.7" "Plots" => v"0.28.4" "ModelingToolkit" => v"0.10.0" "JLD2" => v"0.1.10" "DifferentialEquations" => v"6.9.0"

ChrisRackauckas commented 4 years ago

Don't use JuliaPro for these. The manifests are for Julia 1.3

FedericoV commented 4 years ago

I tried a clean install on a fresh EC2 instance. I installed Julia 1.3.1:

julia> versioninfo() Julia Version 1.3.1 Commit 2d5741174c (2019-12-30 21:36 UTC) Platform Info: OS: Linux (x86_64-pc-linux-gnu) CPU: Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz WORD_SIZE: 64 LIBM: libopenlibm LLVM: libLLVM-6.0.1 (ORCJIT, broadwell)

and then tried executing the scripts and got a very similar error:

(base) ubuntu@ip-172-31-35-95:~/Julia_Projects/universal_differential_equations/DelayLotkaVolterra$ julia FullVolterraExp.jl Activating environment at~/Julia_Projects/universal_differentialequations/DelayLotkaVolterra/Project.toml` ERROR: LoadError: Not implemented: convert TrackedArray{…,Array{Float32,1}} to TrackedArray{…,Array{Float64,1}} Stacktrace: [1] error(::String) at ./error.jl:33 [2] convert(::Type{TrackedArray{…,Array{Float64,1}}}, ::TrackedArray{…,Array{Float32,1}}) at /home/ubuntu/.julia/packages/Tracker/cpxco/src/lib/array.jl:38 [3] setproperty!(::OrdinaryDiffEq.ODEIntegrator{Tsit5,false,TrackedArray{…,Array{Float64,1}},Float32,TrackedArray{…,Array{Float32,1}},Float32,Float32,Float32,Array{TrackedArray{…,Array{Float64,1}},1},ODESolution{Tracker.TrackedReal{Float64},2,Array{TrackedArray{…,Array{Float64,1}},1},Nothing,Nothing,Array{Float32,1},Array{Array{TrackedArray{…,Array{Float64,1}},1},1},ODEProblem{TrackedArray{…,Array{Float64,1}},Tuple{Float32,Float32},false,TrackedArray{…,Array{Float32,1}},ODEFunction{false,typeof(dudt),UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},DiffEqBase.StandardODEProblem},Tsit5,OrdinaryDiffEq.InterpolationData{ODEFunction{false,typeof(dudt),UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},Array{TrackedArray{…,Array{Float64,1}},1},Array{Float32,1},Array{Array{TrackedArray{…,Array{Float64,1}},1},1},OrdinaryDiffEq.Tsit5ConstantCache{Float64,Float32}},DiffEqBase.DEStats},ODEFunction{false,typeof(dudt),UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},OrdinaryDiffEq.Tsit5ConstantCache{Float64,Float32},OrdinaryDiffEq.DEOptions{Tracker.TrackedReal{Float64},Tracker.TrackedReal{Float64},Float32,Float32,typeof(DiffEqBase.ODE_DEFAULT_NORM),typeof(opnorm),CallbackSet{Tuple{},Tuple{}},typeof(DiffEqBase.ODE_DEFAULT_ISOUTOFDOMAIN),typeof(DiffEqBase.ODE_DEFAULT_PROG_MESSAGE),typeof(DiffEqBase.ODE_DEFAULT_UNSTABLECHECK),DataStructures.BinaryHeap{Float32,DataStructures.LessThan},DataStructures.BinaryHeap{Float32,DataStructures.LessThan},Nothing,Nothing,Int64,Array{Float32,1},Array{Float32,1},Array{Float32,1}},TrackedArray{…,Array{Float64,1}},Tracker.TrackedReal{Float64},Nothing}, ::Symbol, ::TrackedArray{…,Array{Float32,1}}) at ./Base.jl:21 [4] initialize!(::OrdinaryDiffEq.ODEIntegrator{Tsit5,false,TrackedArray{…,Array{Float64,1}},Float32,TrackedArray{…,Array{Float32,1}},Float32,Float32,Float32,Array{TrackedArray{…,Array{Float64,1}},1},ODESolution{Tracker.TrackedReal{Float64},2,Array{TrackedArray{…,Array{Float64,1}},1},Nothing,Nothing,Array{Float32,1},Array{Array{TrackedArray{…,Array{Float64,1}},1},1},ODEProblem{TrackedArray{…,Array{Float64,1}},Tuple{Float32,Float32},false,TrackedArray{…,Array{Float32,1}},ODEFunction{false,typeof(dudt),UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},DiffEqBase.StandardODEProblem},Tsit5,OrdinaryDiffEq.InterpolationData{ODEFunction{false,typeof(dudt),UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},Array{TrackedArray{…,Array{Float64,1}},1},Array{Float32,1},Array{Array{TrackedArray{…,Array{Float64,1}},1},1},OrdinaryDiffEq.Tsit5ConstantCache{Float64,Float32}},DiffEqBase.DEStats},ODEFunction{false,typeof(dudt),UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},OrdinaryDiffEq.Tsit5ConstantCache{Float64,Float32},OrdinaryDiffEq.DEOptions{Tracker.TrackedReal{Float64},Tracker.TrackedReal{Float64},Float32,Float32,typeof(DiffEqBase.ODE_DEFAULT_NORM),typeof(opnorm),CallbackSet{Tuple{},Tuple{}},typeof(DiffEqBase.ODE_DEFAULT_ISOUTOFDOMAIN),typeof(DiffEqBase.ODE_DEFAULT_PROG_MESSAGE),typeof(DiffEqBase.ODE_DEFAULT_UNSTABLE_CHECK),DataStructures.BinaryHeap{Float32,DataStructures.LessThan},DataStructures.BinaryHeap{Float32,DataStructures.LessThan},Nothing,Nothing,Int64,Array{Float32,1},Array{Float32,1},Array{Float32,1}},TrackedArray{…,Array{Float64,1}},Tracker.TrackedReal{Float64},Nothing}, ::OrdinaryDiffEq.Tsit5ConstantCache{Float64,Float32}) at /home/ubuntu/.julia/packages/OrdinaryDiffEq/DJItT/src/perform_step/low_order_rk_perform_step.jl:565 [5] #init#332(::Array{Float32,1}, ::Array{Float32,1}, ::Array{Float32,1}, ::Nothing, ::Bool, ::Bool, ::Bool, ::Bool, ::Nothing, ::Bool, ::Bool, ::Float32, ::Float32, ::Float32, ::Bool, ::Bool, ::Rational{Int64}, ::Nothing, ::Nothing, ::Rational{Int64}, ::Int64, ::Int64, ::Int64, ::Rational{Int64}, ::Bool, ::Int64, ::Nothing, ::Nothing, ::Int64, ::typeof(DiffEqBase.ODE_DEFAULT_NORM), ::typeof(opnorm), ::typeof(DiffEqBase.ODE_DEFAULT_ISOUTOFDOMAIN), ::typeof(DiffEqBase.ODE_DEFAULT_UNSTABLE_CHECK), ::Bool, ::Bool, ::Bool, ::Bool, ::Bool, ::Bool, ::Bool, ::Int64, ::String, ::typeof(DiffEqBase.ODE_DEFAULT_PROG_MESSAGE), ::Nothing, ::Bool, ::Bool, ::Bool, ::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}}, ::typeof(DiffEqBase.init), ::ODEProblem{TrackedArray{…,Array{Float64,1}},Tuple{Float32,Float32},false,TrackedArray{…,Array{Float32,1}},ODEFunction{false,typeof(dudt_),UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},DiffEqBase.StandardODEProblem}, ::Tsit5, ::Array{TrackedArray{…,Array{Float64,1}},1}, ::Array{Float32,1}, ::Array{Any,1}, ::Type{Val{true}}) at /home/ubuntu/.julia/packages/OrdinaryDiffEq/DJItT/src/solve.jl:357 [6] _init(::ODEProblem{TrackedArray{…,Array{Float64,1}},Tuple{Float32,Float32},false,TrackedArray{…,Array{Float32,1}},ODEFunction{false,typeof(dudt),UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},DiffEqBase.StandardODEProblem}, ::Tsit5, ::Array{TrackedArray{…,Array{Float64,1}},1}, ::Array{Float32,1}, ::Array{Any,1}, ::Type{Val{true}}) at /home/ubuntu/.julia/packages/OrdinaryDiffEq/DJItT/src/solve.jl:66 (repeats 5 times) [7] #solve#331 at /home/ubuntu/.julia/packages/OrdinaryDiffEq/DJItT/src/solve.jl:4 [inlined] [8] solve at /home/ubuntu/.julia/packages/OrdinaryDiffEq/DJItT/src/solve.jl:4 [inlined] [9] #solve_call#442(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}}, ::typeof(DiffEqBase.solvecall), ::ODEProblem{TrackedArray{…,Array{Float64,1}},Tuple{Float32,Float32},false,TrackedArray{…,Array{Float32,1}},ODEFunction{false,typeof(dudt),UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},DiffEqBase.StandardODEProblem}, ::Tsit5) at /home/ubuntu/.julia/packages/DiffEqBase/jMOwn/src/solve.jl:40 [10] solve_call at /home/ubuntu/.julia/packages/DiffEqBase/jMOwn/src/solve.jl:37 [inlined] [11] #solve#443 at /home/ubuntu/.julia/packages/DiffEqBase/jMOwn/src/solve.jl:57 [inlined] [12] solve at /home/ubuntu/.julia/packages/DiffEqBase/jMOwn/src/solve.jl:45 [inlined] [13] #diffeq_rd#7 at /home/ubuntu/.julia/packages/DiffEqFlux/o3yCl/src/Flux/layers.jl:19 [inlined] [14] diffeqrd(::TrackedArray{…,Array{Float32,1}}, ::ODEProblem{TrackedArray{…,Array{Float64,1}},Tuple{Float32,Float32},false,TrackedArray{…,Array{Float32,1}},ODEFunction{false,typeof(dudt),UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{,Tuple{}}},DiffEqBase.StandardODEProblem}, ::Tsit5) at /home/ubuntu/.julia/packages/DiffEqFlux/o3yCl/src/Flux/layers.jl:7 [15] top-level scope at /home/ubuntu/Julia_Projects/universal_differential_equations/DelayLotkaVolterra/FullVolterraExp.jl:53 [16] include at ./boot.jl:328 [inlined] [17] include_relative(::Module, ::String) at ./loading.jl:1105 [18] include(::Module, ::String) at ./Base.jl:31 [19] exec_options(::Base.JLOptions) at ./client.jl:287 [20] _start() at ./client.jl:460 in expression starting at /home/ubuntu/Julia_Projects/universal_differential_equations/DelayLotkaVolterra/FullVolterraExp.jl:53 `

Is the problem that I'm using 1.3.1 instead of 1.3?

ChrisRackauckas commented 4 years ago

Oh, the right script to run there is actually VolterraExp.jl. I'm not sure the other has been updated recently.

FedericoV commented 4 years ago

That one gives this error:

(base) ubuntu@ip-172-31-35-95:~/Julia_Projects/universal_differential_equations/DelayLotkaVolterra$ julia VolterraExp.jl

Activating environment at ~/Julia_Projects/universal_differential_equations/DelayLotkaVolterra/Project.toml

ERROR: LoadError: LoadError: UndefVarError: Juno not defined

Stacktrace:

[1] top-level scope

[2] include at ./boot.jl:328 [inlined]

[3] include_relative(::Module, ::String) at ./loading.jl:1105

[4] include(::Module, ::String) at ./Base.jl:31

[5] exec_options(::Base.JLOptions) at ./client.jl:287

[6] _start() at ./client.jl:460

in expression starting at /home/ubuntu/Julia_Projects/universal_differential_equations/DelayLotkaVolterra/VolterraExp.jl:92

in expression starting at /home/ubuntu/Julia_Projects/universal_differential_equations/DelayLotkaVolterra/VolterraExp.jl:92

I'm guessing this is because it expects that the script is run from within a Juno terminal rather than from the command line?

On Thu, Feb 6, 2020 at 3:53 PM Christopher Rackauckas < notifications@github.com> wrote:

Oh, the right script to run there is actually VolterraExp.jl. I'm not sure the other has been updated recently.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/ChrisRackauckas/universal_differential_equations/issues/9?email_source=notifications&email_token=AAEZ25UZ6NEH43KTC2JZPTDRBSPGXA5CNFSM4KRFAIW2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELBHD4A#issuecomment-583168496, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEZ25T3GIZXAXLTDAUQ6SLRBSPGXANCNFSM4KRFAIWQ .

ChrisRackauckas commented 4 years ago

You can do ]add Juno, but yeah that's from the progress bar. We should clean that out of there. In fact, this should probably just get updated to the new sciml_train functions in DiffEqFlux. After finishing this project, we realized how we needed to change the package and really cleaned up the interface (and updated to Zygote, so a full breaking change ahead) but haven't updated these scripts yet. I'll get around to it probably this weekend, and they should get a nice speedup too.

FedericoV commented 4 years ago

Thanks so much for all your help: I was able to get it running in juno (even with Julia pro) once I started running the right script.

Out of curiosity: are you planning to add any examples with stochastic differential equations?

On Thu, Feb 6, 2020 at 4:55 PM Christopher Rackauckas < notifications@github.com> wrote:

You can do ]add Juno, but yeah that's from the progress bar. We should clean that out of there. In fact, this should probably just get updated to the new sciml_train functions in DiffEqFlux. After finishing this project, we realized how we needed to change the package and really cleaned up the interface (and updated to Zygote, so a full breaking change ahead) but haven't updated these scripts yet. I'll get around to it probably this weekend, and they should get a nice speedup too.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/ChrisRackauckas/universal_differential_equations/issues/9?email_source=notifications&email_token=AAEZ25WJ4WTZFMCRZFII3C3RBSWPFA5CNFSM4KRFAIW2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELBK2SI#issuecomment-583183689, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEZ25XC5HAEKDJES3HIDI3RBSWPFANCNFSM4KRFAIWQ .

ChrisRackauckas commented 4 years ago

The 100 dimensional HJB is a stochastic differential equation one. Also, there is an example in the repo: https://github.com/JuliaDiffEq/DiffEqFlux.jl#neural-differential-equations-for-non-odes-neural-sdes-neural-ddes-etc

ChrisRackauckas commented 4 years ago

The latest vesrions of the scripts require Julia v1.3+. The early errors in here look to be Julia v1.2 errors. The scripts got a big update and should be a lot nicer to work with. Cheers.