kohya_ss

kohya_ss

Stable Diffusion模型训练图形界面工具

kohya_ss是一个开源的Stable Diffusion模型训练工具,提供图形用户界面。用户可以通过界面设置训练参数,生成所需的命令行指令。支持多个操作系统,具备LoRA训练和样本图像生成等功能。该工具简化了Stable Diffusion模型的自定义训练流程,有助于AI图像生成。

Kohya's GUIStable Diffusion训练参数LoRACUDAGithub开源项目

Kohya的图形用户界面

这个仓库主要提供了一个用于Kohya的Stable Diffusion训练器的Gradio图形用户界面。通过社区贡献,它还支持Linux操作系统。目前macOS的支持还不够理想,但在条件允许的情况下可能可以使用。

该图形界面允许你设置训练参数,并生成和运行所需的命令行指令来训练模型。

目录

🦒 Colab

这个Colab笔记本不是由我创建或维护的,但看起来运行良好。源代码可以在这里找到:https://github.com/camenduru/kohya_ss-colab

我要感谢camendutu的宝贵贡献。如果你在使用Colab笔记本时遇到任何问题,请在他们的仓库中报告。

Colab信息
在Colab中打开kohya_ss_gui_colab

安装

Windows

Windows 前置要求

要在Windows系统上安装必要的依赖项,请按照以下步骤操作:

  1. 安装Python 3.10.11

    • 在安装过程中,请确保选择将Python添加到'PATH'环境变量的选项。
  2. 安装CUDA 11.8 toolkit

  3. 安装Git

  4. 安装Visual Studio 2015, 2017, 2019, 和 2022 redistributable

Windows 安装步骤

要设置项目,请按照以下步骤操作:

  1. 打开终端并导航到所需的安装目录。

  2. 通过运行以下命令克隆仓库:

    git clone --recursive https://github.com/bmaltais/kohya_ss.git
  3. 进入kohya_ss目录:

    cd kohya_ss
  4. 运行以下其中一个安装脚本:

    对于只安装了python 3.10.11的系统:

    .\setup.bat

    对于安装了多个Python版本的系统:

    .\setup-3.10.bat

    在accelerate配置步骤中,除非你知道你的硬件需要其他设置,否则请使用配置过程中建议的默认值。GPU的VRAM大小不会影响使用的值。

可选:CUDNN 8.9.6.50

以下步骤是可选的,但会提高NVIDIA 30X0/40X0 GPU用户的学习速度。这些步骤可以实现更大的训练批量大小和更快的训练速度。

  1. 运行.\setup.bat并选择2. (可选)安装cudnn文件(如果你想使用最新支持的cudnn版本)

Linux 和 macOS

Linux 前置要求

要在Linux系统上安装必要的依赖项,请确保满足以下要求:

  • 确保预先安装了venv支持。你可以在Ubuntu 22.04上使用以下命令安装:

    apt install python3.10-venv
  • 按照此链接中提供的说明安装CUDA 11.8 Toolkit。

  • 确保你的系统上安装了Python 3.10.9或更高版本(但低于3.11.0)。

Linux 安装步骤

要在Linux或macOS上设置项目,请执行以下步骤:

  1. 打开终端并导航到所需的安装目录。

  2. 通过运行以下命令克隆仓库:

git clone --recursive https://github.com/bmaltais/kohya_ss.git
  1. 进入kohya_ss目录:
cd kohya_ss
  1. 如果遇到权限问题,通过运行以下命令使setup.sh脚本可执行:
chmod +x ./setup.sh
  1. 执行以下命令运行安装脚本:
./setup.sh

注意:如果需要额外选项或关于runpod环境的信息,可以使用setup.sh -hsetup.sh --help显示帮助信息。

安装位置

Linux上的默认安装位置是脚本所在的目录。如果在该位置检测到之前的安装,安装将在那里继续。否则,安装将回退到/opt/kohya_ss。如果/opt不可写,回退位置将是$HOME/kohya_ss。最后,如果前面的选项都不可行,安装将在当前目录进行。

对于macOS和其他非Linux系统,安装过程将尝试根据脚本运行的位置检测之前的安装目录。如果没有找到之前的安装,默认位置将是$HOME/kohya_ss。你可以在运行安装脚本时使用-d--dir选项指定自定义安装目录来覆盖此行为。

如果选择使用交互模式,accelerate配置屏幕的默认值将是"This machine"、"None"和剩余问题的"No"。这些默认答案与Windows安装相同。

Runpod

手动安装

要安装Runpod所需的组件并运行kohya_ss,请按以下步骤操作:

  1. 选择Runpod pytorch 2.0.1模板。这很重要。其他模板可能无法工作。

  2. SSH进入Runpod。

  3. 运行以下命令克隆仓库:

cd /workspace git clone --recursive https://github.com/bmaltais/kohya_ss.git
  1. 运行安装脚本:
