blob: 43a20475fd842d3d18e08d5c508a8b33bbe4b1c0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
#!/usr/bin/env bash
set -euo pipefail
ROOT="/home/yurenh2/rrm"
PY="/home/yurenh2/miniconda3/envs/rrm/bin/python"
OUT_DIR="${ROOT}/research/flossing/flossing_suite/results/toy_rnn"
mkdir -p "${OUT_DIR}"
GPU_BASE="${GPU_BASE:-0}"
GPU_PREFLOSS="${GPU_PREFLOSS:-1}"
GPU_INTER="${GPU_INTER:-3}"
write_and_launch() {
local gpu="$1"
local name="$2"
local pre_epochs="$3"
local max_inter="$4"
local cmd="${OUT_DIR}/${name}.cmd.sh"
local log="${OUT_DIR}/${name}.log"
local pid="${OUT_DIR}/${name}.pid"
cat > "${cmd}" <<EOF
#!/usr/bin/env bash
set -euo pipefail
cd "${ROOT}"
export CUDA_VISIBLE_DEVICES="${gpu}"
export PYTHONUNBUFFERED=1
exec "${PY}" research/flossing/engelken_python_flossing.py \\
--hidden-size 80 \\
--n-lyap 40 \\
--train-epochs 1000 \\
--inter-period 100 \\
--inter-epochs 100 \\
--batch-size 16 \\
--input-dim 1 \\
--train-steps 300 \\
--lyap-steps 55 \\
--floss-input-steps 300 \\
--seed-ic 1 \\
--seed-input 1 \\
--seed-net 1 \\
--seed-ons 1 \\
--lr 0.001 \\
--beta1 0.9 \\
--beta2 0.999 \\
--init-type 1 \\
--recurrent-gain 1.0 \\
--recurrent-mean-gain 0.0 \\
--input-scale 1.0 \\
--delay 10 \\
--ws-std 1.0 \\
--ws-mean 0.0 \\
--wr-std 1.0 \\
--wr-mean 0.0 \\
--b-std 0.1 \\
--b-mean 0.0 \\
--task -1 \\
--lyap-target 0.0 \\
--eval-every 100 \\
--eval-batches 4 \\
--log-every-floss 25 \\
--device cuda \\
--pre-epochs "${pre_epochs}" \\
--max-inter-episodes "${max_inter}" \\
--out "${OUT_DIR}/${name}.json"
EOF
chmod +x "${cmd}"
setsid bash "${cmd}" > "${log}" 2>&1 < /dev/null &
echo $! > "${pid}"
echo "${name}: pid $(cat "${pid}") on GPU ${gpu}"
}
write_and_launch "${GPU_BASE}" "toy_baseline_no_floss_N80_k40_E1000" 0 0
write_and_launch "${GPU_PREFLOSS}" "toy_prefloss_N80_k40_E1000" 100 0
write_and_launch "${GPU_INTER}" "toy_pre_inter_N80_k40_E1000" 100 2
echo "queued toy RNN official-style suite in ${OUT_DIR}"
|