memisislabs / scripts /setup_server.sh
nnagesh101's picture
Add one-shot server setup script; lazy DataDesigner import; --label for external baselines
c95367f
Raw
History Blame Contribute Delete
1.86 kB
#!/usr/bin/env bash
# MemisisLabs — lab-server setup for the synthcity baseline sweep.
# Runs the arena across datasets on GPU/large-disk hardware and syncs results to the
# public HF-Dataset leaderboard. Run inside tmux.
#
# export HF_TOKEN=hf_your_write_token
# export LEADERBOARD_REPO=nnagesh101/memisislabs-leaderboard
# bash scripts/setup_server.sh
#
# Assumes conda + an NVIDIA GPU. Torch is pinned to cu121 (works with driver CUDA 12.2).
set -euo pipefail
ENV_NAME="${ENV_NAME:-arena}"
SPACE_REPO="${SPACE_REPO:-https://huggingface.co/spaces/nnagesh101/memisislabs}"
: "${HF_TOKEN:?set HF_TOKEN (a HF write token)}"
: "${LEADERBOARD_REPO:?set LEADERBOARD_REPO (e.g. nnagesh101/memisislabs-leaderboard)}"
echo "==> 1/5 conda env ($ENV_NAME, python 3.10)"
source "$(conda info --base)/etc/profile.d/conda.sh"
conda create -y -n "$ENV_NAME" python=3.10 || true
conda activate "$ENV_NAME"
echo "==> 2/5 torch (cu121) — matches CUDA 12.2 driver"
pip install -q torch==2.4.1 --index-url https://download.pytorch.org/whl/cu121
echo "==> 3/5 synthcity + evaluators"
pip install -q "synthcity[all]"
pip install -q "sdmetrics>=0.27" "fairlearn==0.13.0" scikit-learn pandas "huggingface_hub>=0.20"
echo "==> 4/5 MemisisLabs code"
if [ ! -d memisislabs ]; then git clone "$SPACE_REPO" memisislabs; fi
cd memisislabs
echo "==> 5/5 smoke test (1 plugin, 1 dataset)"
SYNTHCITY_VENV="$CONDA_PREFIX" \
python scripts/server_arena.py --datasets german --models tvae --rows 400 --train-cap 3000
cat <<EOF
Setup OK. Full sweep (all baselines x all datasets), results synced to $LEADERBOARD_REPO:
conda activate $ENV_NAME && cd memisislabs
SYNTHCITY_VENV=\$CONDA_PREFIX \\
LEADERBOARD_REPO=$LEADERBOARD_REPO HF_TOKEN=$HF_TOKEN \\
python scripts/server_arena.py
Detach tmux with Ctrl-b d; results appear on the public Space's Leaderboard tab.
EOF