cd kohya_ss ./setup-runpod.sh
  1. 运行GUI:
./gui.sh --share --headless

或者如果你通过runpod配置直接暴露7860端口,则使用:

./gui.sh --listen=0.0.0.0 --headless
  1. 连接到安装过程完成后显示的公共URL。

预构建的Runpod模板

要从预构建的Runpod模板运行,你可以:

  1. 点击https://runpod.io/gsc?template=ya6013lj5a&ref=w18gds2n打开Runpod模板。

  2. 在所需主机上部署模板。

  3. 部署后,通过HTTP 3010连接到Runpod以访问kohya_ss GUI。你还可以通过HTTP 3000连接到auto1111。

Docker

为GPU支持准备Docker

Windows

安装Docker DesktopCUDA ToolkitNVIDIA 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-support

Linux, OSX

如果尚未安装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

我们的Dockerfile设计

  • 要求所有训练数据存储在dataset子目录中,该目录挂载到容器的/dataset
  • 请注意,文件选择器功能不可用。相反,你需要手动输入文件夹路径和配置文件路径。
  • TensorBoard已从项目中分离。
    • Docker镜像中不包含TensorBoard。
    • "启动TensorBoard"按钮已隐藏。
    • TensorBoard从一个独立的容器启动如此处所示
  • 浏览器不会自动启动。你需要手动打开浏览器并导航到http://localhost:7860/http://localhost:6006/
  • 此Dockerfile设计为易于丢弃。你可以随时丢弃容器并使用新的代码版本重新启动。

使用预构建的Docker镜像

git clone --recursive https://github.com/bmaltais/kohya_ss.git cd kohya_ss docker compose up -d

要更新系统,执行docker compose down && docker compose up -d --pull always

本地Docker构建

[!重要]
递归克隆Git仓库以包含子模块:
git clone --recursive https://github.com/bmaltais/kohya_ss.git

git clone --recursive https://github.com/bmaltais/kohya_ss.git cd kohya_ss docker compose up -d --build

[!注意]
构建镜像可能需要长达20分钟才能完成。

要更新系统,切换到新的代码版本并使用docker compose down && docker compose up -d --build --pull always重新构建

如果你在Linux上运行,这里有一个限制较少的替代Docker容器端口可用

ashleykleynhans runpod docker构建

在runpod上运行时,你可能想使用以下仓库:

升级

要将你的安装升级到新版本,请按照以下说明操作。

Windows升级

如果有新版本可用,你可以通过从项目的根目录运行以下命令来升级你的仓库:

  1. 从仓库拉取最新更改:
git pull
  1. 运行安装脚本:
.\setup.bat

Linux和macOS升级

要在 Linux 或 macOS 上升级安装,请按照以下步骤操作:

  1. 打开终端并导航到项目的根目录。

  2. 从存储库拉取最新更改:

    git pull
  3. 刷新并更新所有内容:

    ./setup.sh

启动 GUI 服务

要启动 GUI 服务,您可以使用提供的脚本或直接运行 kohya_gui.py 脚本。使用下列命令行参数来配置底层服务。

--listen: 指定要监听连接 Gradio 的 IP 地址。 --username: 设置身份验证的用户名。 --password: 设置身份验证的密码。 --server_port: 定义运行服务器监听器的端口。 --inbrowser: 在网络浏览器中打开 Gradio UI。 --share: 共享 Gradio UI。 --language: 设置自定义语言

在 Windows 上启动 GUI

在 Windows 上,您可以使用位于根目录的 gui.ps1gui.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

要在 Linux 或 macOS 上启动 GUI,运行位于根目录的 gui.sh 脚本。提供所需的命令行参数如下:

gui.sh --listen 127.0.0.1 --server_port 7860 --inbrowser --share

自定义路径默认值

该存储库现在提供了一个名为 config.toml 的默认配置文件。这个文件是一个模板,您可以根据需要进行自定义。

要使用默认配置文件,请按照以下步骤操作:

  1. 从存储库的根目录复制 config example.toml 文件到 config.toml
  2. 用文本编辑器打开 config.toml 文件。
  3. 根据您的需求修改路径和设置。

这种方法允许您轻松调整配置,以适应您的特定需求,打开 GUI 中支持的每种文件夹/文件输入的所需默认文件夹。

运行 GUI 时,您可以指定 config.toml(或您喜欢的任何其他名称)的路径。例如:./gui.bat --config c:\my_config.toml

LoRA

要训练 LoRA,您目前可以使用 train_network.py 代码。您可以使用全能 GUI 创建 LoRA 网络。

创建 LoRA 网络后,您可以通过安装此扩展使用 auto1111 生成图像。

训练期间的样本图像生成

例如,提示文件可能如下所示:

