Skip to content

Commit

Permalink
checked out scenario1 from main so that it doesn't clobber Vignesh's …
Browse files Browse the repository at this point in the history
…changes
  • Loading branch information
djinnome committed Jul 10, 2023
1 parent b37e95f commit 8c4512f
Show file tree
Hide file tree
Showing 4 changed files with 1,020 additions and 1,036 deletions.
28 changes: 6 additions & 22 deletions notebook/hackathon_prep/scenario1.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"cells": [
{
"cell_type": "code",
"execution_count": 14,
"execution_count": 1,
"id": "1c8e7493",
"metadata": {},
"outputs": [],
Expand Down Expand Up @@ -39,7 +39,7 @@
},
{
"cell_type": "code",
"execution_count": 15,
"execution_count": 2,
"id": "1e3199e5",
"metadata": {},
"outputs": [],
Expand Down Expand Up @@ -139,26 +139,10 @@
},
{
"cell_type": "code",
"execution_count": 16,
"execution_count": 4,
"id": "595a9cdf",
"metadata": {},
"outputs": [
{
"ename": "ValueError",
"evalue": "Model file not found: scenario1_a.json",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)",
"Cell \u001b[0;32mIn[16], line 8\u001b[0m\n\u001b[1;32m 5\u001b[0m timepoints \u001b[38;5;241m=\u001b[39m get_tspan(start_time, end_time, num_timepoints)\n\u001b[1;32m 6\u001b[0m \u001b[38;5;66;03m# TODO: Add intervention to set beta value as 1.\u001b[39;00m\n\u001b[1;32m 7\u001b[0m \u001b[38;5;66;03m# Run sampling w/o an intervention\u001b[39;00m\n\u001b[0;32m----> 8\u001b[0m control_samples \u001b[38;5;241m=\u001b[39m \u001b[43mload_and_sample_petri_model\u001b[49m\u001b[43m(\u001b[49m\u001b[43mSEIRD_model_path\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnum_samples\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtimepoints\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtimepoints\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m~/Projects/Proposals/ASKEM/build/clean-build/src/pyciemss/PetriNetODE/interfaces.py:91\u001b[0m, in \u001b[0;36mload_and_sample_petri_model\u001b[0;34m(petri_model_or_path, num_samples, timepoints, interventions, start_state, pseudocount, start_time, method, compile_rate_law_p)\u001b[0m\n\u001b[1;32m 49\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mload_and_sample_petri_model\u001b[39m(\n\u001b[1;32m 50\u001b[0m petri_model_or_path: Union[\u001b[38;5;28mstr\u001b[39m, mira\u001b[38;5;241m.\u001b[39mmetamodel\u001b[38;5;241m.\u001b[39mTemplateModel, mira\u001b[38;5;241m.\u001b[39mmodeling\u001b[38;5;241m.\u001b[39mModel],\n\u001b[1;32m 51\u001b[0m num_samples: \u001b[38;5;28mint\u001b[39m,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 59\u001b[0m compile_rate_law_p: \u001b[38;5;28mbool\u001b[39m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m\n\u001b[1;32m 60\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m pd\u001b[38;5;241m.\u001b[39mDataFrame:\n\u001b[1;32m 61\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 62\u001b[0m \u001b[38;5;124;03m Load a petri net from a file, compile it into a probabilistic program, and sample from it.\u001b[39;00m\n\u001b[1;32m 63\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 89\u001b[0m \u001b[38;5;124;03m - The samples from the model as a pandas DataFrame.\u001b[39;00m\n\u001b[1;32m 90\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m---> 91\u001b[0m model \u001b[38;5;241m=\u001b[39m \u001b[43mload_petri_model\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 92\u001b[0m \u001b[43m \u001b[49m\u001b[43mpetri_model_or_path\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mpetri_model_or_path\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 93\u001b[0m \u001b[43m \u001b[49m\u001b[43madd_uncertainty\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 94\u001b[0m \u001b[43m \u001b[49m\u001b[43mpseudocount\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mpseudocount\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 95\u001b[0m \u001b[43m \u001b[49m\u001b[43mcompile_rate_law_p\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcompile_rate_law_p\u001b[49m\n\u001b[1;32m 96\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 98\u001b[0m \u001b[38;5;66;03m# If the user doesn't override the start state, use the initial values from the model.\u001b[39;00m\n\u001b[1;32m 99\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m start_state \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n",
"File \u001b[0;32m~/Projects/Proposals/ASKEM/build/clean-build/src/pyciemss/PetriNetODE/interfaces.py:248\u001b[0m, in \u001b[0;36mload_petri_model\u001b[0;34m(petri_model_or_path, add_uncertainty, pseudocount, compile_rate_law_p)\u001b[0m\n\u001b[1;32m 243\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 244\u001b[0m \u001b[38;5;124;03mLoad a petri net from a file and compile it into a probabilistic program.\u001b[39;00m\n\u001b[1;32m 245\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 247\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m add_uncertainty:\n\u001b[0;32m--> 248\u001b[0m model \u001b[38;5;241m=\u001b[39m \u001b[43mScaledBetaNoisePetriNetODESystem\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfrom_askenet\u001b[49m\u001b[43m(\u001b[49m\u001b[43mpetri_model_or_path\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcompile_rate_law_p\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcompile_rate_law_p\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 249\u001b[0m model\u001b[38;5;241m.\u001b[39mpseudocount \u001b[38;5;241m=\u001b[39m torch\u001b[38;5;241m.\u001b[39mtensor(pseudocount)\n\u001b[1;32m 250\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m model\n",
"File \u001b[0;32m~/.pyenv/versions/3.10.9/lib/python3.10/functools.py:926\u001b[0m, in \u001b[0;36msingledispatchmethod.__get__.<locals>._method\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 924\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_method\u001b[39m(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 925\u001b[0m method \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdispatcher\u001b[38;5;241m.\u001b[39mdispatch(args[\u001b[38;5;241m0\u001b[39m]\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__class__\u001b[39m)\n\u001b[0;32m--> 926\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mmethod\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[38;5;21;43m__get__\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mobj\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mcls\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m~/Projects/Proposals/ASKEM/build/clean-build/src/pyciemss/PetriNetODE/base.py:441\u001b[0m, in \u001b[0;36mMiraPetriNetODESystem._from_path\u001b[0;34m(cls, model_json_path, **kwargs)\u001b[0m\n\u001b[1;32m 439\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 440\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m os\u001b[38;5;241m.\u001b[39mpath\u001b[38;5;241m.\u001b[39mexists(model_json_path):\n\u001b[0;32m--> 441\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mModel file not found: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mmodel_json_path\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 442\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mopen\u001b[39m(model_json_path) \u001b[38;5;28;01mas\u001b[39;00m fh:\n\u001b[1;32m 443\u001b[0m model_json \u001b[38;5;241m=\u001b[39m json\u001b[38;5;241m.\u001b[39mload(fh)\n",
"\u001b[0;31mValueError\u001b[0m: Model file not found: scenario1_a.json"
]
}
],
"outputs": [],
"source": [
"num_samples = 1\n",
"start_time = 0\n",
Expand Down Expand Up @@ -911,9 +895,9 @@
],
"metadata": {
"kernelspec": {
"display_name": "clean-build",
"display_name": "pyciemss-main",
"language": "python",
"name": "clean-build"
"name": "pyciemss-main"
},
"language_info": {
"codemirror_mode": {
Expand Down
28 changes: 14 additions & 14 deletions notebook/integration_demo/demo_ensemble.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -121,20 +121,20 @@
"name": "stdout",
"output_type": "stream",
"text": [
"iteration 0: loss = 66.16035544872284\n",
"iteration 25: loss = 42.31934851408005\n",
"iteration 50: loss = 33.17540234327316\n",
"iteration 75: loss = 27.15283751487732\n",
"iteration 100: loss = 21.151540756225586\n",
"iteration 125: loss = 17.88287889957428\n",
"iteration 150: loss = 19.490506768226624\n",
"iteration 175: loss = 16.146777868270874\n",
"iteration 200: loss = 16.498568773269653\n",
"iteration 225: loss = 15.53571480512619\n",
"iteration 250: loss = 15.07484495639801\n",
"iteration 275: loss = 14.595208406448364\n",
"iteration 300: loss = 14.831865012645721\n",
"iteration 325: loss = 15.439243197441101\n"
"iteration 0: loss = 63.51079273223877\n",
"iteration 25: loss = 40.8916078209877\n",
"iteration 50: loss = 37.46487545967102\n",
"iteration 75: loss = 25.852425813674927\n",
"iteration 100: loss = 21.470157742500305\n",
"iteration 125: loss = 17.58678960800171\n",
"iteration 150: loss = 15.267673671245575\n",
"iteration 175: loss = 16.10206639766693\n",
"iteration 200: loss = 15.993813276290894\n",
"iteration 225: loss = 15.860064268112183\n",
"iteration 250: loss = 13.152705788612366\n",
"iteration 275: loss = 16.014341235160828\n",
"iteration 300: loss = 15.707162857055664\n",
"iteration 325: loss = 12.456510186195374\n"
]
}
],
Expand Down
Loading

0 comments on commit 8c4512f

Please sign in to comment.