TD3B / baselines /run.sh
chq1155's picture
Upload TD3B code (inference, training, baselines)
ee6da62 verified
#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ROOT_DIR="$(cd "${SCRIPT_DIR}/.." && pwd)"
CSV_PATH="${1:-To Be Added}"
BASELINE="${2:-unguided}"
DEVICE="${3:-cuda:4}"
OUTPUT_DIR="${4:-${SCRIPT_DIR}/outputs}"
NGPUS="${5:-1}"
MASTER_PORT="${6:-29500}"
if [ "$NGPUS" -gt 1 ]; then
echo "Running multi-GPU inference with $NGPUS GPUs (master port: $MASTER_PORT)"
LAUNCH_DEVICE="cuda"
python -m torch.distributed.run \
--nproc_per_node="$NGPUS" \
--master_port="$MASTER_PORT" \
"${SCRIPT_DIR}/sampling_setup.py" \
--ckpt_path "${ROOT_DIR}/pretrained/peptune-pretrained.ckpt" \
--device "${LAUNCH_DEVICE}" \
--baseline "${BASELINE}" \
--targets_csv "${CSV_PATH}" \
--batch_size 8 \
--num_steps 128 \
--num_batches 1 \
--output_dir "${OUTPUT_DIR}"
export OUTPUT_DIR BASELINE
python - <<'PY'
import glob
import os
import pandas as pd
out_dir = os.environ["OUTPUT_DIR"]
baseline = os.environ["BASELINE"]
def merge(pattern, output_name):
files = sorted(glob.glob(os.path.join(out_dir, pattern)))
if not files:
return
dfs = []
for path in files:
try:
dfs.append(pd.read_csv(path))
except Exception as exc:
print(f"[merge] skip {path}: {exc}")
if not dfs:
return
merged = pd.concat(dfs, ignore_index=True)
merged.to_csv(os.path.join(out_dir, output_name), index=False)
print(f"[merge] wrote {output_name} from {len(files)} shards")
merge(f"{baseline}_samples_rank*.csv", f"{baseline}_samples.csv")
merge("batch_times_rank*.csv", "batch_times.csv")
merge(f"{baseline}_metrics_rank*.csv", f"{baseline}_metrics.csv")
PY
exit 0
fi
python "${SCRIPT_DIR}/sampling_setup.py" \
--ckpt_path "${ROOT_DIR}/pretrained/peptune-pretrained.ckpt" \
--device "${DEVICE}" \
--baseline "${BASELINE}" \
--targets_csv "${CSV_PATH}" \
--batch_size 8 \
--num_steps 128 \
--num_batches 1 \
--output_dir "${OUTPUT_DIR}"
# ./run.sh To Be Added peptune cuda:0 To Be Added
# ./run.sh To Be Added peptune cuda To Be Added 4 29501
# ./run.sh To Be Added tds cuda:1 To Be Added
# ./run.sh To Be Added smc cuda:2 To Be Added
# ./run.sh To Be Added cg cuda:3 To Be Added
# ./run.sh To Be Added unguided cuda:4 To Be Added