SciML / JumpProcesses.jl

Build and simulate jump equations like Gillespie simulations and jump diffusions with constant and state-dependent rates and mix with differential equations and scientific machine learning (SciML)
https://docs.sciml.ai/JumpProcesses/stable/
Other
140 stars 35 forks source link

Jump problem with ensemble dies after large number of iterations in Approximate Bayes computation #217

Closed YUJINGl3 closed 2 years ago

YUJINGl3 commented 2 years ago

I'm using Approximate Bayes computation to inference parameters using data points driven from the Jump problems. The simulated works for the first few turns but runs into error after large number of simulations. Here is my code for simulating data and a quite long error.

rn = @reaction_network begin
    k1*O*(k2+k3*N^2+k1*O+k4*200)/(1+k1*O*(k3*N^2+k1*O+k4*200+k5*F^2)+k6*O*G^2), ∅ --> N
    (k7+k8*O)/(1+k8*O+k9*G^2), ∅ -->O
    (k10+k11*O)/(1+k11*O), ∅ --> F
    (k12+k13*G^2+k15*O)/
    (1+k13*G^2+k14*N^2+k15*O), ∅ --> G
    k16, N -->∅
    k16, O -->∅
    k16, F -->∅
    k16, G -->∅
end k1 k2 k3 k4 k5 k6 k7 k8 k9 k10 k11 k12 k13 k14 k15 k16
`
@everywhere function Generating_data(n,k, param, rn)
    timept = 10:div(3000, k):3000
    u₀ = [105,110,100,5]
    tspan = (0.0,3000.0)
    dprob = DiscreteProblem(rn, u₀, tspan, param)
    jprob = JumpProblem(rn, dprob, Direct())
    ensprob = EnsembleProblem(jprob)
    sol = solve(ensprob, SSAStepper(), trajectories=n,saveat=1)
     ix = find_index(timept,10,sol[1].t)
    data = dropdims(hcat(sol[1].u...)[:,ix], dims = 2)
    for i in 2:n
        ix = find_index(timept,10,sol[i].t)
        data = cat(data,dropdims(hcat(sol[i].u...)[:,ix],dims = 2), dims=3)
    end
    return data
end
@everywhere function generate_density2d(observations1, observations2, t, observation_range)
    granularity_2d = 256

    x1_range = Array(LinRange(observation_range[1,t,1], maximum(observation_range[1,t,2]), granularity_2d))
    x2_range =Array(LinRange(observation_range[4,t,1], maximum(observation_range[4,t,2]), granularity_2d))

    x_grid = [[_x1, _x2] for _x1 in x1_range for _x2 in x2_range]
    values = hcat([observations1, observations2]...)'
    kernel = SciPy.stats.gaussian_kde(values, "silverman")

    position = hcat(x_grid...)
    densitys = kernel(position)
    return densitys
end

function generating_potential2d(t, chains, obr)
    potential = zeros(256^2,t)
    @sync for i in 1:t
        @async potential[:,i] += remotecall_fetch(generate_density2d,i+1,chains[1,i,:], chains[4,i,:], i, obr)
    end
    return potential
end

function simdata(x)
    k1, k2, k3, k4, k5, k6, k7, k8, k9, k10, k11, k12, k13, k14, k15, k16 = x
    param = [k1, k2, k3, k4, k5, k6, k7, k8, k9, k10, k11, k12, k13, k14, k15, k16]
    data = Generating_data(100,10,param, rn) + rand(Normal(0.025,0.025), 4, 10, 100)
    potential = generating_potential2d(10, data, obr1)
end

function my_hellinger(x,y)
    sqrt(abs((1 - sum(sqrt.(x .* y) / sqrt(sum(x) * sum(y))))))
end

function simdist(x, constants, y)
  s = simdata(x)
  my_hellinger(s,y), 1
end

threshold_schedule = [4.7, 2.7, 1.7, 0.7, 0.35,0.175];
priors = [Uniform(0.00050, 0.05000), Uniform(0.00100, 0.02500), 
            Uniform(0.04000, 2.0000), Uniform(0.10000, 2.00000),
            Uniform(0.01000, 0.50000), Uniform(0.00025, 0.00250),
            Uniform(0.00100, 0.02500), Uniform(0.00100, 0.02500),
             Uniform(0.10000, 2.00000),Uniform(0.10000, 2.00000),
            Uniform(0.00100, 0.02500),Uniform(1.00050, 10.05000),
            Uniform(0.10000, 2.00000),Uniform(0.00050, 0.05000),
            Uniform(0.10000, 2.00000),Uniform(0.00100, 0.02500)]
param_indices = [1, 2, 3,4,5,6,7,8,9,10,11,12,13,14,15,16]

reference_data = density1

n_particles = 1000

simulator_function = simdata

sim_abcsmc_res = SimulatedABCSMC(reference_data,
    simulator_function,
    priors,
    threshold_schedule,
    n_particles,
    distance_function = my_hellinger,
    write_progress=true)
Info: GpABC rejection simulation. ϵ = 4.7.
└ @ GpABC /home/yujingl3/.julia/packages/GpABC/cR3wm/src/abc/rejection.jl:47
┌ Info: GpABC rejection simulation. Accepted 1000/1000 particles.
└ @ GpABC /home/yujingl3/.julia/packages/GpABC/cR3wm/src/abc/rejection.jl:87
┌ Info: GpABC SMC simulation ϵ = 2.7
└ @ GpABC /home/yujingl3/.julia/packages/GpABC/cR3wm/src/abc/smc.jl:193
┌ Info: GpABC SMC simulation accepted 1000/1000 particles.
└ @ GpABC /home/yujingl3/.julia/packages/GpABC/cR3wm/src/abc/smc.jl:238
┌ Info: GpABC SMC simulation ϵ = 1.7
└ @ GpABC /home/yujingl3/.julia/packages/GpABC/cR3wm/src/abc/smc.jl:193
┌ Info: GpABC SMC simulation accepted 1000/1000 particles.
└ @ GpABC /home/yujingl3/.julia/packages/GpABC/cR3wm/src/abc/smc.jl:238
┌ Info: GpABC SMC simulation ϵ = 0.7
└ @ GpABC /home/yujingl3/.julia/packages/GpABC/cR3wm/src/abc/smc.jl:193
Internal error: encountered unexpected error in runtime:
MethodError(f=Core.Compiler.widenconst, args=(:(:iter),), world=0x00000000000011be)
jl_method_error_bare at /buildworker/worker/package_linux64/build/src/gf.c:1821
jl_method_error at /buildworker/worker/package_linux64/build/src/gf.c:1839
jl_lookup_generic_ at /buildworker/worker/package_linux64/build/src/gf.c:2410 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2425
getfield_elim_pass! at ./compiler/ssair/passes.jl:642
run_passes at ./compiler/optimize.jl:311
optimize at ./compiler/optimize.jl:296 [inlined]
_typeinf at ./compiler/typeinfer.jl:255
typeinf at ./compiler/typeinfer.jl:209
typeinf_edge at ./compiler/typeinfer.jl:823 [inlined]
abstract_call_method at ./compiler/abstractinterpretation.jl:504
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:105
abstract_call_known at ./compiler/abstractinterpretation.jl:1342
abstract_call at ./compiler/abstractinterpretation.jl:1397
abstract_call at ./compiler/abstractinterpretation.jl:1382
abstract_eval_statement at ./compiler/abstractinterpretation.jl:1534
typeinf_local at ./compiler/abstractinterpretation.jl:1918
typeinf_nocycle at ./compiler/abstractinterpretation.jl:2014
_typeinf at ./compiler/typeinfer.jl:226
typeinf at ./compiler/typeinfer.jl:209
typeinf_edge at ./compiler/typeinfer.jl:823 [inlined]
abstract_call_method at ./compiler/abstractinterpretation.jl:504
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:105
abstract_call_known at ./compiler/abstractinterpretation.jl:1342
abstract_call at ./compiler/abstractinterpretation.jl:1397
abstract_call at ./compiler/abstractinterpretation.jl:1382
abstract_eval_statement at ./compiler/abstractinterpretation.jl:1534
typeinf_local at ./compiler/abstractinterpretation.jl:1918
typeinf_nocycle at ./compiler/abstractinterpretation.jl:2014
_typeinf at ./compiler/typeinfer.jl:226
typeinf at ./compiler/typeinfer.jl:209
typeinf_edge at ./compiler/typeinfer.jl:823 [inlined]
abstract_call_method at ./compiler/abstractinterpretation.jl:504
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:105
abstract_call_known at ./compiler/abstractinterpretation.jl:1342
abstract_call at ./compiler/abstractinterpretation.jl:1397
abstract_call at ./compiler/abstractinterpretation.jl:1382
abstract_eval_statement at ./compiler/abstractinterpretation.jl:1534
typeinf_local at ./compiler/abstractinterpretation.jl:1900
typeinf_nocycle at ./compiler/abstractinterpretation.jl:2014
_typeinf at ./compiler/typeinfer.jl:226
typeinf at ./compiler/typeinfer.jl:209
typeinf_edge at ./compiler/typeinfer.jl:823 [inlined]
abstract_call_method at ./compiler/abstractinterpretation.jl:504
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:105
abstract_call_known at ./compiler/abstractinterpretation.jl:1342
abstract_call at ./compiler/abstractinterpretation.jl:1397
abstract_call at ./compiler/abstractinterpretation.jl:1382
abstract_eval_statement at ./compiler/abstractinterpretation.jl:1534
typeinf_local at ./compiler/abstractinterpretation.jl:1918
typeinf_nocycle at ./compiler/abstractinterpretation.jl:2014
_typeinf at ./compiler/typeinfer.jl:226
typeinf at ./compiler/typeinfer.jl:209
typeinf_ext at ./compiler/typeinfer.jl:909
typeinf_ext_toplevel at ./compiler/typeinfer.jl:942
typeinf_ext_toplevel at ./compiler/typeinfer.jl:938
jfptr_typeinf_ext_toplevel_9887.clone_1 at /usr/local/easybuild-2019/easybuild/software/core/julia/1.7.0-linux-x86_64/lib/julia/sys.so (unknown line)
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2247 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2429
jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1788 [inlined]
jl_type_infer at /buildworker/worker/package_linux64/build/src/gf.c:295
jl_generate_fptr at /buildworker/worker/package_linux64/build/src/jitlayers.cpp:338
jl_compile_method_internal at /buildworker/worker/package_linux64/build/src/gf.c:1980
jl_compile_method_internal at /buildworker/worker/package_linux64/build/src/gf.c:2246 [inlined]
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2239 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2429
#JumpProblem#236 at /home/yujingl3/.julia/packages/ModelingToolkit/MuQfD/src/systems/jumps/jumpsystem.jl:296
JumpProblem at /home/yujingl3/.julia/packages/ModelingToolkit/MuQfD/src/systems/jumps/jumpsystem.jl:271 [inlined]
#JumpProblem#392 at /home/yujingl3/.julia/packages/ModelingToolkit/MuQfD/src/systems/reaction/reactionsystem.jl:535 [inlined]
JumpProblem at /home/yujingl3/.julia/packages/ModelingToolkit/MuQfD/src/systems/reaction/reactionsystem.jl:535
unknown function (ip: 0x2b455e49d99b)
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2247 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2429
Generating_data at ./In[9]:8
unknown function (ip: 0x2b455df2e113)
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2247 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2429
simdata at ./In[46]:4
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2247 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2429
simulate_distance at /home/yujingl3/.julia/packages/GpABC/cR3wm/src/util/emulation_helpers.jl:7
unknown function (ip: 0x2b455e48b581)
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2247 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2429
#iterateABCSMC!#28 at /home/yujingl3/.julia/packages/GpABC/cR3wm/src/abc/smc.jl:213
iterateABCSMC!##kw at /home/yujingl3/.julia/packages/GpABC/cR3wm/src/abc/smc.jl:192
unknown function (ip: 0x2b45e4aeaa23)
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2247 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2429
#ABCSMC#31 at /home/yujingl3/.julia/packages/GpABC/cR3wm/src/abc/smc.jl:362
ABCSMC##kw at /home/yujingl3/.julia/packages/GpABC/cR3wm/src/abc/smc.jl:357 [inlined]
#SimulatedABCSMC#68 at /home/yujingl3/.julia/packages/GpABC/cR3wm/src/abc/simulation.jl:128
unknown function (ip: 0x2b455e488c20)
SimulatedABCSMC##kw at /home/yujingl3/.julia/packages/GpABC/cR3wm/src/abc/simulation.jl:119
unknown function (ip: 0x2b455e482f6b)
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2247 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2429
jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1788 [inlined]
do_call at /buildworker/worker/package_linux64/build/src/interpreter.c:126
eval_value at /buildworker/worker/package_linux64/build/src/interpreter.c:215
eval_stmt_value at /buildworker/worker/package_linux64/build/src/interpreter.c:166 [inlined]
eval_body at /buildworker/worker/package_linux64/build/src/interpreter.c:587
jl_interpret_toplevel_thunk at /buildworker/worker/package_linux64/build/src/interpreter.c:731
top-level scope at In[49]:1
jl_toplevel_eval_flex at /buildworker/worker/package_linux64/build/src/toplevel.c:885
jl_toplevel_eval_flex at /buildworker/worker/package_linux64/build/src/toplevel.c:830
jl_toplevel_eval_in at /buildworker/worker/package_linux64/build/src/toplevel.c:944
eval at ./boot.jl:373 [inlined]
include_string at ./loading.jl:1196
softscope_include_string at /home/yujingl3/.julia/packages/SoftGlobalScope/u4UzH/src/SoftGlobalScope.jl:65
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2247 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2429
execute_request at /home/yujingl3/.julia/packages/IJulia/e8kqU/src/execute_request.jl:67
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2247 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2429
jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1788 [inlined]
jl_f__call_latest at /buildworker/worker/package_linux64/build/src/builtins.c:757
#invokelatest#2 at ./essentials.jl:716 [inlined]
invokelatest at ./essentials.jl:714 [inlined]
eventloop at /home/yujingl3/.julia/packages/IJulia/e8kqU/src/eventloop.jl:8
#15 at ./task.jl:423
unknown function (ip: 0x2b45143a9aaf)
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2247 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2429
jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1788 [inlined]
start_task at /buildworker/worker/package_linux64/build/src/task.c:877
Internal error: encountered unexpected error in runtime:
MethodError(f=Core.Compiler.widenconst, args=(:(:f),), world=0x00000000000011be)
jl_method_error_bare at /buildworker/worker/package_linux64/build/src/gf.c:1821
jl_method_error at /buildworker/worker/package_linux64/build/src/gf.c:1839
jl_lookup_generic_ at /buildworker/worker/package_linux64/build/src/gf.c:2410 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2425
getfield_elim_pass! at ./compiler/ssair/passes.jl:642
run_passes at ./compiler/optimize.jl:311
optimize at ./compiler/optimize.jl:296 [inlined]
_typeinf at ./compiler/typeinfer.jl:255
typeinf at ./compiler/typeinfer.jl:209
typeinf_edge at ./compiler/typeinfer.jl:823 [inlined]
abstract_call_method at ./compiler/abstractinterpretation.jl:504
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:105
abstract_call_known at ./compiler/abstractinterpretation.jl:1342
abstract_call at ./compiler/abstractinterpretation.jl:1397
jfptr_abstract_call_11029.clone_1 at /usr/local/easybuild-2019/easybuild/software/core/julia/1.7.0-linux-x86_64/lib/julia/sys.so (unknown line)
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2247 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2429
return_type_tfunc at ./compiler/tfuncs.jl:1745
abstract_call_known at ./compiler/abstractinterpretation.jl:1293
abstract_call at ./compiler/abstractinterpretation.jl:1397
abstract_call at ./compiler/abstractinterpretation.jl:1382
abstract_eval_statement at ./compiler/abstractinterpretation.jl:1534
typeinf_local at ./compiler/abstractinterpretation.jl:1900
typeinf_nocycle at ./compiler/abstractinterpretation.jl:2014
_typeinf at ./compiler/typeinfer.jl:226
typeinf at ./compiler/typeinfer.jl:209
typeinf_edge at ./compiler/typeinfer.jl:823 [inlined]
abstract_call_method at ./compiler/abstractinterpretation.jl:504
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:105
abstract_call_known at ./compiler/abstractinterpretation.jl:1342
abstract_call at ./compiler/abstractinterpretation.jl:1397
abstract_call at ./compiler/abstractinterpretation.jl:1382
abstract_eval_statement at ./compiler/abstractinterpretation.jl:1534
typeinf_local at ./compiler/abstractinterpretation.jl:1900
typeinf_nocycle at ./compiler/abstractinterpretation.jl:2014
_typeinf at ./compiler/typeinfer.jl:226
typeinf at ./compiler/typeinfer.jl:209
typeinf_edge at ./compiler/typeinfer.jl:823 [inlined]
abstract_call_method at ./compiler/abstractinterpretation.jl:504
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:105
abstract_call_known at ./compiler/abstractinterpretation.jl:1342
abstract_call at ./compiler/abstractinterpretation.jl:1397
abstract_call at ./compiler/abstractinterpretation.jl:1382
abstract_eval_statement at ./compiler/abstractinterpretation.jl:1534
typeinf_local at ./compiler/abstractinterpretation.jl:1918
typeinf_nocycle at ./compiler/abstractinterpretation.jl:2014
_typeinf at ./compiler/typeinfer.jl:226
typeinf at ./compiler/typeinfer.jl:209
typeinf_edge at ./compiler/typeinfer.jl:823 [inlined]
abstract_call_method at ./compiler/abstractinterpretation.jl:504
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:105
abstract_call_known at ./compiler/abstractinterpretation.jl:1342
abstract_call at ./compiler/abstractinterpretation.jl:1397
abstract_call at ./compiler/abstractinterpretation.jl:1382
abstract_eval_statement at ./compiler/abstractinterpretation.jl:1534
typeinf_local at ./compiler/abstractinterpretation.jl:1900
typeinf_nocycle at ./compiler/abstractinterpretation.jl:2014
_typeinf at ./compiler/typeinfer.jl:226
typeinf at ./compiler/typeinfer.jl:209
typeinf_edge at ./compiler/typeinfer.jl:823 [inlined]
abstract_call_method at ./compiler/abstractinterpretation.jl:504
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:105
abstract_call_known at ./compiler/abstractinterpretation.jl:1342
abstract_call at ./compiler/abstractinterpretation.jl:1397
abstract_call at ./compiler/abstractinterpretation.jl:1382
abstract_eval_statement at ./compiler/abstractinterpretation.jl:1534
typeinf_local at ./compiler/abstractinterpretation.jl:1918
typeinf_nocycle at ./compiler/abstractinterpretation.jl:2014
_typeinf at ./compiler/typeinfer.jl:226
typeinf at ./compiler/typeinfer.jl:209
typeinf_edge at ./compiler/typeinfer.jl:823 [inlined]
abstract_call_method at ./compiler/abstractinterpretation.jl:504
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:105
abstract_call_known at ./compiler/abstractinterpretation.jl:1342
abstract_call at ./compiler/abstractinterpretation.jl:1397
abstract_call at ./compiler/abstractinterpretation.jl:1382
abstract_eval_statement at ./compiler/abstractinterpretation.jl:1534
typeinf_local at ./compiler/abstractinterpretation.jl:1918
typeinf_nocycle at ./compiler/abstractinterpretation.jl:2014
_typeinf at ./compiler/typeinfer.jl:226
typeinf at ./compiler/typeinfer.jl:209
typeinf_edge at ./compiler/typeinfer.jl:823 [inlined]
abstract_call_method at ./compiler/abstractinterpretation.jl:504
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:105
abstract_call_known at ./compiler/abstractinterpretation.jl:1342
abstract_call at ./compiler/abstractinterpretation.jl:1397
abstract_call at ./compiler/abstractinterpretation.jl:1382
abstract_eval_statement at ./compiler/abstractinterpretation.jl:1534
typeinf_local at ./compiler/abstractinterpretation.jl:1918
typeinf_nocycle at ./compiler/abstractinterpretation.jl:2014
_typeinf at ./compiler/typeinfer.jl:226
typeinf at ./compiler/typeinfer.jl:209
typeinf_edge at ./compiler/typeinfer.jl:823 [inlined]
abstract_call_method at ./compiler/abstractinterpretation.jl:504
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:105
abstract_call_known at ./compiler/abstractinterpretation.jl:1342
abstract_call at ./compiler/abstractinterpretation.jl:1397
abstract_apply at ./compiler/abstractinterpretation.jl:987
abstract_call_known at ./compiler/abstractinterpretation.jl:1249
abstract_call at ./compiler/abstractinterpretation.jl:1397
abstract_call at ./compiler/abstractinterpretation.jl:1382
abstract_eval_statement at ./compiler/abstractinterpretation.jl:1534
typeinf_local at ./compiler/abstractinterpretation.jl:1918
typeinf_nocycle at ./compiler/abstractinterpretation.jl:2014
_typeinf at ./compiler/typeinfer.jl:226
typeinf at ./compiler/typeinfer.jl:209
typeinf_edge at ./compiler/typeinfer.jl:823 [inlined]
abstract_call_method at ./compiler/abstractinterpretation.jl:504
abstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:105
abstract_call_known at ./compiler/abstractinterpretation.jl:1342
abstract_call at ./compiler/abstractinterpretation.jl:1397
abstract_apply at ./compiler/abstractinterpretation.jl:987
abstract_call_known at ./compiler/abstractinterpretation.jl:1249
abstract_call at ./compiler/abstractinterpretation.jl:1397
abstract_call at ./compiler/abstractinterpretation.jl:1382
abstract_eval_statement at ./compiler/abstractinterpretation.jl:1534
typeinf_local at ./compiler/abstractinterpretation.jl:1918
typeinf_nocycle at ./compiler/abstractinterpretation.jl:2014
_typeinf at ./compiler/typeinfer.jl:226
typeinf at ./compiler/typeinfer.jl:209
typeinf_ext at ./compiler/typeinfer.jl:909
typeinf_ext_toplevel at ./compiler/typeinfer.jl:942
typeinf_ext_toplevel at ./compiler/typeinfer.jl:938
jfptr_typeinf_ext_toplevel_9887.clone_1 at /usr/local/easybuild-2019/easybuild/software/core/julia/1.7.0-linux-x86_64/lib/julia/sys.so (unknown line)
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2247 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2429
jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1788 [inlined]
jl_type_infer at /buildworker/worker/package_linux64/build/src/gf.c:295
jl_generate_fptr at /buildworker/worker/package_linux64/build/src/jitlayers.cpp:338
jl_compile_method_internal at /buildworker/worker/package_linux64/build/src/gf.c:1980
jl_compile_method_internal at /buildworker/worker/package_linux64/build/src/gf.c:2246 [inlined]
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2239 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2429
Generating_data at ./In[9]:11
unknown function (ip: 0x2b455df2e113)
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2247 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2429
simdata at ./In[46]:4
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2247 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2429
simulate_distance at /home/yujingl3/.julia/packages/GpABC/cR3wm/src/util/emulation_helpers.jl:7
unknown function (ip: 0x2b455e48b581)
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2247 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2429
#iterateABCSMC!#28 at /home/yujingl3/.julia/packages/GpABC/cR3wm/src/abc/smc.jl:213
iterateABCSMC!##kw at /home/yujingl3/.julia/packages/GpABC/cR3wm/src/abc/smc.jl:192
unknown function (ip: 0x2b45e4aeaa23)
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2247 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2429
#ABCSMC#31 at /home/yujingl3/.julia/packages/GpABC/cR3wm/src/abc/smc.jl:362
ABCSMC##kw at /home/yujingl3/.julia/packages/GpABC/cR3wm/src/abc/smc.jl:357 [inlined]
#SimulatedABCSMC#68 at /home/yujingl3/.julia/packages/GpABC/cR3wm/src/abc/simulation.jl:128
unknown function (ip: 0x2b455e488c20)
SimulatedABCSMC##kw at /home/yujingl3/.julia/packages/GpABC/cR3wm/src/abc/simulation.jl:119
unknown function (ip: 0x2b455e482f6b)
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2247 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2429
jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1788 [inlined]
do_call at /buildworker/worker/package_linux64/build/src/interpreter.c:126
eval_value at /buildworker/worker/package_linux64/build/src/interpreter.c:215
eval_stmt_value at /buildworker/worker/package_linux64/build/src/interpreter.c:166 [inlined]
eval_body at /buildworker/worker/package_linux64/build/src/interpreter.c:587
jl_interpret_toplevel_thunk at /buildworker/worker/package_linux64/build/src/interpreter.c:731
top-level scope at In[49]:1
jl_toplevel_eval_flex at /buildworker/worker/package_linux64/build/src/toplevel.c:885
jl_toplevel_eval_flex at /buildworker/worker/package_linux64/build/src/toplevel.c:830
jl_toplevel_eval_in at /buildworker/worker/package_linux64/build/src/toplevel.c:944
eval at ./boot.jl:373 [inlined]
include_string at ./loading.jl:1196
softscope_include_string at /home/yujingl3/.julia/packages/SoftGlobalScope/u4UzH/src/SoftGlobalScope.jl:65
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2247 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2429
execute_request at /home/yujingl3/.julia/packages/IJulia/e8kqU/src/execute_request.jl:67
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2247 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2429
jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1788 [inlined]
jl_f__call_latest at /buildworker/worker/package_linux64/build/src/builtins.c:757
#invokelatest#2 at ./essentials.jl:716 [inlined]
invokelatest at ./essentials.jl:714 [inlined]
eventloop at /home/yujingl3/.julia/packages/IJulia/e8kqU/src/eventloop.jl:8
#15 at ./task.jl:423
unknown function (ip: 0x2b45143a9aaf)
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2247 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2429
jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1788 [inlined]
start_task at /buildworker/worker/package_linux64/build/src/task.c:877
ChrisRackauckas commented 2 years ago
@everywhere function Generating_data(n,k, param, rn)
    timept = 10:div(3000, k):3000
    u₀ = [105,110,100,5]
    tspan = (0.0,3000.0)
    dprob = DiscreteProblem(rn, u₀, tspan, param)
    jprob = JumpProblem(rn, dprob, Direct())
    ensprob = EnsembleProblem(jprob)
...

that's not a good idea. You should just create a single JumpProblem and remake it from there.

YUJINGl3 commented 2 years ago
@everywhere function Generating_data(n,k, param, rn)
    timept = 10:div(3000, k):3000
    u₀ = [105,110,100,5]
    tspan = (0.0,3000.0)
    dprob = DiscreteProblem(rn, u₀, tspan, param)
    jprob = JumpProblem(rn, dprob, Direct())
    ensprob = EnsembleProblem(jprob)
...

that's not a good idea. You should just create a single JumpProblem and remake it from there.

Thanks! I will have a try with that.

YUJINGl3 commented 2 years ago

Following the advise from @ChrisRackauckas p = [0.005, 0.008, 0.36, 1, 0.1, 0.00135, 0.01, 0.01, 1, 1, 0.01, 5, 1, 0.005, 1, 0.01] timept = 10:div(3000, 10):3000 u₀ = [105,110,100,5] tspan = (0.0,3000.0) dprob = DiscreteProblem(rn, u₀, tspan, p) jprob = JumpProblem(rn, dprob, Direct(),save_positions=(false,false)) function Generating_data(n,k, param) ensprob = EnsembleProblem(jprob,prob_func=(p,i,r)->remake(p,p = param), safetycopy=false) sol = solve(ensprob, SSAStepper(),EnsembleThreads(), trajectories=n,saveat=1) .... end The code works perfectly well. I will close the issue. Thanks a lot!