| #!/usr/bin/env bash |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| set -euo pipefail |
|
|
| CONDA_ENV="${CONDA_ENV:-minicpmo}" |
| PYTHON_VER="${PYTHON_VER:-3.12}" |
| INSTALL_DIR="${INSTALL_DIR:-${HOME}/anaconda3}" |
|
|
| log() { echo "[setup_env] $*"; } |
|
|
| log "Bootstrapping conda..." |
| if ! command -v conda &>/dev/null; then |
| if [[ -f "${INSTALL_DIR}/etc/profile.d/conda.sh" ]]; then |
| source "${INSTALL_DIR}/etc/profile.d/conda.sh" |
| else |
| echo "Error: conda not found. Install Anaconda first (see CleverHans-Evaluation/setup_env.sh)." |
| exit 1 |
| fi |
| fi |
| eval "$(conda shell.bash hook)" |
|
|
| log "Creating conda env '${CONDA_ENV}' (python=${PYTHON_VER})..." |
| if conda env list | awk '{print $1}' | grep -Fxq "${CONDA_ENV}"; then |
| log "Env '${CONDA_ENV}' already exists; activating." |
| conda activate "${CONDA_ENV}" |
| else |
| conda create -n "${CONDA_ENV}" "python=${PYTHON_VER}" -y |
| conda activate "${CONDA_ENV}" |
| fi |
|
|
| log "Installing FFmpeg 6 (for audio/video decoding)..." |
| conda install -y -c conda-forge 'ffmpeg>=6,<7' || log "Warning: conda-forge ffmpeg failed." |
|
|
| log "Installing PyTorch 2.6 (MiniCPM-o stable target; newer torch may work)..." |
| pip install --upgrade pip |
| pip install torch==2.6.0 torchvision==0.21.0 torchaudio==2.6.0 \ |
| --index-url https://download.pytorch.org/whl/cu124 |
|
|
| log "Installing MiniCPM-o core dependencies..." |
| |
| pip install 'transformers>=4.52,<4.58' accelerate==0.33.0 |
| pip install Pillow==10.4.0 |
| pip install sentencepiece==0.2.0 |
| pip install decord==0.6.0 librosa==0.10.2 soundfile==0.12.1 moviepy==1.0.3 |
| pip install vocos==0.1.0 |
| pip install huggingface_hub==0.26.5 |
| pip install einops==0.8.0 |
| pip install tqdm openai |
|
|
| |
| |
| |
| |
| log "Installing eval data-loader deps (datasets, pandas, pyarrow)..." |
| pip install datasets pandas pyarrow |
|
|
| |
| |
| pip install minicpmo==0.1.2 |
| pip install onnx onnxruntime hyperpyyaml diffusers |
|
|
| log "Patching MiniCPM-o modeling file for transformers>=4.52 compatibility..." |
| SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" |
| python "${SCRIPT_DIR}/scripts/patch_minicpmo.py" || log "Warning: patch_minicpmo.py failed (non-fatal; see errors above)." |
|
|
| log "Done." |
| echo "" |
| echo " Active env: ${CONDA_ENV}" |
| echo " Python: $(command -v python)" |
| echo "" |
| echo "Next: conda activate ${CONDA_ENV}" |
| echo " Then try: python scripts/test_minicpmo.py" |
|
|