0xSoul 发表于 2023-4-8 19:01:31

Kohya's GUI:Stable Diffusion 训练AI 绘图模型 UI 完整安装教学(LoRA 模型训练)

Kohya's GUI提供了一个Gradio GUI,能让使用者操作简单好懂的Web 介面去训练适用于Stable Diffusion 的AI 绘图模型。不管您是要做DreamBooth 还是LoRA 都可以用它来进行训练!特别是LoRA 近期特别热门,主要是它可以在低VRAM(大概7G 以上)的显卡上进行训练,且只要约十几张的训练影像就能产生效果很好的LoRA 模型,LoRA 还有模型档案小的特点,不像DreamBooth 动不动就数GB。这篇图文仅教学Kohya's GUI 的安装。依照开发者叙述,您需要先安装好Python 3.10.6+和Git,另外还要安装Visual Studio 2015, 2017, 2019, 2022 redistributable。


⚠️注意,稍后选择安装位置请留意剩余空间,至少需要约10 GB 可用空间,站长实测全新安装此应用软件后约消耗6.7 GB 的硬盘空间。




▲ Kohya's GUI 在GitHub 上的储存库,一切资源跟安装方式都在这边写得清清楚楚,不过跟着站长做就能节省很多您的时间啦!



▲ 首先先搜寻「powershell」并用系统管理员身分执行它,接着输入 Set-ExecutionPolicy Unrestricted 指令并回答A。





▲ 接着打开终端(CMD),将路径先指定好(要安装的地方,如:D 盘),接着下 指令下载整个软件,再用 进入软件包目录中,再来直接复制以下完整指令并全部执行:

git clone https://github.com/bmaltais/kohya_ss.gitcd kohya_ss请下载整个软件包,然后使用cd kohya_ss
命令进入软件包目录,最后直接复制以下完整命令并全部执行:


python -m venv venv
.\venv\Scripts\activate

pip install torch==1.12.1+cu116 torchvision==0.13.1+cu116 --extra-index-url https://download.pytorch.org/whl/cu116
pip install --use-pep517 --upgrade -r requirements.txt
pip install -U -I --no-deps https://github.com/C43H66N12O12S2/stable-diffusion-webui/releases/download/f/xformers-0.0.14.dev0-cp310-cp310-win_amd64.whl

这里需要下载一些东西,可能需要稍等一下。然后,分别输入以下指令,每个指令占一行:


copy .\bitsandbytes_windows\*.dll .\venv\Lib\site-packages\bitsandbytes\
copy .\bitsandbytes_windows\cextension.py .\venv\Lib\site-packages\bitsandbytes\cextension.py
copy .\bitsandbytes_windows\main.py .\venv\Lib\site-packages\bitsandbytes\cuda_setup\main.py




接下来输入 "accelerate config" 命令开始进行加速器设置,回答如图中红线所示的方式即可,最后相关设置将保存为一个名为 "default_config.yaml" 的配置文件。


终端输出内容完整版:

(venv) D:\kohya_ss>accelerate config
----------------------------------------------------------------------------------In which compute environment are you running?
This machine
----------------------------------------------------------------------------------Which type of machine are you using?
No distributed training
Do you want to run your training on CPU only (even if a GPU is available)? :NO
Do you wish to optimize your script with torch dynamo?:NO
Do you want to use DeepSpeed? : NO
What GPU(s) (by id) should be used for training on this machine as a comma-seperated list? :all
----------------------------------------------------------------------------------Do you wish to use FP16 or BF16 (mixed precision)?
fp16
accelerate configuration saved at C:\Users\user/.cache\huggingface\accelerate\default_config.yaml



▲ 进入软件包的根目录,我这里是 D:\kohya_ss,upgrade.ps1 文件用于更新软件,需要使用 PowerShell 执行。




▲ 在软件的根目录中,双击 gui.bat 可以启动 Kohya's GUI,启动速度非常快!使用 Ctrl + 点击网址(默认为 http://127.0.0.1:7861),可以在浏览器中打开操作界面。





▲ 这就是 Kohya's GUI 的操作界面了!这样就完成了 Kohya's GUI 的安装!Kohya's GUI 的好处是将训练模型的工作交给独立的软件来运作,不再与 Stable Diffusion web UI 一同运行。毕竟,Stable Diffusion web UI 经常更新,容易引起相关扩展错误等问题,非常麻烦。
Linux和MacOS
打开终端,先建个文件夹,然后一步步来:git clone https://github.com/bmaltais/kohya_ss.git
cd kohya_ss


运行 setup.sh
# 如果您在一个安全性更高的机器上,则可能需要运行chmod +x ./setup.sh# 如果需要在runpod环境中进行其他选项,则有附加选项。# 调用 'setup.sh -h' 或 'setup.sh --help' 以获取更多信息。
我直接sudo了。
sudo ./setup.sh




