CodonTransformer / scripts /slurm /prepare_finetune_data.sh
anzhi2710gmailcom's picture
Upload folder using huggingface_hub
53e66de verified
Raw
History Blame Contribute Delete
1.27 kB
#!/usr/bin/env bash
set -euo pipefail
# Convert a user-provided finetuning CSV into the JSONL format required by finetuning.
# Run this before scripts/slurm/run_finetune.sh.
# This script does not request SLURM resources.
PROJECT_DIR="${PROJECT_DIR:-/public/home/scnb9biwet/jiangqq/CodonTransformer-main}"
CONDA_ENV="${CONDA_ENV:-struct-evo}"
INPUT_CSV="${INPUT_CSV:-${PROJECT_DIR}/scripts/data/raw/your_data.csv}"
OUTPUT_JSON="${OUTPUT_JSON:-${PROJECT_DIR}/scripts/data/processed/finetune_data.json}"
cd "${PROJECT_DIR}"
mkdir -p "$(dirname "${OUTPUT_JSON}")"
export PYTHONPATH="${PROJECT_DIR}/model:${PYTHONPATH:-}"
export INPUT_CSV
export OUTPUT_JSON
export PYTHONFAULTHANDLER=1
if [[ -n "${CONDA_ENV}" ]] && command -v conda >/dev/null 2>&1; then
# shellcheck disable=SC1091
source "$(conda info --base)/etc/profile.d/conda.sh"
conda activate "${CONDA_ENV}"
fi
if [[ ! -f "${INPUT_CSV}" ]]; then
echo "Missing INPUT_CSV: ${INPUT_CSV}" >&2
exit 1
fi
python - <<'PY'
import os
from CodonTransformer.CodonData import prepare_training_data
input_csv = os.environ["INPUT_CSV"]
output_json = os.environ["OUTPUT_JSON"]
print(f"Input CSV: {input_csv}")
print(f"Output JSONL: {output_json}")
prepare_training_data(input_csv, output_json)
PY