| #!/usr/bin/env bash |
| set -euo pipefail |
|
|
| SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" |
| ROOT="$(cd "${SCRIPT_DIR}/../../.." && pwd)" |
| EXP_ROOT="${ROOT}/experiments/ablation" |
| PYTHON_BIN="${BIOMANUS_PYTHON:-/225040511/miniconda3/envs/biomni_e1/bin/python}" |
|
|
| BACKGROUND=0 |
| VARIANT="all" |
| DEBUG=0 |
|
|
| while [[ $# -gt 0 ]]; do |
| case "$1" in |
| --background) BACKGROUND=1; shift ;; |
| --foreground) BACKGROUND=0; shift ;; |
| --variant) VARIANT="$2"; shift 2 ;; |
| --debug) DEBUG=1; shift ;; |
| *) echo "Unknown argument: $1" >&2; exit 2 ;; |
| esac |
| done |
|
|
| if [[ "${BACKGROUND}" -eq 1 ]]; then |
| mkdir -p "${EXP_ROOT}/logs" |
| LOG="${EXP_ROOT}/logs/all_ablation_$(date -u +%Y%m%d_%H%M%S).log" |
| SCRIPT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/$(basename "${BASH_SOURCE[0]}")" |
| CMD=("${SCRIPT}" "--foreground" "--variant" "${VARIANT}") |
| if [[ "${DEBUG}" -eq 1 ]]; then CMD+=("--debug"); fi |
| nohup "${CMD[@]}" > "${LOG}" 2>&1 < /dev/null & |
| echo "Started full ablation in background." |
| echo "PID: $!" |
| echo "Log: ${LOG}" |
| exit 0 |
| fi |
|
|
| LAB_ARGS=("--variant" "${VARIANT}") |
| if [[ "${DEBUG}" -eq 1 ]]; then LAB_ARGS+=("--debug"); fi |
|
|
| "${EXP_ROOT}/scripts/run_bioagentbench_ablation.sh" --foreground --variant "${VARIANT}" |
| "${EXP_ROOT}/scripts/run_labbench_ablation.sh" --foreground "${LAB_ARGS[@]}" |
| "${PYTHON_BIN}" "${EXP_ROOT}/scripts/summarize_ablation_results.py" |
|
|