这里切换到虚拟 Python 环境。在 Python 操作之前检查 pip 更新。安装 Python 依赖项。这可能需要一些时间来下载文件。如果此操作运行时间过长,他让你可以以详细模式重新运行此脚本进行检查。

可能会出现错误:WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProtocolError('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))': /simple/keras-preproc>

因为是国内的机器,需要挂个梯子在机器上。


这里是关于setup.sh的帮助文件:
Kohya_SS POSIX 操作系统安装脚本。

以下选项适用于 runpod 环境,并不影响本地机器安装。

用法:
setup.sh -b dev -d /workspace/kohya_ss -g https://mycustom.repo.tld/custom_fork.git
setup.sh --branch=dev --dir=/workspace/kohya_ss --git-repo=https://mycustom.repo.tld/custom_fork.git

选项:
-b BRANCH,--branch=BRANCH    选择新安装时要检出的 kohya 分支。
-d DIR,--dir=DIR             您要安装 kohya_ss 的完整路径。
-g REPO,--git_repo=REPO      您可以选择提供一个 git 存储库以进行 runpod 安装。有助于自定义分支。
-h,--help                   显示此屏幕。
-i,--interactive            交互式配置加速器,而不是使用默认配置文件。
-n,--no-update            不更新 kohya_ss 存储库。没有 git pull 或 clone 操作。
-p,--public               在 runpod 模式下公开公共 URL。在其他模式下没有影响。
-r,--runpod               强制进行 runpod 安装。如果检测失败,非常有用。
-s,--skip-space-check       跳过 10Gb 最小存储空间检查。
-u,--no-gui               跳过启动 GUI。
-v,--verbose                增加最高 3 级详细程度。


安装位置在 Linux 上的默认安装位置是如果检测到先前的安装,则为脚本所在的位置。否则,它将回退到 /opt/kohya_ss。如果 /opt 不可写,则回退到 $HOME/kohya_ss。最后,如果所有其他方法都失败,则会简单地安装到您当前所在的文件夹(PWD)。
在 macOS 和其他非 Linux 机器上,它将首先尝试检测在脚本运行的位置安装并在那里运行安装程序(如果检测到该位置)。如果在该位置找不到先前的安装,则默认安装到 $HOME/kohya_ss,然后安装到您当前的位置,如果无法访问 $HOME。您可以使用 -d 选项指定安装目录来覆盖此行为。
如果您正在使用交互模式,则在运行脚本后,加速配置屏幕的默认值为“This machine”、“ None”、“ No”对于剩余的问题。这些答案与 Windows 安装相同。
升级
# Refresh and update everything
./setup.sh

# This will refresh everything, but NOT clone or pull the git repo.
./setup.sh --no-git-update
启动 GUI 服务
以下命令行参数可传递到任何操作系统上的脚本以配置底层服务。
--listen:监听 Gradio 连接的 IP 地址。
--username:用于身份验证的用户名。
--password:用于身份验证的密码。
--server_port:运行服务器监听器的端口。
--inbrowser:在 Web 浏览器中打开 Gradio UI。
--share:共享 Gradio UI。
在 Linux 和 macOS 上启动 GUI
类似于 Windows,使用所需的命令行参数运行启动器脚本。
./gui.sh --listen 127.0.0.1 --server_port 7861 --inbrowser --share
使用 kohya_gui.py 直接启动 GUI要直接运行 GUI,可以跳过包装器脚本,只需从根项目目录使用此命令:
.\venv\Scripts\activate

python .\kohya_gui.py

👍 相关教程:训练 LoRA 模型教程
可选功能(CUDNN 8.6)
如果您持有 NVIDIA 30X0/40X0 显卡,可以安装 CUDNN 8.6 以允许更大的训练批量大小和获得更快的训练速度!下载链接:https://b1.thefileditch.ch/mwxKTEtelILoIbMbruuM.zip解压缩后将 cudnn_windows 整个文件夹移动至软件根目录下,并在根目录中用终端机执行以下命令:
.\venv\Scripts\activate
python .\tools\cudann_1.8_install.py




0xSoul 发表于 2023-4-8 23:35:20

UBUNTU下如果出现以下问题:

ModuleNotFoundError: No module named '_bz2'
你需要下载一下:

sudo apt-get install libbz2-dev
sudo cp /home/ubuntu/miniconda3/lib/python3.10/lib-dynload/_bz2.cpython-310-x86_64-linux-gnu.so /home/ubuntu/kohya_ss/venv/lib/python3.10/site-packages



可以使用以下命令查找文件。
sudo find /-name _bz2.cpython-*
页: [1]
查看完整版本: Kohya's GUI:Stable Diffusion 训练AI 绘图模型 UI 完整安装教学(LoRA 模型训练)