File size: 9,068 Bytes
4ca4e4c | 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 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 | {
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "d38f0ec2",
"metadata": {
"execution": {
"iopub.execute_input": "2026-01-14T16:31:34.792065Z",
"iopub.status.busy": "2026-01-14T16:31:34.791502Z",
"iopub.status.idle": "2026-01-14T16:31:34.800360Z",
"shell.execute_reply": "2026-01-14T16:31:34.798868Z"
}
},
"outputs": [],
"source": [
"import subprocess\n",
"from concurrent.futures import ThreadPoolExecutor, as_completed\n",
"import os"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "ee5804bf",
"metadata": {
"execution": {
"iopub.execute_input": "2026-01-14T16:31:34.805950Z",
"iopub.status.busy": "2026-01-14T16:31:34.805393Z",
"iopub.status.idle": "2026-01-14T16:31:34.817239Z",
"shell.execute_reply": "2026-01-14T16:31:34.815689Z"
}
},
"outputs": [],
"source": [
"commands = []\n",
"\n",
"# for itr in range(3):\n",
"# for model in ['hybrid', 'T_rope', 'mamba']:\n",
"# cmd = f\"python3 main.py --model {model} --train_task decode-recall --eval_task decode-recall --sequence_length 200 --eval_equence_length 200 --lr 0.0003 --epochs 1 --save False --run_number {itr}\"\n",
"# cmd += \" --min_train_length 10 --max_train_length 50 --min_eval_length 10 --max_eval_length 200 --eval_jump_type linear --eval_linear_jump_size 10 --p 0.2 --eval_p 0.3\"\n",
"# commands.append(cmd)\n",
"\n",
"# for eval_p in [0.01, 0.05, 0.1, 0.3, 0.5, 0.8, 0.9]:\n",
"# for eval_p in [0.01, 0.9]:\n",
"# for itr in range(3):\n",
"# for model in ['hybrid', 'T_rope', 'mamba']:\n",
"# cmd = f\"python3 main.py --model {model} --train_task decode-recall --eval_task decode-recall --sequence_length 200 --eval_equence_length 200 --lr 0.0003 --epochs 1 --save False --run_number {itr}\"\n",
"# cmd += \" --min_train_length 10 --max_train_length 50 --min_eval_length 10 --max_eval_length 200 --eval_jump_type linear --eval_linear_jump_size 10\"\n",
"# cmd += f\" --p 0.2 --eval_p {eval_p}\"\n",
"# commands.append(cmd)\n",
"\n",
"for eval_p in [0.01, 0.05, 0.1, 0.3, 0.5, 0.8, 0.9]:\n",
" for itr in range(3): # 3\n",
" for model in ['hybrid', 'T_rope', 'mamba']:\n",
" cmd = f\"python3 main.py --model {model} --train_task decode-recall --eval_task decode-recall --sequence_length 200 --eval_equence_length 200 --lr 0.0003 --epochs 1 --save False --run_number {itr}\"\n",
" cmd += \" --min_train_length 10 --max_train_length 50 --min_eval_length 10 --max_eval_length 200 --eval_jump_type linear --eval_linear_jump_size 10\"\n",
" # cmd += f\" --p 0.2 --eval_p {eval_p}\"\n",
" cmd += f\" --p {eval_p} --eval_p 0.2\"\n",
" commands.append(cmd)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "90a8b3ec",
"metadata": {
"execution": {
"iopub.execute_input": "2026-01-14T16:31:34.821703Z",
"iopub.status.busy": "2026-01-14T16:31:34.821259Z",
"iopub.status.idle": "2026-01-14T16:31:34.828534Z",
"shell.execute_reply": "2026-01-14T16:31:34.828184Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"['python3 main.py --model hybrid --train_task decode-recall --eval_task decode-recall --sequence_length 200 --eval_equence_length 200 --lr 0.0003 --epochs 1 --save False --run_number 0 --min_train_length 10 --max_train_length 50 --min_eval_length 10 --max_eval_length 200 --eval_jump_type linear --eval_linear_jump_size 10 --p 0.01 --eval_p 0.2',\n",
" 'python3 main.py --model T_rope --train_task decode-recall --eval_task decode-recall --sequence_length 200 --eval_equence_length 200 --lr 0.0003 --epochs 1 --save False --run_number 0 --min_train_length 10 --max_train_length 50 --min_eval_length 10 --max_eval_length 200 --eval_jump_type linear --eval_linear_jump_size 10 --p 0.01 --eval_p 0.2',\n",
" 'python3 main.py --model mamba --train_task decode-recall --eval_task decode-recall --sequence_length 200 --eval_equence_length 200 --lr 0.0003 --epochs 1 --save False --run_number 0 --min_train_length 10 --max_train_length 50 --min_eval_length 10 --max_eval_length 200 --eval_jump_type linear --eval_linear_jump_size 10 --p 0.01 --eval_p 0.2',\n",
" 'python3 main.py --model hybrid --train_task decode-recall --eval_task decode-recall --sequence_length 200 --eval_equence_length 200 --lr 0.0003 --epochs 1 --save False --run_number 1 --min_train_length 10 --max_train_length 50 --min_eval_length 10 --max_eval_length 200 --eval_jump_type linear --eval_linear_jump_size 10 --p 0.01 --eval_p 0.2',\n",
" 'python3 main.py --model T_rope --train_task decode-recall --eval_task decode-recall --sequence_length 200 --eval_equence_length 200 --lr 0.0003 --epochs 1 --save False --run_number 1 --min_train_length 10 --max_train_length 50 --min_eval_length 10 --max_eval_length 200 --eval_jump_type linear --eval_linear_jump_size 10 --p 0.01 --eval_p 0.2',\n",
" 'python3 main.py --model mamba --train_task decode-recall --eval_task decode-recall --sequence_length 200 --eval_equence_length 200 --lr 0.0003 --epochs 1 --save False --run_number 1 --min_train_length 10 --max_train_length 50 --min_eval_length 10 --max_eval_length 200 --eval_jump_type linear --eval_linear_jump_size 10 --p 0.01 --eval_p 0.2',\n",
" 'python3 main.py --model hybrid --train_task decode-recall --eval_task decode-recall --sequence_length 200 --eval_equence_length 200 --lr 0.0003 --epochs 1 --save False --run_number 2 --min_train_length 10 --max_train_length 50 --min_eval_length 10 --max_eval_length 200 --eval_jump_type linear --eval_linear_jump_size 10 --p 0.01 --eval_p 0.2',\n",
" 'python3 main.py --model T_rope --train_task decode-recall --eval_task decode-recall --sequence_length 200 --eval_equence_length 200 --lr 0.0003 --epochs 1 --save False --run_number 2 --min_train_length 10 --max_train_length 50 --min_eval_length 10 --max_eval_length 200 --eval_jump_type linear --eval_linear_jump_size 10 --p 0.01 --eval_p 0.2',\n",
" 'python3 main.py --model mamba --train_task decode-recall --eval_task decode-recall --sequence_length 200 --eval_equence_length 200 --lr 0.0003 --epochs 1 --save False --run_number 2 --min_train_length 10 --max_train_length 50 --min_eval_length 10 --max_eval_length 200 --eval_jump_type linear --eval_linear_jump_size 10 --p 0.01 --eval_p 0.2',\n",
" 'python3 main.py --model hybrid --train_task decode-recall --eval_task decode-recall --sequence_length 200 --eval_equence_length 200 --lr 0.0003 --epochs 1 --save False --run_number 0 --min_train_length 10 --max_train_length 50 --min_eval_length 10 --max_eval_length 200 --eval_jump_type linear --eval_linear_jump_size 10 --p 0.05 --eval_p 0.2']"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"commands[:10]"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "f32ed2ee",
"metadata": {
"execution": {
"iopub.execute_input": "2026-01-14T16:31:34.829909Z",
"iopub.status.busy": "2026-01-14T16:31:34.829478Z",
"iopub.status.idle": "2026-01-14T19:09:41.606354Z",
"shell.execute_reply": "2026-01-14T19:09:41.606004Z"
}
},
"outputs": [],
"source": [
"def run_command(cmd):\n",
" \"\"\"Run a single shell command and return (cmd, returncode, stdout, stderr).\"\"\"\n",
" result = subprocess.run(cmd, shell=True, capture_output=True, text=True)\n",
" return cmd, result.returncode, result.stdout, result.stderr\n",
"\n",
"max_workers = 1 # 5\n",
"\n",
"results = \"\"\n",
"\n",
"with ThreadPoolExecutor(max_workers=max_workers) as executor:\n",
" futures = {executor.submit(run_command, cmd): cmd for cmd in commands}\n",
"\n",
" for future in as_completed(futures):\n",
" cmd, returncode, stdout, stderr = future.result()\n",
"\n",
" if returncode != 0:\n",
" print(f\"[{cmd}] exited with {returncode}\")\n",
" \n",
" if returncode == 1:\n",
" executor.shutdown()\n",
" print(stdout)\n",
" print(stderr)\n",
" assert False\n",
"\n",
" results += \"<split>Command: \" + cmd + \"\\n\" + stdout + \"\\n\"\n",
"\n",
"with open(\"results/exp.txt\", \"w\") as outfile:\n",
" outfile.write(results)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "hybrid",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.11"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
|