#!/bin/bash set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)" cd "${PROJECT_ROOT}" CKPT_DIR="${CKPT_DIR:-${EVO2_CKPT_DIR:-${PROJECT_ROOT}/checkpoints/evo2_nemo_7b}}" PROMPT="${PROMPT:-ATGCGT}" OUTPUT_DIR="${OUTPUT_DIR:-${PROJECT_ROOT}/outputs}" OUTPUT_FILE="${OUTPUT_FILE:-${OUTPUT_DIR}/evo2_generation.txt}" RUN_WITH_SRUN="${RUN_WITH_SRUN:-0}" if [[ -z "${CKPT_DIR}" ]]; then echo "ERROR: Evo2 checkpoint path is required. Put it under checkpoints/evo2_nemo_7b or set EVO2_CKPT_DIR/CKPT_DIR." >&2 exit 1 fi if [[ ! -d "${CKPT_DIR}" ]]; then echo "ERROR: Evo2 checkpoint directory does not exist: ${CKPT_DIR}" >&2 exit 1 fi mkdir -p "${OUTPUT_DIR}" echo "EVO2_PROJECT_ROOT: ${PROJECT_ROOT}" echo "EVO2_CKPT_DIR: ${CKPT_DIR}" echo "EVO2_OUTPUT_FILE: ${OUTPUT_FILE}" if [ "${RUN_WITH_SRUN}" = "1" ]; then srun python scripts/infer.py \ --ckpt-dir "${CKPT_DIR}" \ --prompt "${PROMPT}" \ --output-file "${OUTPUT_FILE}" else python scripts/infer.py \ --ckpt-dir "${CKPT_DIR}" \ --prompt "${PROMPT}" \ --output-file "${OUTPUT_FILE}" fi echo "Inference completed. Result file: ${OUTPUT_FILE}"