File size: 4,330 Bytes
6f49c31 83138e2 6f49c31 7753209 6f49c31 | 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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | #!/usr/bin/env bash
set -e
###############################################################################
# 0. Подготовка среды: обновление apt, установка unzip
###############################################################################
echo ">>> [Script 1] Step 0: Installing system dependencies ..."
apt-get update && apt-get install -y unzip
###############################################################################
# 1. Скачиваем zip-файл с Hugging Face и распаковываем
###############################################################################
echo ">>> [Script 1] Step 1: Downloading MyRunpodFinetuneScripts.zip ..."
wget -O /workspace/MyRunpodFinetuneScripts.zip \
"https://huggingface.co/Gerchegg/FeaturesFluxAI/resolve/main/MyRunpodFinetuneScriptsv17.zip"
echo ">>> [Script 1] Step 2: Unzipping MyRunpodFinetuneScripts.zip ..."
unzip -o /workspace/MyRunpodFinetuneScripts.zip -d /workspace
# Предполагается, что внутри появится папка Kohya_Flux*** с нужными файлами.
###############################################################################
# 2. Запускаем два "параллельных" потока (фона):
# - Thread 1: Устанавливает пакеты + python Download_Train_Models.py
# - Thread 2: Устанавливает нужные deps (kohya_ss, torch, xformers), запускает GUI
###############################################################################
echo ">>> [Script 1] Starting parallel threads ..."
# ------------------ Поток 1 --------------------
(
echo ">>> [Thread 1] Installing Python packages for huggingface ..."
pip install huggingface_hub ipywidgets hf_transfer
export HF_HUB_ENABLE_HF_TRANSFER=1
echo ">>> [Thread 1] Running Download_Train_Models.py ..."
dwn_path=$(find /workspace -name "Download_Train_Models.py" | head -n 1)
if [ -z "$dwn_path" ]; then
echo "[Thread 1] ERROR: Download_Train_Models.py not found!"
exit 1
fi
python "$dwn_path" --dir /workspace
echo ">>> [Thread 1] Done."
) &
# ------------------ Поток 2 --------------------
(
echo ">>> [Thread 2] Installing Python and OS dependencies ..."
apt update --yes
yes | apt-get install python3.10-tk
apt-get install psmisc --yes
echo ">>> [Thread 2] Cloning kohya_ss ..."
cd /workspace
if [ ! -d "/workspace/kohya_ss" ]; then
git clone https://github.com/bmaltais/kohya_ss.git
fi
cd /workspace/kohya_ss
echo ">>> [Thread 2] Creating Python venv ..."
python3 -m venv venv
source venv/bin/activate
yes | apt-get install python3.10-tk
echo ">>> [Thread 2] Running setup.sh ..."
./setup.sh -n -u
apt update --yes
yes | apt-get install python3.10-tk
apt-get install psmisc --yes
pip install hf_transfer
export HF_HUB_ENABLE_HF_TRANSFER=0
echo ">>> [Thread 2] Killing processes on port 7860 ..."
fuser -k 7860/tcp || true
source venv/bin/activate
echo ">>> [Thread 2] Updating torch & xformers ..."
pip uninstall -y xformers
pip install torch==2.5.1+cu124 torchvision --index-url https://download.pytorch.org/whl/cu124
pip install xformers==0.0.28.post3 --index-url https://download.pytorch.org/whl/cu124
pip install pydantic==2.10.6
echo ">>> [Thread 2] Launching kohya_ss GUI on 0.0.0.0:7860 ..."
./gui.sh --listen=0.0.0.0 --share --noverify
) &
###############################################################################
# 3. Создаём общую структуру папок (Models, Images, Logs)
# по заданию, делаем это в первой части
###############################################################################
echo ">>> [Script 1] Creating folder structure in /workspace/MyLearningDataset ..."
mkdir -p /workspace/MyLearningDataset/Models
mkdir -p /workspace/MyLearningDataset/Images
mkdir -p /workspace/MyLearningDataset/Logs
###############################################################################
# 4. Ожидаем завершения потоков
###############################################################################
echo ">>> [Script 1] Waiting for threads to finish ..."
wait
echo ">>> [Script 1] ALL DONE! Now run 'finetune_analysis.sh' to proceed."
|