Spaces:
Sleeping
Sleeping
Commit
·
e3bc2d2
1
Parent(s):
6f1919a
Update app.py
Browse files
app.py
CHANGED
@@ -9,7 +9,90 @@ from cadCAD import configs
|
|
9 |
import pandas as pd
|
10 |
import numpy as np
|
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
def greet(name):
|
|
|
|
|
13 |
return "Hello " + name + "!!"
|
14 |
|
15 |
iface = gr.Interface(fn=greet, inputs="text", outputs="text")
|
|
|
9 |
import pandas as pd
|
10 |
import numpy as np
|
11 |
|
12 |
+
N = 10000 #Total Population
|
13 |
+
initial_state = {
|
14 |
+
"S": N-10,
|
15 |
+
"E": 10,
|
16 |
+
"I":0,
|
17 |
+
"R":0
|
18 |
+
}
|
19 |
+
sys_params = {
|
20 |
+
"infection_rate":[1],
|
21 |
+
"recovery_rate":[1/14],
|
22 |
+
"exposure_rate":[1/3]
|
23 |
+
}
|
24 |
+
|
25 |
+
def p_exposed(params, substep, state_history, previous_state):
|
26 |
+
signal = previous_state["S"]*params["infection_rate"]*previous_state["I"]/N
|
27 |
+
return {"delta_s":np.ceil(signal)}
|
28 |
+
|
29 |
+
def p_infected(params, substep, state_history, previous_state):
|
30 |
+
signal = params["exposure_rate"]*previous_state["E"]
|
31 |
+
return {"delta_i":np.ceil(signal)}
|
32 |
+
|
33 |
+
def p_recovered(params, substep, state_history, previous_state):
|
34 |
+
signal = params["recovery_rate"]*previous_state["I"]
|
35 |
+
return {"delta_r":np.ceil(signal)}
|
36 |
+
|
37 |
+
def s_susceptible(params, substep, state_history, previous_state, policy_input):
|
38 |
+
new_S = previous_state["S"] - policy_input["delta_s"]
|
39 |
+
return ("S", max(new_S,0))
|
40 |
+
|
41 |
+
def s_exposed(params, substep, state_history, previous_state, policy_input):
|
42 |
+
new_E = previous_state["E"] + policy_input["delta_s"] - policy_input["delta_i"]
|
43 |
+
return ("E", max(new_E,0))
|
44 |
+
|
45 |
+
def s_infected(params, substep, state_history, previous_state, policy_input):
|
46 |
+
new_I = previous_state["I"] + policy_input["delta_i"] - policy_input["delta_r"]
|
47 |
+
return ("I", max(new_I,0))
|
48 |
+
|
49 |
+
def s_recovered(params, substep, state_history, previous_state, policy_input):
|
50 |
+
new_R = previous_state["R"] + policy_input["delta_r"]
|
51 |
+
return ("R", max(new_R, 0))
|
52 |
+
|
53 |
+
partial_state_update_blocks = [
|
54 |
+
{
|
55 |
+
"policies":{
|
56 |
+
"expsoed_growth":p_exposed,
|
57 |
+
"infected_growth":p_infected,
|
58 |
+
"recovered_growth":p_recovered,
|
59 |
+
|
60 |
+
},
|
61 |
+
"variables":{
|
62 |
+
"S":s_susceptible,
|
63 |
+
"E":s_exposed,
|
64 |
+
"I":s_infected,
|
65 |
+
"R":s_recovered,
|
66 |
+
}
|
67 |
+
|
68 |
+
}
|
69 |
+
|
70 |
+
]
|
71 |
+
|
72 |
+
del configs[:]
|
73 |
+
|
74 |
+
timesteps = 100
|
75 |
+
sim_config = config_sim({
|
76 |
+
"N":1,
|
77 |
+
"T":range(timesteps),
|
78 |
+
"M":sys_params
|
79 |
+
})
|
80 |
+
|
81 |
+
experiment = Experiment()
|
82 |
+
experiment.append_configs(
|
83 |
+
sim_configs=sim_config,
|
84 |
+
initial_state=initial_state,
|
85 |
+
partial_state_update_blocks=partial_state_update_blocks
|
86 |
+
)
|
87 |
+
|
88 |
+
exec_context = ExecutionContext()
|
89 |
+
simulation = Executor(exec_context=exec_context, configs=experiment.configs)
|
90 |
+
|
91 |
+
|
92 |
+
|
93 |
def greet(name):
|
94 |
+
raw_result, tensor_fields, sessions = simulation.execute()
|
95 |
+
result = pd.DataFrame(raw_result)
|
96 |
return "Hello " + name + "!!"
|
97 |
|
98 |
iface = gr.Interface(fn=greet, inputs="text", outputs="text")
|