- SD-Trainer Installer
- 目录
- 简介
- 环境配置
- 安装
- 使用
- 启动 SD-Trainer
- 更新 SD-Trainer
- 设置 SD-Trainer 启动参数
- 进入 SD-Trainer 所在的 Python 环境
- 获取最新的 SD-Trainer Installer 脚本
- 恢复被修改 / 删除的脚本
- 设置 HuggingFace 镜像
- 设置 Github 镜像源
- 配置代理
- 添加模型
- 模型训练的方法
- 重装 SD-Trainer
- 重装 Python 环境
- 重装 Git
- 重装 PyTorch
- 卸载 SD-Trainer
- 移动 SD-Trainer 的路径
- 更新 SD-Trainer 管理脚本
- 设置 uv 包管理器
- 管理 SD-Trainer Installer 设置
- 使用 SD-Trainer Installer 安装 Kohya GUI
- 运行脚本时出现中文乱码
- 无法使用 PowerShell 运行
- SD-Trainer 提示'Torch 无法使用 GPU,您无法正常开始训练'
- PowerShell 中出现 xFormers 报错
- RuntimeError: Directory 'frontend/dist' does not exist
- ERROR: THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE
- RuntimeError: Error(s) in loading state_dict for UNet2DConditionModel
- UnicodeDecodeError: 'utf-8' codec can't decode byte xxxx in position xxx: invalid continuation byte
- RuntimeError: NaN detected in latents: X:\xxx\xxx\xx.png
- CUDA out of memory
- DefaultCPUAllocator: not enough memory
- Loss?
- 训练素材中图片的分辨率不一致,而且有些图片的分辨率很大,需要裁剪?
- 以一种访问权限不允许的方式做了一个访问套接字的尝试
- AssertError: caption file is empty: xxx\xxxxxx\xx\2_xxx\xxxxxxx.txt
- Torch 版本低于 2.3.0,将无法正常训练 FLUX 模型。请考虑升级到更新的版本。
- NotImplemenredError: Cannot cppy out of meta tensor; no data! Please use torch.nn.Module.to_empty() instead of torch.nn.Module.to() when moving module from mera to a different device.
- Microsoft Visual C++ Redistributable is not installed, this may lead to the DLL load failure.
- 命令的使用
- 常用命令
一个在 Windows 系统上部署 SD-Trainer 的 PowerShell 脚本,并提供不同的管理工具。
如果是初次使用 PowerShell 脚本,需要解除 Windows 系统对脚本的限制。
Windows 系统默认未启用长路径支持,这可能会导致部分功能出现异常,需要启用 Windows 长路径支持来解决该问题。
下面提供 2 种方法进行环境配置。
下载环境自动配置脚本,双击运行configure_env.bat
后将会弹出管理员权限申请提示,选择是
授权管理员权限给环境配置脚本,这时将自动配置运行环境。
环境配置脚本下载 |
---|
下载地址 1 |
下载地址 2 |
下载地址 3 |
下载地址 4 |
下载地址 5 |
Note
使用自动环境配置脚本的方法和手动使用命令配置的方法效果一致。
使用管理员权限打开 PowerShell,运行以下命令:
Set-ExecutionPolicy Unrestricted -Scope CurrentUser
Note
关于 PowerShell 执行策略的说明:关于执行策略 ### PowerShell | Microsoft Learn
在刚刚的 PowerShell 中运行下面的命令:
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force
Note
关于 Windows 长路径支持的说明:最大路径长度限制 ### Win32 apps | Microsoft Learn
将 SD-Trainer Installer 下载至本地,右键sd_trainer_installer.ps1
脚本,在弹出的右键菜单中点击使用 PowerShell 运行
,此时 SD-Trainer Installer 将安装 SD-Trainer 至本地。
SD-Trainer Installer 下载地址 |
---|
下载地址 1 |
下载地址 2 |
下载地址 3 |
下载地址 4 |
下载地址 5 |
在 SD-Trainer Installer 成功安装 SD-Trainer 后,在 SD-Trainer 文件夹中可以看到 SD-Trainer 的文件和各种管理脚本。如果出现某个步骤运行失败,可尝试重新运行 SD-Trainer Installer。
Note
如果运行 PowerShell 脚本出现闪退,说明 Windows 对 PowerShell 脚本的运行限制未解除,需要按照环境配置中的方法进行解除。
在 SD-Trainer 文件夹中可以看到不同的 PowerShell 脚本,右键 PowerShell 脚本,选择使用 PowerShell 运行
后即可运行。在 lora-scripts 文件夹中也有 PowerShell 脚本,但不建议使用该文件夹中的脚本进行运行。
运行launch.ps1
脚本。
运行update.ps1
脚本,如果遇到更新 SD-Trainer 失败的情况可尝试重新运行update.ps1
脚本。
要设置 SD-Trainer 的启动参数,可以在和launch.ps1
脚本同级的目录创建一个launch_args.txt
文件,在文件内写上启动参数,运行 SD-Trainer 启动脚本时将自动读取该文件内的启动参数并应用。
Note
- SD-Trainer 可用的启动参数可阅读:Akegarasu/lora-scripts ### 程序参数
- 该设置可通过管理 SD-Trainer Installer 设置中提到的的
settings.ps1
进行修改。
如果需要使用 Python、Pip、SD-Trainer 的命令时,请勿将 SD-Trainer 的 python 文件夹添加到环境变量,这将会导致不良的后果产生。
正确的方法是在 SD-Trainer 目录中打开 PowerShell,在 PowerShell 中运行下面的命令进入 SD-Trainer Env:
.\activate.ps1
这样就进入 SD-Trainer 所在的 Python 环境,可以在这个环境中使用该环境的 Python 等命令。
或者运行terminal.ps1
脚本,这将打开 PowerShell 并自动执行activate.ps1
,此时就进入了 SD-Trainer 所在的 Python。
运行get_sd_trainer_installer.ps1
脚本,运行成功后将会把 SD-Trainer Installer 保存在 SD-Trainer 文件夹的上一级目录中。
如果不小心把某个脚本修改了导致无法使用,或者是误删除了,可以运行一次 SD-Trainer Installer 重新生成这些脚本。
Note
SD-Trainer Installer 必须放在 SD-Trainer 文件夹外运行,不知道放哪的可以参考下面的目录结构。
$ tree -L 2
.
├── BaiduNetworkDownloads
│ └── 新建 文本文档.txt
├── SD-Trainer # 这是 SD-Trainer 文件夹
│ ├── activate.ps1 # 进入 SD-Trainer Env 的脚本
│ ├── cache # 缓存文件夹
│ ├── download_models.ps1 # 下载模型的脚本
│ ├── get_sd_trainer_installer.ps1 # 获取最新的 SD-Trainer Installer 的脚本
│ ├── git # Git 目录
│ ├── help.txt # 帮助文档
│ ├── launch.ps1 # 启动 SD-Trainer 的脚本
│ ├── lora-scripts # SD-Trainer 路径
│ ├── models # download_models.ps1 下载模型脚本
│ ├── python # Python 目录
│ ├── reinstall_pytorch.ps1 # 重新安装 PyTorch 的脚本
│ ├── settings.ps1 # 管理 SD-Trainer Installer 设置的脚本
│ ├── terminal.ps1 # 自动打开 PowerShell 并激活 SD-Trainer Installer 的虚拟环境脚本
│ └── update.ps1 # 更新 SD-Trainer 的脚本
├── sd_trainer_installer.ps1 # SD-Trainer Installer 放在 SD-Trainer 文件夹外面,和 SD-Trainer 文件夹同级
└── QQ Files
8 directories, 9 files
Warning
SD-Trainer
文件夹的名称切勿修改,修改后将导致 SD-Trainer Installer 更新管理脚本时出现异常。
SD-Trainer Installer 生成的 PowerShell 脚本中已设置了 HuggingFace 镜像源,如果需要自定义 HuggingFace 镜像源,可以在和脚本同级的目录创建hf_mirror.txt
文件,在文件中填写 HuggingFace 镜像源的地址后保存,再次启动脚本时将读取该文件的配置并设置 HuggingFace 镜像源。
可用的 HuggingFace 镜像源 |
---|
https://hf-mirror.com |
https://huggingface.sukaka.top |
如果需要禁用设置 HuggingFace 镜像源,在和脚本同级的目录中创建disable_hf_mirror.txt
文件,再次启动脚本时将禁用 HuggingFace 镜像源。
Note
该设置可通过管理 SD-Trainer Installer 设置中提到的的settings.ps1
进行修改。
SD-Trainer Installer 为了加速访问 Github 的速度,加快下载和更新 SD-Trainer 的速度,默认在启动脚本时自动检测可用的 Github 镜像源并设置。如果需要自定义 Github 镜像源,可以在和脚本同级的目录创建gh_mirror.txt
文件,在文件中填写 Github 镜像源的地址后保存,再次启动脚本时将取消自动检测可用的 Github 镜像源,而是读取该文件的配置并设置 Github 镜像源。
如果需要禁用设置 Github 镜像源,在和脚本同级的目录中创建disable_gh_mirror.txt
文件,再次启动脚本时将禁用 Github 镜像源。
Note
该设置可通过管理 SD-Trainer Installer 设置中提到的的settings.ps1
进行修改。
如果出现某些文件无法下载,比如在控制台出现由于连接芳在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败
之类的报错时,可以尝试配置代理,有以下两种方法。
在代理软件中启用系统代理,再运行脚本,这时候脚本将自动读取系统中的代理配置并设置代理。
在和脚本同级的路径中创建一个proxy.txt
文件,在文件中填写代理地址,如http://127.0.0.1:10809
,保存后运行脚本,这时候脚本会自动读取这个配置文件中的代理配置并设置代理。
在和脚本同级的路径中创建一个disable_proxy.txt
文件,再次启动脚本时将禁用设置代理。
Note
- 配置文件的优先级高于系统代理配置,所以当同时使用了两种方式配置代理,脚本将优先使用配置文件中的代理配置。
- 该设置可通过管理 SD-Trainer Installer 设置中提到的的
settings.ps1
进行修改。
在 SD-Trainer 中可以选择本地已下载的模型,如果没有下载某些用于训练的模型(非融合模型),可以使用download_models.ps1
脚本下载模型。这里也推荐使用 HuggingFace 或者 Civitai 下载模型。
推荐的哔哩哔哩 UP 主:
- 青龙圣者:https://space.bilibili.com/219296
- 秋葉aaaki:https://space.bilibili.com/12566101
- 琥珀青葉:https://space.bilibili.com/507303431 观看这些 UP 主的视频可获得一些训练模型的教程。
其他的一些训练模型的教程:
- https://rentry.org/59xed3
- https://civitai.com/articles/2056
- https://civitai.com/articles/124/lora-analogy-about-lora-trainning-and-using
- https://civitai.com/articles/143/some-shallow-understanding-of-lora-training-lora
- https://civitai.com/articles/632/why-this-lora-can-not-bring-good-result-lora
- https://civitai.com/articles/726/an-easy-way-to-make-a-cosplay-lora-cosplay-lora
- https://civitai.com/articles/2135/lora-quality-improvement-some-experiences-about-datasets-and-captions-lora
- https://civitai.com/articles/2297/ways-to-make-a-character-lora-that-is-easier-to-change-clothes-lora
除了上面的教程,也可以通过哔哩哔哩、Google 等平台搜索教程。
将 SD-Trainer 文件夹中的 lora-scripts 文件夹删除,然后运行 SD-Trainer Installer 重新部署 SD-Trainer。
Note
如果 lora-scripts 文件夹存放了训练集 / 模型文件,请将这些文件备份后再删除 lora-scripts 文件夹。
如果 Python 环境出现严重损坏,可以将 SD-Trainer 文件夹中的 python 文件夹删除,然后运行 SD-Trainer Installer 重新构建 Python 环境。
将 SD-Trainer 文件夹中的 git 文件夹删除,然后运行 SD-Trainer Installer 重新下载 Git。
运行reinstall_pytorch.ps1
脚本,并根据脚本提示的内容进行操作。
使用 SD-Trainer Installer 安装 SD-Trainer 后,所有的文件都存放在 SD-Trainer 文件夹中,只需要删除 SD-Trainer 文件夹即可卸载 SD-Trainer。
直接将 SD-Trainer 文件夹移动到别的路径即可。
SD-Trainer Installer 的管理脚本在启动时会检查管理脚本的更新,如果有新版本可更新将会提示。
可选择下方 4 种方法中的其中 1 个方法进行更新。
当检测到有新版的 SD-Trainer Installer 时,将询问是否进行更新,输入y
并回车后将运行 SD-Trainer Installer 进行更新。
如果遇到更新终止警告,这是因为 SD-Trainer Installer 的管理脚本所在文件夹的名称不是SD-Trainer
,请按照提示修改文件夹名称为SD-Trainer
后再次进行更新。
运行settings.ps1
,选择更新 SD-Trainer Installer 管理脚本
功能进行更新,更新完成后需关闭 SD-Trainer Installer 管理脚本以应用更新。
运行get_sd_trainer_installer.ps1
获取最新的 SD-Trainer Installer 后,返回上一个目录并运行sd_trainer_installer.ps1
。SD-Trainer Installer 在安装过程无报错并完整的运行所有安装流程后,SD-Trainer 的管理脚本将会得到更新。
参考命令的使用的方法进入 SD-Trainer Env,并运行Check-SD-Trainer-Installer-Update
命令进行更新。
如果要禁用更新,可以在脚本同级的目录创建disable_update.txt
文件,这将禁用 SD-Trainer Installer 更新检查。
Warning
通常不建议禁用 SD-Trainer Installer 的更新检查,当 SD-Trainer 管理脚本有重要更新(如功能性修复)时将得不到及时提示。
Note
该设置可通过管理 SD-Trainer Installer 设置中提到的的settings.ps1
进行修改。
SD-Trainer Installer 默认使用了 uv 作为 Python 包管理器,大大加快管理 Python 软件包的速度(如安装 Python 软件包)。
如需禁用 uv,可在脚本所在目录创建一个disable_uv.txt
文件,这将禁用 uv,并使用 Pip 作为 Python 包管理器。
Note
- uv 包管理器对网络的稳定性要求更高,在网络不稳定时可能会出现下载软件包出错的问题,可尝试重新运行,或者禁用 uv,这时将切换成 Pip 作为 Python 包管理器,Pip 在网络稳定性差的情况下不容易出错,但这将降低 Python 软件包的安装速度。
- 当 uv 安装 Python 软件包失败时,将切换至 Pip 重试 Python 软件包的安装。
- 该设置可通过管理 SD-Trainer Installer 设置中提到的的
settings.ps1
进行修改。
运行settings.ps1
,根据提示进行设置管理和调整。
Kohya GUI 也可以用于模型训练。做完环境配置的步骤并将 SD-Trainer Installer 下载下来后,使用代码编辑器(不建议使用 Windows 记事本)编辑sd_trainer_installer.ps1
,搜索以下内容。
$SD_TRAINER_REPO = "https://github.com/Akegarasu/lora-scripts"
找到这行代码后将该行代码改成下面的。
$SD_TRAINER_REPO = "https://github.com/bmaltais/kohya_ss"
python gui.py `$args.ToString().Split()
找到这行代码后将该行代码改成下面的。
python kohya_gui.py `$args.ToString().Split()
Set-Location `"`$PSScriptRoot/lora-scripts/scripts/dev`"
找到这行代码后将该行代码改成下面的。
Set-Location `"`$PSScriptRoot/lora-scripts/sd-scripts`"
Set-Location "$PSScriptRoot/SD-Trainer/lora-scripts/scripts/dev"
找到这行代码后将该行代码改成下面的。
Set-Location "$PSScriptRoot/SD-Trainer/lora-scripts/sd-scripts"
修改完成后保存sd_trainer_installer.ps1
并运行。
Note
Kohya GUI 默认为英文界面,并且启动后默认不会自动调用浏览器打开界面,可以在launch.ps1
所在位置创建一个launch_args.txt
文件并打开,填入以下启动参数。
--inbrowser --language zh-CN
保存后使用launch.ps1
启动 Kohya GUI 时将自动调用浏览器打开界面并设置界面为中文。
Warning
如果通过get_sd_trainer_installer.ps1
下载最新的 SD-Trainer Installer 来更新管理脚本,需要再次编辑sd_trainer_installer.ps1
,按照上方的步骤修改代码,再运行,以保证更新后的管理脚本能够正常的在 Kohya GUI 上运行。
这可能是 Windows 系统中启用了 UTF 8 编码,可以按照下列方法解决。
- 按下
Win + R
键,输入control
后回车启动控制面板。 - 点击
时钟和区域
->区域
- 在弹出的区域设置窗口中点击顶部的
管理
,再点击更改系统区域设置
. - 在弹出的窗口中将
使用 Unicode UTF-8 提供全球语言支持
取消勾选,然后一直点击确定保存设置,并重启电脑。
运行 PowerShell 脚本时出现以下错误。
.\sd_trainer_installer.ps1 : 无法加载文件 D:\SD-Trainer\sd_trainer_installer.ps1。
未对文件 D:\SD-Trainer\sd_trainer_installer.ps1进行数字签名。无法在当前系统上运行该脚本。
有关运行脚本和设置执行策略的详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ .\sd_trainer_installer.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : SecurityError: (:) [],PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
或者右键运行 PowerShell 脚本时闪一下 PowerShell 的界面后就消失了。
这是因为未解除 Windows 系统对运行 PowerShell 脚本的限制,请使用管理员权限打开 PowerShell,运行下面的命令。
Set-ExecutionPolicy Unrestricted -Scope CurrentUser
或者使用自动环境配置脚本解除 Windows 系统对运行 PowerShell 脚本的限制。
尝试将显卡驱动更至最新,确保显卡驱动支持的 CUDA 版本大于或等于 PyTorch 中所带的 CUDA 版本,或者使用reinstall_pytorch.ps1
重装 PyTorch。
Note
Nvidia 显卡驱动下载:https://www.nvidia.cn/geforce/drivers
如果要查询驱动最高支持的 CUDA 版本,可以打开 PowerShell,运行下方的命令。
nvidia-smi
可以看到 PowerShell 中显示的以下信息。
Fri Jun 7 19:07:00 2024
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 552.44 Driver Version: 552.44 CUDA Version: 12.4 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 4060 ... WDDM | 00000000:01:00.0 Off | N/A |
| N/A 51C P0 16W / 95W | 0MiB / 8188MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| No running processes found |
+-----------------------------------------------------------------------------------------+
CUDA Version
后面显示的数字即为显卡驱动支持最高的 CUDA 版本。
在控制台中出现有关 xFormers 的警告信息,类似下面的内容。
WARNING[XFORMERS]: xFormers can't load C++/CUDA extensions. xFormers was built for:
PyTorch 2.2.1+cu118 with CUDA 1108 (you have 2.2.2+cu121)
Python 3.10.11 (you have 3.10.11)
Please reinstall xformers (see https://github.com/facebookresearch/xformers#installing-xformers)
Memory-efficient attention, SwiGLU, sparse and more won't be available.
这是因为 xFormers 所适配的 CUDA 版本和 PyTorch 所带的 CUDA 版本不一致,请运行reinstall_pytorch.ps1
重装 PyTorch。
SD-Trainer 组件缺失,重新运行update.ps1
或者sd_trainer_installer.ps1
进行修复。
运行 SD-Trainer Installer 时出现以下类似的错误。
ERROR: THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE. If you have updated the package versions, please update the hashes. Otherwise, examine the package contents carefully; someone may have tampered with them.
rsa<5,>=3.1.4 from https://mirrors.cloud.tencent.com/pypi/packages/49/97/fa78e3d2f65c02c8e1268b9aba606569fe97f6c8f7c2d74394553347c145/rsa-4.9-py3-none-any.whl#sha256=90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7 (from google-auth<3,>=1.6.3->tensorboard==2.10.1->-r requirements.txt (line 12)):
Expected sha256 90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7
Got b7593b59699588c6ce7347aecf17263295c079efb3677553c2a81b08e857f838
这是因为下载下来的 Python 软件包出现了损坏,Pip 无法进行安装,需要将 SD-Trainer/cache/pip 文件夹删除,再重新运行 SD-Trainer Installer。
检查训练参数是否正确,确认是否选择对应大模型版本的训练参数。
检查训练参数中是否存在中文,如模型文件名是否包含中文等。
检查图片是否有问题,如果是训练 SDXL 的 LoRA,请外挂一个 sdxl_fp16_fix 的 VAE 或者使用 BF16 精度进行训练。
确认显卡的显存大小是否满足训练要求(显存最低要求 > 6G),如果满足,重新调整训练参数。
尝试增加系统的虚拟内存,或者增加内存条。
当 Loss 不为 nan 或者大于 1 时没必要看。想要看练出来的模型效果如何,直接用模型进行跑图测试,Loss 并不能准确的代表训练出来的模型的好坏。
SD-Trainer 默认开启 arb 桶,自动处理不同分辨率的图片,无需手动进行图片裁剪。
启动 SD-Trainer 时出现以下的错误。
ERROR: [Error 13] error while attempting to bind on address ('127.0.0.1', 28000): 以一种访问权限不允许的方式做了一个访问套接字的尝试。
这是因为该端口被其他软件占用,SD-Trainer 无法使用。可尝试将占用该端口的软件关闭,或者在launch.ps1
所在目录创建launch_args.txt
文件,在该文件中写上启动参数把 SD-Trainer 端口修改,如--port 8888
,保存launch_args.txt
文件后使用launch.ps1
重新启动 SD-Trainer。
Note
设置 SD-Trainer 启动参数的方法可参考设置 SD-Trainer 启动参数。
这是因为图片的打标文件的内容为空,请检查报错指出的文件里的内容是否为空,如果为空,需要重新打标。
运行reinstall_pytorch.ps1
脚本重装 PyTorch,选择大于或等于 2.3.0 版本的 PyTorch 进行重装,如果可选的 PyTorch 版本列表缺少大于或等于 2.3.0 版本的 PyTorch,需要对 SD-Trainer Installer 的管理脚本进行更新,方法参看:SD-Trainer Installer ### 更新 SD-Trainer 管理脚本
NotImplemenredError: Cannot cppy out of meta tensor; no data! Please use torch.nn.Module.to_empty() instead of torch.nn.Module.to() when moving module from mera to a different device.
训练使用的模型可能有问题,尝试更换模型。
下载 Microsoft Visual C++ Redistributable 并安装。
使用命令前需要激活环境,有以下 2 种方式激活。
运行terminal.ps1
后将自动打开 PowerShell 并激活 SD-Trainer Env。
在 SD-Trainer 文件夹打开 PowerShell,输入下面的命令激活 SD-Trainer Env:
.\activate.ps1
Note
在 PowerShell 中一定要显示[SD-Trainer Env]
才算进入了环境,这样才能使用下面的命令。
python -m pip cache purge
# 命令中的 <package_name> 替换成具体的 Python 软件包名
python -m pip install <package_name>
# 命令中的 <package_name> 替换成具体的 Python 软件包名
python -m pip install <package_name> -U
# 命令中的 <package_name> 替换成具体的 Python 软件包名
python -m pip install <package_name> --force-reinstall
# 命令中的 <package_name> 替换成具体的 Python 软件包名
python -m pip uninstall <package_name>
推荐使用
python -m pip
的写法,因为pip
的写法可能会带来一些问题。
参考:Deprecate pip, pipX, and pipX.Y · Issue #3164 · pypa/pip
# 命令中的 <package_name> 替换成具体的 Python 软件包名
uv pip install <package_name>
Note
uv 命令的用法可参考:uv docs
git pull --recurse-submodules
# 命令中的 <python_script.py> 替换成要执行的 Python 脚本路径
python <python_script.py>
# 命令中的 <url> 替换成下载链接,<dir> 替换成下载到的路径,<output_file_name> 替换成保存的文件名
aria2c <url> -c -s 16 -x 16 -d <dir> -o <output_file_name>
Update-uv
Update-Aria2
List-CMD
Check-SD-Trainer-Installer-Update
# 列出当前的所有版本
git -C lora-scripts tag
# 运行该命令后将进入 Git 的交互式界面
# 使用 u 键上翻, d 键下翻,或者使用方向键翻页,使用 q 键退出
# 一般 git tag 命令将列出下面类似的输出
# v0.1.0
# v0.2.0
# v1.1.0
# v1.4.0
# v1.6.0
# v1.7.0
# v1.7.3
# ...
# 这是使用 Git Tag 标记的版本,可以使用 Tag 作为版本号进行切换
# 使用 Tag 切换版本
# 命令中的 <Git Tag> 替换成对应的 Tag
git -C lora-scripts reset --hard --recurse-submodules <Git Tag>
# 使用 git log 查看某个提交信息对应的 Hash 值
git -C lora-scripts log
# 这将得到类似的输出信息
# commit 9aace3e94c2c41a44e3df403329abd0518467bf5 (HEAD -> main, tag: v1.9.0)
# Author: Akegarasu <[email protected]>
# Date: Sat Aug 31 22:32:52 2024 +0800
#
# add vae_batch_size
#
# commit 931392e3c90aab20473175c9196d70fcfe039491
# Author: Akegarasu <[email protected]>
# Date: Sat Aug 31 22:31:04 2024 +0800
#
# tagger
#
# commit 后面对应的字符串为该提交信息对应的 Hash 值
# 可以使用该 Hash 切换版本
# 命令中的 <Git Commit Hash> 替换成对应的 Hash 值
git -C lora-scripts reset --hard --recurse-submodules <Git Commit Hash>
# 先下载融合 LoRA 的工具
git clone https://github.com/KohakuBlueleaf/LyCORIS
# 接下来就能进行模型融合了,比如我要融合的 LoRA 模型为 artist_all_in_one_2-000036.safetensors,Stable Diffusion 模型为 animagine-xl-3.1.safetensors,先把这 2 个模型放到当前的文件夹,接下来就可以进行模型融合
python LyCORIS/tools/merge.py animagine-xl-3.1.safetensors artist_all_in_one_2-000036.safetensors licyk_style_v0.1.safetensors --is_sdxl --dtype fp16
# 解释上面命令的意思:
# animagine-xl-3.1.safetensors 为 Stable Diffusion 模型
# artist_all_in_one_2-000036.safetensors 为 LoRA 模型
# licyk_style_v0.1.safetensors 为融合后要保存的模型名称
# --is_sdxl 参数指定了模型类型为 SDXL,如果模型类型为 SD 2.x 则改为 --is_v2,如果模型类型为 SD 1.x 则不需要加参数
# --dtype fp16 指定保存的模型精度为 fp16,常用的模型精度为 fp16、bf16
# 融合完成后在当前文件夹中就可以看到融合好的 Stable Diffusion 模型
# 注意,融合模型需要大于或等于 64G 的内存,如果内存低于这个大小可能会大量使用虚拟内存进行补足,增大硬盘的读写消耗