# 提示 1 masterpiece, best quality, (1girl), in white shirts, upper body, looking at viewer, simple background --n low quality, worst quality, bad anatomy, bad composition, poor, low effort --w 768 --h 768 --d 1 --l 7.5 --s 28 # 提示 2 masterpiece, best quality, 1boy, in business suit, standing at street, looking back --n (low quality, worst quality), bad anatomy, bad composition, poor, low effort --w 576 --h 832 --d 2 --l 5.5 --s 40

# 开头的行是注释。您可以在提示后使用 --n 等选项来指定生成图像的选项。可以使用以下选项:

  • --n:直到下一个选项的负面提示。
  • --w:指定生成图像的宽度。
  • --h:指定生成图像的高度。
  • --d:指定生成图像的种子。
  • --l:指定生成图像的 CFG 比例。
  • --s:指定生成的步骤数。

提示权重如 ( )[ ] 是有效的。

故障排除

如果遇到任何问题,请参考以下故障排除步骤。

页面文件限制

如果遇到与页面文件相关的 X 错误,您可能需要增加 Windows 中的页面文件大小限制。

找不到名为 tkinter 的模块

如果遇到指示找不到模块 tkinter 的错误,请尝试在系统上重新安装 Python 3.10。

TESLA V100 上的 LORA 训练 - GPU 利用率问题

问题摘要

在 TESLA V100 上训练 LORA 时,用户报告 GPU 利用率低。此外,难以指定默认以外的 GPU 进行训练。

潜在解决方案

  • GPU 选择: 用户可以在设置配置中指定 GPU ID 以选择所需的 GPU 进行训练。
  • 提高 GPU 负载: 使用 adamW8bit 优化器并增加批量大小可以帮助实现 70-80% 的 GPU 利用率,而不超过 GPU 内存限制。

SDXL 训练

本节的文档稍后将移至单独的文档中。

掩码损失

每个训练脚本都支持掩码损失。要启用掩码损失,请指定 --masked_loss 选项。

该功能尚未完全测试,可能存在错误。如果发现任何问题,请提出问题。

ControlNet 数据集用于指定掩码。掩码图像应为 RGB 图像。R 通道中像素值 255 被视为掩码(仅对具有掩码的像素计算损失),0 被视为非掩码。像素值 0-255 转换为 0-1(即像素值 128 被视为损失的一半权重)。有关数据集规范的详细信息,请参阅 LLLite 文档

更改历史

请查看发布信息。

编辑推荐精选

音述AI

音述AI

全球首个AI音乐社区

音述AI是全球首个AI音乐社区,致力让每个人都能用音乐表达自我。音述AI提供零门槛AI创作工具,独创GETI法则帮助用户精准定义音乐风格,AI润色功能支持自动优化作品质感。音述AI支持交流讨论、二次创作与价值变现。针对中文用户的语言习惯与文化背景进行专门优化,支持国风融合、C-pop等本土音乐标签,让技术更好地承载人文表达。

QoderWork

QoderWork

阿里Qoder团队推出的桌面端AI智能体

QoderWork 是阿里推出的本地优先桌面 AI 智能体,适配 macOS14+/Windows10+,以自然语言交互实现文件管理、数据分析、AI 视觉生成、浏览器自动化等办公任务,自主拆解执行复杂工作流,数据本地运行零上传,技能市场可无限扩展,是高效的 Agentic 生产力办公助手。

lynote.ai

lynote.ai

一站式搞定所有学习需求

不再被海量信息淹没,开始真正理解知识。Lynote 可摘要 YouTube 视频、PDF、文章等内容。即时创建笔记,检测 AI 内容并下载资料,将您的学习效率提升 10 倍。

AniShort

AniShort

为AI短剧协作而生

专为AI短剧协作而生的AniShort正式发布,深度重构AI短剧全流程生产模式,整合创意策划、制作执行、实时协作、在线审片、资产复用等全链路功能,独创无限画布、双轨并行工业化工作流与Ani智能体助手,集成多款主流AI大模型,破解素材零散、版本混乱、沟通低效等行业痛点,助力3人团队效率提升800%,打造标准化、可追溯的AI短剧量产体系,是AI短剧团队协同创作、提升制作效率的核心工具。

seedancetwo2.0

seedancetwo2.0

能听懂你表达的视频模型

Seedance two是基于seedance2.0的中国大模型,支持图像、视频、音频、文本四种模态输入,表达方式更丰富,生成也更可控。

nano-banana纳米香蕉中文站

nano-banana纳米香蕉中文站

国内直接访问,限时3折

输入简单文字,生成想要的图片,纳米香蕉中文站基于 Google 模型的 AI 图片生成网站,支持文字生图、图生图。官网价格限时3折活动

扣子-AI办公

扣子-AI办公

职场AI,就用扣子

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

堆友

堆友

多风格AI绘画神器

堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。

图像生成AI工具AI反应堆AI工具箱AI绘画GOAI艺术字堆友相机AI图像热门
码上飞

码上飞

零代码AI应用开发平台

零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

下拉加载更多