File size: 1,408 Bytes
21b75e3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
#!/bin/bash
set -euo pipefail

SOURCE_CHECKPOINT="${SOURCE_CHECKPOINT:?must be set}"
REFERENCE_PARQUET="${REFERENCE_PARQUET:?must be set}"
REPO_URL="${REPO_URL:-https://github.com/vedatonuryilmaz/dev_genopix.git}"
REPO_BRANCH="${REPO_BRANCH:-ml-intern}"
ARTIFACT_REPO="${ARTIFACT_REPO:?must be set}"
OBJECTIVE="${OBJECTIVE:-contrastive}"
EPOCHS="${EPOCHS:-10}"
BATCH_SIZE="${BATCH_SIZE:-128}"
NUM_WORKERS="${NUM_WORKERS:-4}"
DEVICE="${DEVICE:-cpu}"

git clone --branch "$REPO_BRANCH" --depth 1 "$REPO_URL" deepgenopix
cd deepgenopix
uv sync --extra hf --extra quant

OUTPUT_NAME="${1:-$(uv run python scripts/run_names.py quant-train --objective "$OBJECTIVE" --source-checkpoint "$SOURCE_CHECKPOINT" --reference-parquet "$REFERENCE_PARQUET")}"

if [ "${RESUME:-0}" = "1" ]; then
  uv run python scripts/hf_artifacts.py pull --repo "$ARTIFACT_REPO" --preset "$OUTPUT_NAME" --dest data/output
fi

MODE=$([ "${RESUME:-0}" = "1" ] && echo resume || echo train)
uv run deepgenopix quant-train \
  --objective "$OBJECTIVE" \
  --source-checkpoint "$SOURCE_CHECKPOINT" \
  --reference-parquet "$REFERENCE_PARQUET" \
  --output-dir "data/output/$OUTPUT_NAME" \
  --epochs "$EPOCHS" \
  --batch-size "$BATCH_SIZE" \
  --num-workers "$NUM_WORKERS" \
  --device "$DEVICE" \
  --run-mode "$MODE" \
  --json

uv run python scripts/hf_artifacts.py push --repo "$ARTIFACT_REPO" --preset "$OUTPUT_NAME" --source data/output