#!/usr/bin/env bash # Build the seggen conda env on h800 (L20Y / CUDA 12.8). torch installed FIRST (cu128) # so SMP/MONAI don't pull a mismatched torch. Run detached; log to /tmp/seggen_env.log. set -e export https_proxy=http://10.140.15.68:3128 http_proxy=http://10.140.15.68:3128 CONDA=/data/temp/miniconda3 PROXY=http://10.140.15.68:3128 echo "[1] create env (python 3.11) -- conda-forge only, avoids defaults-channel ToS block" $CONDA/bin/conda create -y -n seggen -c conda-forge --override-channels python=3.11 pip PIP="$CONDA/envs/seggen/bin/pip" echo "[2] torch cu128 (host CUDA 12.8, >2.6)" $PIP install --proxy "$PROXY" torch torchvision --index-url https://download.pytorch.org/whl/cu128 echo "[3] seg stack (torch already present -> no reinstall)" $PIP install --proxy "$PROXY" \ segmentation-models-pytorch albumentations==2.0.8 monai medpy \ opencv-python-headless numpy pyyaml timm einops ml-collections tqdm \ diffusers==0.21.4 datasets==2.14.5 echo "[4] verify" $CONDA/envs/seggen/bin/python - <<'PY' import torch, segmentation_models_pytorch, monai, albumentations, timm, cv2 print("torch", torch.__version__, "| cuda", torch.version.cuda, "| avail", torch.cuda.is_available(), "| ndev", torch.cuda.device_count()) print("smp ok, monai ok, albumentations ok, timm ok, cv2", cv2.__version__) PY echo "SEGGEN_ENV_DONE"