Trying to understand rust divergence
This commit is contained in:
parent
582ff5488f
commit
c334bf2aac
29077
fucking_massive.csv
Normal file
29077
fucking_massive.csv
Normal file
File diff suppressed because it is too large
Load Diff
BIN
model-0a56c6f
Executable file
BIN
model-0a56c6f
Executable file
Binary file not shown.
BIN
model-51ad848
Executable file
BIN
model-51ad848
Executable file
Binary file not shown.
BIN
model-da53077
Executable file
BIN
model-da53077
Executable file
Binary file not shown.
BIN
model-f585358
Executable file
BIN
model-f585358
Executable file
Binary file not shown.
BIN
models/rust-sp
Executable file
BIN
models/rust-sp
Executable file
Binary file not shown.
219
notebooks/rust-validation.ipynb
Normal file
219
notebooks/rust-validation.ipynb
Normal file
@ -0,0 +1,219 @@
|
|||||||
|
{
|
||||||
|
"cells": [
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 3,
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"import pandas as pd\n",
|
||||||
|
"import numpy as np\n",
|
||||||
|
"import matplotlib.pyplot as plt\n",
|
||||||
|
"import scipy\n",
|
||||||
|
"from glob import glob\n"
|
||||||
|
],
|
||||||
|
"metadata": {
|
||||||
|
"collapsed": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 22,
|
||||||
|
"metadata": {
|
||||||
|
"collapsed": true
|
||||||
|
},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"def read_xy(path: str):\n",
|
||||||
|
" df = pd.read_csv(path)\n",
|
||||||
|
" df['N'] = df.index + 1\n",
|
||||||
|
" df['r'] = (df.x ** 2 + df.y ** 2) ** 0.5\n",
|
||||||
|
" df['cr'] = df.r.cummax()\n",
|
||||||
|
" df['fd'] = np.log(df.N) / np.log(df.cr)\n",
|
||||||
|
"\n",
|
||||||
|
" return df\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"def convergent_tail_index(series, tol):\n",
|
||||||
|
" diffs = np.abs(np.ediff1d(series))\n",
|
||||||
|
" for i in range(0, len(diffs)):\n",
|
||||||
|
" if np.max(diffs[i:]) <= tol:\n",
|
||||||
|
" return i\n",
|
||||||
|
"\n",
|
||||||
|
" # No convergence found\n",
|
||||||
|
" return None\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"def mean_of_tail(series, tol=0.05):\n",
|
||||||
|
" tail_index = convergent_tail_index(series, tol)\n",
|
||||||
|
" return np.mean(series[tail_index:])"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 19,
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stderr",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||||||
|
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||||||
|
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||||||
|
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||||||
|
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||||||
|
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||||||
|
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||||||
|
" result = getattr(ufunc, method)(*inputs, **kwargs)\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"a = read_xy(\"/Users/joshuacoles/Developer/checkouts/jc3091/CompB DLA/c-codebase/a.csv\")\n",
|
||||||
|
"b = read_xy(\"/Users/joshuacoles/Developer/checkouts/jc3091/CompB DLA/c-codebase/b.csv\")\n",
|
||||||
|
"c = read_xy(\"/Users/joshuacoles/Developer/checkouts/jc3091/CompB DLA/c-codebase/c.csv\")\n",
|
||||||
|
"d = read_xy(\"/Users/joshuacoles/Developer/checkouts/jc3091/CompB DLA/c-codebase/d.csv\")"
|
||||||
|
],
|
||||||
|
"metadata": {
|
||||||
|
"collapsed": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 16,
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"text/plain": "1.7271570214996996"
|
||||||
|
},
|
||||||
|
"execution_count": 16,
|
||||||
|
"metadata": {},
|
||||||
|
"output_type": "execute_result"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"mean_of_tail(a.fd)"
|
||||||
|
],
|
||||||
|
"metadata": {
|
||||||
|
"collapsed": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 17,
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"text/plain": "1.7271570214996996"
|
||||||
|
},
|
||||||
|
"execution_count": 17,
|
||||||
|
"metadata": {},
|
||||||
|
"output_type": "execute_result"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"mean_of_tail(b.fd)"
|
||||||
|
],
|
||||||
|
"metadata": {
|
||||||
|
"collapsed": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 18,
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"text/plain": "1.7634427392486482"
|
||||||
|
},
|
||||||
|
"execution_count": 18,
|
||||||
|
"metadata": {},
|
||||||
|
"output_type": "execute_result"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"mean_of_tail(c.fd)"
|
||||||
|
],
|
||||||
|
"metadata": {
|
||||||
|
"collapsed": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 20,
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"text/plain": "1.7634427392486482"
|
||||||
|
},
|
||||||
|
"execution_count": 20,
|
||||||
|
"metadata": {},
|
||||||
|
"output_type": "execute_result"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"mean_of_tail(d.fd)"
|
||||||
|
],
|
||||||
|
"metadata": {
|
||||||
|
"collapsed": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 31,
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stderr",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||||||
|
" result = getattr(ufunc, method)(*inputs, **kwargs)\n"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"text/plain": "20769"
|
||||||
|
},
|
||||||
|
"execution_count": 31,
|
||||||
|
"metadata": {},
|
||||||
|
"output_type": "execute_result"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"convergent_tail_index(read_xy(\"../fucking_massive.csv\").fd, 0.001)"
|
||||||
|
],
|
||||||
|
"metadata": {
|
||||||
|
"collapsed": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"outputs": [],
|
||||||
|
"source": [],
|
||||||
|
"metadata": {
|
||||||
|
"collapsed": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"metadata": {
|
||||||
|
"kernelspec": {
|
||||||
|
"display_name": "Python 3",
|
||||||
|
"language": "python",
|
||||||
|
"name": "python3"
|
||||||
|
},
|
||||||
|
"language_info": {
|
||||||
|
"codemirror_mode": {
|
||||||
|
"name": "ipython",
|
||||||
|
"version": 2
|
||||||
|
},
|
||||||
|
"file_extension": ".py",
|
||||||
|
"mimetype": "text/x-python",
|
||||||
|
"name": "python",
|
||||||
|
"nbconvert_exporter": "python",
|
||||||
|
"pygments_lexer": "ipython2",
|
||||||
|
"version": "2.7.6"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nbformat": 4,
|
||||||
|
"nbformat_minor": 0
|
||||||
|
}
|
||||||
File diff suppressed because one or more lines are too long
BIN
rust-int-13fc1ff
Executable file
BIN
rust-int-13fc1ff
Executable file
Binary file not shown.
BIN
rust-int-dc64117
Executable file
BIN
rust-int-dc64117
Executable file
Binary file not shown.
BIN
rust-int-fd89d3f
Executable file
BIN
rust-int-fd89d3f
Executable file
Binary file not shown.
16
tools/rust-sp-harness.bash
Executable file
16
tools/rust-sp-harness.bash
Executable file
@ -0,0 +1,16 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# NOTE: Requires GNU parallel
|
||||||
|
|
||||||
|
MODEL="models/rust-sp"
|
||||||
|
#MODEL=echo
|
||||||
|
mkdir -p data/rust-sp
|
||||||
|
PROBABILITIES=$@
|
||||||
|
|
||||||
|
for i in $PROBABILITIES; do
|
||||||
|
mkdir data/rust-sp/"$i"
|
||||||
|
done
|
||||||
|
|
||||||
|
MAX_PARTICLES=2000
|
||||||
|
|
||||||
|
parallel "$MODEL" '{1}' $MAX_PARTICLES '{2}' 'data/rust-sp/{2}/{1}.csv' ::: {1..100} ::: $PROBABILITIES
|
||||||
24
tools/sp-harness.bash
Executable file
24
tools/sp-harness.bash
Executable file
@ -0,0 +1,24 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# NOTE: Requires GNU parallel
|
||||||
|
# USAGE: MAX_PARTICLES=... sp-harness.bash <model> <run_id> <probabilities...>
|
||||||
|
|
||||||
|
# Run ID
|
||||||
|
MODEL="$1"
|
||||||
|
ID="$2"
|
||||||
|
|
||||||
|
shift
|
||||||
|
shift
|
||||||
|
|
||||||
|
ROOT="data/$ID"
|
||||||
|
mkdir -p "$ROOT"
|
||||||
|
|
||||||
|
PROBABILITIES=$@
|
||||||
|
|
||||||
|
for i in $PROBABILITIES; do
|
||||||
|
mkdir -p "$ROOT/$i"
|
||||||
|
done
|
||||||
|
|
||||||
|
MAX_PARTICLES="${MAX_PARTICLES:=2000}"
|
||||||
|
|
||||||
|
parallel "'$MODEL'" '{1}' $MAX_PARTICLES '{2}' "$ROOT/{2}/{1}.csv" ::: {1..100} ::: $PROBABILITIES
|
||||||
Loading…
Reference in New Issue
Block a user