Download scripts/setup_environment.sh from montignyp/MYai: direct link, hf CLI and curl.
- Browser
- Download file 7.34 kB
-
https://huggingface.co/montignyp/MYai/resolve/main/scripts/setup_environment.sh
- Command line
-
hf download hf://montignyp/MYai/scripts/setup_environment.sh
-
curl -L -o setup_environment.sh https://huggingface.co/montignyp/MYai/resolve/main/scripts/setup_environment.sh
7.34 kB
| # Flux Identity LoRA Training Environment - Complete Setup Script | |
| # Target: RunPod with NVIDIA A100 80GB | |
| set -e | |
| echo "==============================================" | |
| echo "Flux Identity LoRA Training Environment Setup" | |
| echo "==============================================" | |
| # Colors for output | |
| RED='\033[0;31m' | |
| GREEN='\033[0;32m' | |
| YELLOW='\033[1;33m' | |
| NC='\033[0m' # No Color | |
| log_info() { echo -e "${GREEN}[INFO]${NC} $1"; } | |
| log_warn() { echo -e "${YELLOW}[WARN]${NC} $1"; } | |
| log_error() { echo -e "${RED}[ERROR]${NC} $1"; } | |
| # ============================================ | |
| # Phase 1: System Inspection | |
| # ============================================ | |
| echo "" | |
| log_info "Phase 1: System Inspection" | |
| echo "--------------------------------------------" | |
| echo "GPU Information:" | |
| nvidia-smi --query-gpu=name,memory.total,memory.free,driver_version --format=csv || log_warn "nvidia-smi not available" | |
| echo "" | |
| echo "CUDA Version:" | |
| nvcc --version 2>/dev/null || log_warn "nvcc not available" | |
| echo "" | |
| echo "CPU Information:" | |
| cat /proc/cpuinfo | grep "model name" | head -1 || echo "CPU info not available" | |
| echo "CPU Cores: $(nproc)" | |
| echo "" | |
| echo "Memory:" | |
| free -h | |
| echo "" | |
| echo "Disk Space:" | |
| df -h /workspace 2>/dev/null || df -h . | |
| # ============================================ | |
| # Phase 2: Project Structure | |
| # ============================================ | |
| echo "" | |
| log_info "Phase 2: Creating Project Structure" | |
| echo "--------------------------------------------" | |
| PROJECT_DIR="/workspace/flux-project" | |
| mkdir -p ${PROJECT_DIR}/{models/{flux,lora,vae,clip,controlnet,ip-adapter},datasets/identity/{images,processed},output,scripts,logs,configs} | |
| log_info "Project structure created at ${PROJECT_DIR}" | |
| # ============================================ | |
| # Phase 3: System Dependencies | |
| # ============================================ | |
| echo "" | |
| log_info "Phase 3: Installing System Dependencies" | |
| echo "--------------------------------------------" | |
| apt-get update && apt-get install -y \ | |
| git git-lfs wget curl \ | |
| libgl1-mesa-glx libglib2.0-0 \ | |
| python3.10 python3.10-venv python3-pip \ | |
| aria2 ffmpeg | |
| git lfs install | |
| # ============================================ | |
| # Phase 4: Python Virtual Environment | |
| # ============================================ | |
| echo "" | |
| log_info "Phase 4: Setting Up Python Virtual Environment" | |
| echo "--------------------------------------------" | |
| VENV_PATH="/workspace/venv" | |
| python3.10 -m venv ${VENV_PATH} | |
| source ${VENV_PATH}/bin/activate | |
| pip install --upgrade pip wheel setuptools | |
| # ============================================ | |
| # Phase 5: Core ML Packages | |
| # ============================================ | |
| echo "" | |
| log_info "Phase 5: Installing Core ML Packages" | |
| echo "--------------------------------------------" | |
| pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 | |
| pip install xformers | |
| # ============================================ | |
| # Phase 6: Training Dependencies | |
| # ============================================ | |
| echo "" | |
| log_info "Phase 6: Installing Training Dependencies" | |
| echo "--------------------------------------------" | |
| pip install accelerate transformers diffusers safetensors | |
| pip install bitsandbytes scipy tensorboard | |
| pip install lion-pytorch prodigyopt dadaptation | |
| pip install opencv-python pillow numpy | |
| pip install toml pyyaml tqdm rich | |
| pip install imagehash | |
| pip install huggingface_hub | |
| # ============================================ | |
| # Phase 7: CUDA Verification | |
| # ============================================ | |
| echo "" | |
| log_info "Phase 7: Verifying CUDA Installation" | |
| echo "--------------------------------------------" | |
| python -c " | |
| import torch | |
| print(f'PyTorch version: {torch.__version__}') | |
| print(f'CUDA available: {torch.cuda.is_available()}') | |
| if torch.cuda.is_available(): | |
| print(f'CUDA version: {torch.version.cuda}') | |
| print(f'GPU: {torch.cuda.get_device_name(0)}') | |
| print(f'VRAM: {torch.cuda.get_device_properties(0).total_memory / 1024**3:.1f} GB') | |
| else: | |
| print('WARNING: CUDA not available!') | |
| " | |
| # ============================================ | |
| # Phase 8: ComfyUI Installation | |
| # ============================================ | |
| echo "" | |
| log_info "Phase 8: Installing ComfyUI" | |
| echo "--------------------------------------------" | |
| cd /workspace | |
| if [ ! -d "ComfyUI" ]; then | |
| git clone https://github.com/comfyanonymous/ComfyUI.git | |
| fi | |
| cd ComfyUI | |
| pip install -r requirements.txt | |
| # Install ComfyUI Manager | |
| cd custom_nodes | |
| if [ ! -d "ComfyUI-Manager" ]; then | |
| git clone https://github.com/ltdrdata/ComfyUI-Manager.git | |
| fi | |
| # Create model symlinks | |
| log_info "Creating model symlinks..." | |
| ln -sf ${PROJECT_DIR}/models/flux /workspace/ComfyUI/models/unet | |
| ln -sf ${PROJECT_DIR}/models/lora /workspace/ComfyUI/models/loras | |
| ln -sf ${PROJECT_DIR}/models/vae /workspace/ComfyUI/models/vae | |
| ln -sf ${PROJECT_DIR}/models/clip /workspace/ComfyUI/models/clip | |
| ln -sf ${PROJECT_DIR}/models/controlnet /workspace/ComfyUI/models/controlnet | |
| log_info "ComfyUI installed successfully" | |
| # ============================================ | |
| # Phase 9: kohya_ss/sd-scripts Installation | |
| # ============================================ | |
| echo "" | |
| log_info "Phase 9: Installing kohya_ss/sd-scripts" | |
| echo "--------------------------------------------" | |
| cd /workspace | |
| if [ ! -d "sd-scripts" ]; then | |
| git clone https://github.com/kohya-ss/sd-scripts.git | |
| fi | |
| cd sd-scripts | |
| pip install -r requirements.txt | |
| # Verify installation | |
| python -c "from library import flux_train_utils; print('sd-scripts Flux support verified')" || log_warn "sd-scripts Flux verification failed" | |
| log_info "sd-scripts installed successfully" | |
| # ============================================ | |
| # Phase 10: Copy Scripts to Project | |
| # ============================================ | |
| echo "" | |
| log_info "Phase 10: Setting Up Project Scripts" | |
| echo "--------------------------------------------" | |
| # Make scripts executable | |
| chmod +x ${PROJECT_DIR}/scripts/*.sh 2>/dev/null || true | |
| chmod +x ${PROJECT_DIR}/scripts/*.py 2>/dev/null || true | |
| # ============================================ | |
| # Final Verification | |
| # ============================================ | |
| echo "" | |
| log_info "Running Final Verification" | |
| echo "--------------------------------------------" | |
| echo "1. CUDA Check:" | |
| python -c "import torch; print(f' CUDA: {torch.cuda.is_available()}')" | |
| echo "2. sd-scripts Check:" | |
| python -c "from library import flux_train_utils; print(' sd-scripts: OK')" 2>/dev/null || echo " sd-scripts: FAILED" | |
| echo "3. Directory Structure:" | |
| ls -la ${PROJECT_DIR}/ | |
| echo "" | |
| echo "==============================================" | |
| log_info "Setup Complete!" | |
| echo "==============================================" | |
| echo "" | |
| echo "Next Steps:" | |
| echo "1. Download FLUX.1 Dev model:" | |
| echo " huggingface-cli login" | |
| echo " huggingface-cli download black-forest-labs/FLUX.1-dev --local-dir ${PROJECT_DIR}/models/flux" | |
| echo "" | |
| echo "2. Download text encoders:" | |
| echo " huggingface-cli download openai/clip-vit-large-patch14 --local-dir ${PROJECT_DIR}/models/clip/clip-l" | |
| echo " huggingface-cli download google/t5-v1_1-xxl --local-dir ${PROJECT_DIR}/models/clip/t5-xxl" | |
| echo "" | |
| echo "3. Place your training images in:" | |
| echo " ${PROJECT_DIR}/datasets/identity/images/" | |
| echo "" | |
| echo "4. Start ComfyUI:" | |
| echo " ${PROJECT_DIR}/scripts/start_comfyui.sh" | |
| echo "" | |
| echo "5. Start Training:" | |
| echo " ${PROJECT_DIR}/scripts/start_training.sh" | |
| echo "" | |