該存儲庫主要為 Kohya 的穩定擴散訓練器提供 Gradio GUI。不過,對 Linux 作業系統的支援也是透過社群貢獻提供的。目前 macOS 支援並不是最佳的,但如果條件有利的話可能會起作用。
GUI 可讓您設定訓練參數並產生和執行所需的 CLI 命令來訓練模型。
Kohya 的 GUI
頁面文件限制
沒有名為 tkinter 的模組
TESLA V100 上的 LORA 訓練 - GPU 利用率問題
問題摘要
潛在的解決方案
在 Windows 上啟動 GUI
在 Linux 和 macOS 上啟動 GUI
Windows升級
Linux 和 macOS 升級
視窗
Linux 和 macOS
運行波德
碼頭工人
Windows 先決條件
設定視窗
可選:CUDNN 8.9.6.50
Linux 先決條件
設定Linux
安裝位置
手動安裝
預先建置的 Runpod 模板
視窗
Linux、作業系統
讓您的 Docker 為 GPU 支援做好準備
Dockerfile 的設計
使用預先建置的 Docker 映像
本機docker建置
ashleykleynhans runpod docker 構建
目錄
?科拉布
安裝
升級中
啟動圖形使用者介面服務
自訂路徑預設值
洛拉
訓練期間產生樣本圖像
故障排除
SDXL 培訓
掩蔽損失
變更歷史記錄
這本 Colab 筆記本不是由我創造或維護的;然而,它似乎發揮了有效作用。來源可以在:https://github.com/camenduru/kohya_ss-colab 找到。
我謹對 Camendutu 的寶貴貢獻表示感謝。如果您在使用 Colab 筆記本時遇到任何問題,請在其儲存庫中報告。
科拉布 | 資訊 |
---|---|
kohya_ss_gui_colab |
若要在 Windows 系統上安裝必要的依賴項,請依照下列步驟操作:
安裝Python 3.10.11。
在安裝過程中,請確保選擇將 Python 新增至「PATH」環境變數的選項。
安裝 CUDA 11.8 工具包。
安裝 Git。
安裝 Visual Studio 2015、2017、2019 和 2022 可重複發行元件。
若要設定項目,請依照下列步驟操作:
開啟終端並導航到所需的安裝目錄。
透過執行以下命令克隆儲存庫:
git clone --recursive https://github.com/bmaltais/kohya_ss.git
切換到kohya_ss
目錄:
cd kohya_ss
透過執行以下命令來執行以下安裝腳本之一:
對於僅安裝了 python 3.10.11 的系統:
.setup.bat
對於僅安裝了多個 python 版本的系統:
.setup-3.10.bat
在加速設定步驟中,請使用設定期間建議的預設值,除非您知道您的硬體需求。 GPU 上的 VRAM 量不會影響使用的值。
以下步驟是可選的,但可以提高 NVIDIA 30X0/40X0 GPU 用戶的學習速度。這些步驟可以實現更大的訓練批量大小和更快的訓練速度。
執行.setup.bat
並選擇2. (Optional) Install cudnn files (if you want to use the latest supported cudnn version)
。
若要在 Linux 系統上安裝必要的依賴項,請確保符合以下要求:
確保預安裝venv
支援。您可以使用以下命令在 Ubuntu 22.04 上安裝它:
apt安裝python3.10-venv
請按照此連結中提供的說明安裝 CUDA 11.8 工具包。
確保您的系統上安裝了 Python 版本 3.10.9 或更高版本(但低於 3.11.0)。
若要在 Linux 或 macOS 上設定項目,請執行下列步驟:
開啟終端並導航到所需的安裝目錄。
透過執行以下命令克隆儲存庫:
git clone --recursive https://github.com/bmaltais/kohya_ss.git
切換到kohya_ss
目錄:
cd kohya_ss
如果遇到權限問題,請執行以下命令使setup.sh
腳本可執行:
chmod +x ./setup.sh
透過執行以下命令來執行安裝腳本:
./setup.sh
注意:如果您需要有關 runpod 環境的其他選項或信息,可以使用setup.sh -h
或setup.sh --help
顯示幫助訊息。
Linux 上的預設安裝位置是腳本所在的目錄。如果在該位置偵測到先前的安裝,安裝程式將在那裡繼續。否則,安裝將回退到/opt/kohya_ss
。如果/opt
不可寫,則後備位置將為$HOME/kohya_ss
。最後,如果前面的選項均不可行,則安裝將在目前目錄中執行。
對於 macOS 和其他非 Linux 系統,安裝過程將嘗試根據腳本的運行位置來偵測先前的安裝目錄。如果未找到先前的安裝,則預設位置將為$HOME/kohya_ss
。您可以透過在執行安裝腳本時使用-d
或--dir
選項指定自訂安裝目錄來覆寫此行為。
如果您選擇使用互動模式,則加速設定畫面的預設值將為「本機」、「無」和其餘問題的「否」。這些預設答案與 Windows 安裝相同。
若要安裝 Runpod 所需的元件並執行 kohya_ss,請依照下列步驟操作:
選擇 Runpod pytorch 2.0.1 模板。這很重要。其他模板可能不起作用。
透過 SSH 登入 Runpod。
透過執行以下命令克隆儲存庫:
cd /工作區 git clone --recursive https://github.com/bmaltais/kohya_ss.git
運行安裝腳本:
cd kohya_ss ./setup-runpod.sh
使用以下命令運行 GUI:
./gui.sh --share --headless
或如果您直接透過 runpod 設定公開 7860:
./gui.sh --listen=0.0.0.0 --無頭
連接到安裝過程完成後顯示的公共 URL。
要從預先建置的 Runpod 範本運行,您可以:
點選 https://runpod.io/gsc?template=ya6013lj5a&ref=w18gds2n 開啟 Runpod 範本。
將模板部署到所需的主機。
部署後,透過 HTTP 3010 連接到 Runpod 以存取 kohya_ss GUI。您也可以透過 HTTP 3000 連接到 auto1111。
安裝完Docker Desktop 、 CUDA Toolkit 、 NVIDIA Windows Driver並確保 Docker 與WSL2一起運作後,您就可以開始使用了。
這是官方文檔,供進一步參考。
https://docs.nvidia.com/cuda/wsl-user-guide/index.html#nvidia-compute-software-support-on-wsl-2 https://docs.docker.com/desktop/wsl/use -wsl/#gpu-支持
如果您尚未安裝 NVIDIA GPU 驅動程序,請安裝該驅動程式。
https://docs.nvidia.com/datacenter/tesla/tesla-installation-notes/index.html
使用本指南安裝 NVIDIA Container Toolkit。
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html
要求所有訓練資料都儲存在dataset
子目錄中,該子目錄安裝在/dataset
容器中。
請注意,文件選擇器功能不可用。相反,您需要手動輸入資料夾路徑和設定檔路徑。
TensorBoard 已從該項目中分離出來。
TensorBoard 不包含在 Docker 映像中。
「啟動 TensorBoard」按鈕已被隱藏。
TensorBoard 是從一個不同的容器啟動的,如下所示。
瀏覽器不會自動啟動。您需要手動開啟瀏覽器並導航至 http://localhost:7860/ 和 http://localhost:6006/
該 Dockerfile 被設計為易於一次性使用。您可以隨時丟棄容器並使用新的程式碼版本重新啟動它。
git clone --recursive https://github.com/bmaltais/kohya_ss.gitcd kohya_ss docker 組成-d
若要更新系統,請執行docker compose down && docker compose up -d --pull always
重要的
遞歸克隆 Git 儲存庫以包含子模組:
git clone --recursive https://github.com/bmaltais/kohya_ss.git
git clone --recursive https://github.com/bmaltais/kohya_ss.gitcd kohya_ss docker compose up -d --build
筆記
建立映像最多可能需要 20 分鐘才能完成。
若要更新系統,請簽出新的程式碼版本並使用docker compose down && docker compose up -d --build --pull always
進行重建
如果您在 Linux 上運行,這裡提供了限制較少的替代 Docker 容器連接埠。
在 runpod 上運行時,您可能需要使用以下儲存庫:
獨立 Kohya_ss 模板:https://github.com/ashleykleynhans/kohya-docker
Auto1111 + Kohya_ss GUI 範本:https://github.com/ashleykleynhans/stable-diffusion-docker
若要將您的安裝升級至新版本,請按照以下說明操作。
如果有新版本可用,您可以透過從專案的根目錄執行以下命令來升級儲存庫:
從儲存庫中提取最新變更:
git拉
運行安裝腳本:
.setup.bat
若要升級 Linux 或 macOS 上的安裝,請依照下列步驟操作:
開啟終端並導航到專案的根目錄。
從儲存庫中提取最新變更:
git拉
刷新並更新所有內容:
./setup.sh
若要啟動 GUI 服務,您可以使用提供的腳本或直接執行kohya_gui.py
腳本。使用下面列出的命令列參數來配置底層服務。
--listen: Specify the IP address to listen on for connections to Gradio.
--username: Set a username for authentication.
--password: Set a password for authentication.
--server_port: Define the port to run the server listener on.
--inbrowser: Open the Gradio UI in a web browser.
--share: Share the Gradio UI.
--language: Set custom language
在 Windows 上,您可以使用位於根目錄中的gui.ps1
或gui.bat
腳本。選擇適合您偏好的腳本並在終端機中運行它,並提供所需的命令列參數。這是一個例子:
gui.ps1 --listen 127.0.0.1 --server_port 7860 --inbrowser --share
或者
gui.bat --listen 127.0.0.1 --server_port 7860 --inbrowser --share
若要在 Linux 或 macOS 上啟動 GUI,請執行根目錄中的gui.sh
腳本。提供所需的命令列參數,如下所示:
gui.sh --listen 127.0.0.1 --server_port 7860 --inbrowser --share
儲存庫現在提供了一個名為config.toml
的預設設定檔。該文件是一個模板,您可以根據需要進行自訂。
若要使用預設設定文件,請按照下列步驟操作:
將config example.toml
檔案從儲存庫的根目錄複製到config.toml
。
在文字編輯器中開啟config.toml
檔案。
根據您的要求修改路徑和設定。
這種方法可讓您輕鬆調整配置以滿足您的特定需求,為 GUI 中支援的每種類型的資料夾/檔案輸入開啟所需的預設資料夾。
執行 GUI 時,您可以指定 config.toml 的路徑(或您喜歡的任何其他名稱)。例如:./gui.bat --config c:my_config.toml
要訓練 LoRA,您目前可以使用train_network.py
程式碼。您可以使用一體化 GUI 建立 LoRA 網路。
建立 LoRA 網路後,您可以透過安裝此擴充功能使用 auto1111 產生映像。
提示文件可能如下所示,例如:
# 提示1masterpiece,最佳質量,(1girl),穿著白襯衫,上半身,看著觀眾,簡單背景--n 低質量,最差質量,不良解剖結構,不良構圖,差,低努力--w 768 - -h 768 --d 1 --l 7.5 --s 28#提示2傑作,最佳質量,1男孩,穿著西裝,站在街上,回頭看--n(低質量,最差質量),糟糕的解剖結構,糟糕的構圖,差,低強度 --w 576 --h 832 --d 2 --l 5.5 --s 40
以#
開頭的行是註解。您可以在提示後使用--n
等選項為產生的影像指定選項。可以使用以下選項:
--n
:否定提示直到下一個選項。
--w
:指定生成影像的寬度。
--h
:指定生成影像的高度。
--d
:指定產生影像的種子。
--l
:指定產生影像的CFG比例。
--s
:指定產生的步驟數。
( )
和[ ]
等提示權重正在發揮作用。
如果您遇到任何問題,請參閱以下故障排除步驟。
如果遇到與頁面檔案相關的 X 錯誤,您可能需要增加 Windows 中的頁面檔案大小限制。
如果您遇到指示未找到模組tkinter
錯誤,請嘗試在系統上重新安裝 Python 3.10。
在 TESLA V100 上訓練 LORA 時,使用者報告 GPU 利用率較低。此外,除了預設訓練之外,指定 GPU 也很困難。
GPU 選擇:使用者可在設定配置中指定 GPU ID,以選擇所需的 GPU 進行訓練。
提高 GPU 負載:利用adamW8bit
優化器並增加批次大小可以幫助實現 70-80% 的 GPU 利用率,而不會超出 GPU 記憶體限制。
本節中的文件稍後將移至單獨的文件中。
每個訓練腳本都支援屏蔽損失。若要啟用屏蔽損失,請指定--masked_loss
選項。
該功能尚未經過全面測試,因此可能存在錯誤。如果您發現任何問題,請開啟問題。
ControlNet 資料集用於指定遮罩。遮罩影像應該是 RGB 影像。 R通道中的像素值255被視為掩模(僅對具有掩模的像素計算損失),0被視為非掩模。將像素值0-255轉換為0-1(即像素值128被視為損失的一半權重)。請參閱 LLLite 文件中資料集規範的詳細資訊。
查看發布資訊。