Windows11安装kohya_ss详细步骤(报错、踩坑)

2023-11-07

笔者环境

  • OS:windows11
  • Python:3.10.6
  • CUDA11.6

所需环境

安装kohya_ss

方式一:带有GUI的kohya_ss仓库

1、克隆该项目仓库
地址
该项目为 kohya-ss的sd-scripts提供了一个以 Windows 为中心的 Gradio GUI,可以方便的进行参数的预设。

2、双击项目根目录下的 setup.bat

Warning: Python version 3.10.9 is recommended.
=============================================================
Modules installed outside the virtual environment were found.
This can cause issues. Please review the installed modules.

You can uninstall all local modules with:

deactivate
pip freeze > uninstall.txt
pip uninstall -y -r uninstall.txt
=============================================================
Do you want to continue?

[1] - Yes
[2] - No
# 选择1
Enter your choice (1 or 2): 1

Please choose the version of torch you want to install:
[1] - v1 (torch 1.12.1) (Recommended for best compatibility)
[2] - v2 (torch 2.0.0) (Experimental, faster but more prone to issues)

# 这一步选择1,也就是非torch2.0版本,因为Windows目前(2023-06-04)不支持torch2.0中的一些方法的使用,比如torch.compile。如果选择安装torch2.0,那么在训练过程中可能出现错误:RuntimeError:windows not yet supportted torch.compile
Enter your choice (1 or 2):1

# 等该torch下载完成
Looking in indexes: https://mirrors.cloud.tencent.com/pypi/simple, https://download.pytorch.org/whl/cu116
Collecting torch==1.12.1+cu116
  Downloading https://download.pytorch.org/whl/cu116/torch-1.12.1%2Bcu116-cp310-cp310-win_amd64.whl (2388.4 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╺ 2.4/2.4 GB 6.6 MB/s eta 0:00:05
......
#如果 从github下载xformers时太慢了,此时可以直接关掉这个cmd了
 Downloading https://github.com/C43H66N12O12S2/stable-diffusion-webui/releases/download/f/xformers-0.0.14.dev0-cp310-cp310-win_amd64.whl (184.3 MB)
     ━━━━━━━━━╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 43.7/184.3 MB 28.0 kB/s eta 1:23:47
# 然后,重新进入项目根目录下,通过pip命令手动下载xformers,并且加一个代理,这样我这里十几秒就可以下载完成了
PS D:\AI\sd\kohya_ss> .\venv\Scripts\activate
(venv) PS D:\AI\sd\kohya_ss> pip install -U -I --no-deps https://ghproxy.com/https://github.com/C43H66N12O12S2/stable-diffusion-webui/releases/download/f/xformers-0.0.14.dev0-cp310-cp310-win_amd64.whl
Looking in indexes: https://mirrors.cloud.tencent.com/pypi/simple
Collecting xformers==0.0.14.dev0
  Downloading https://ghproxy.com/https://github.com/C43H66N12O12S2/stable-diffusion-webui/releases/download/f/xformers-0.0.14.dev0-cp310-cp310-win_amd64.whl (184.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━╸━━━━━━━━━━━━━━━━ 110.4/184.3 MB 6.7 MB/s eta 0:00:11
# 等xformers下载完成后关掉当前cmd,再次双击项目根目录下的 setup.bat,之后的两个步骤还和上面一样,都选择 1


In which compute environment are you running?
Please select a choice using the arrow or number keys, and selecting with enter
# 选择第一项(直接回车)
 * This machine
    AWS (Amazon SageMaker)
 Which type of machine are you using?
 
# 选择第一项(直接回车)
Please select a choice using the arrow or number keys, and selecting with enter
 * No distributed training
    multi-CPU
    multi-GPU
    TPU
    MPS

# 选择NO,然后回车
Do you want to run your training on CPU only (even if a GPU is available)? [yes/NO]:NO

# 选择NO,然后回车
Do you wish to optimize your script with torch dynamo?[yes/NO]:NO

# 选择NO,然后回车
Do you want to use DeepSpeed? [yes/NO]: NO

# 输入0,然后回车,也就是使用第一张显卡,如果输入all,可能会在训练过程中报错:ValueError: fp16 mixed precision requires a GPU
What GPU(s) (by id) should be used for training on this machine as a comma-seperated list? [all]:0
------------------------------------------------------------------------------------------------------------------------

# 选择fp16,如果键盘上下键不起作用,则敲数字键盘上的 1,然后回车
Do you wish to use FP16 or BF16 (mixed precision)?
Please select a choice using the arrow or number keys, and selecting with enter
 * no
    fp16
    bf16

3、 NVIDIA 30X0/40X0系列显卡
NVIDIA 30X0/40X0系列显卡可以额外安装 CUDNN 8.6 ,它允许更大的训练批量和更快的训练速度(该作者说:在 4090 GPU 上几乎提高 50%的样本生成速度)。
首先在项目根目录下新建文件夹 cudnn_windows(只用于临时存放下载的依赖库),然后执行以下命令

PS D:\AI\sd\kohya_ss> .\venv\Scripts\activate
(venv) PS D:\AI\sd\kohya_ss> python .\tools\cudann_1.8_install.py
[ ] xformers version 0.0.14.dev0 installed.
[+] bitsandbytes version 0.35.0 installed.
[ ] diffusers version 0.10.2 installed.
[+] transformers version 4.26.0 installed.
[+] torch version 1.12.1+cu116 installed.
[+] torchvision version 0.13.1+cu116 installed.
Checking for CUDNN files in D:\AI\sd\kohya_ss\venv\Lib\site-packages\torch\lib
Copied CUDNN 8.6 files to destination

至此安装完成!

4、运行项目
进入项目根目录下双击gui.bat,等待控制台出现地址http://127.0.0.1:7860/,即可在浏览器中访问该地址进行训练
在这里插入图片描述

方式二:kohya_ss核心仓库

地址
该仓库包含稳定扩散模型的训练、生成和实用脚本。该仓库没有供用户直接使用的GUI界面,而是通过python编码来进行使用。
1、创建python虚拟环境
进入项目根目录下

PS D:\AI\sd\sd-scripts> python -m venv venv
PS D:\AI\sd\sd-scripts> .\venv\Scripts\activate
# 需要更改执行策略
.\venv\Scripts\activate : 无法加载文件 D:\AI\sd\sd-scripts\venv\Scripts\Activate.ps1,因为在此系统上禁止运行脚本。有关
详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ .\venv\Scripts\activate
+ ~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : SecurityError: (:) [],PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

更改执行策略
以管理员身份运行windows的power shell

PS C:\Windows\system32> set-ExecutionPolicy RemoteSigned

执行策略更改
执行策略可帮助你防止执行不信任的脚本。更改执行策略可能会产生安全风险,如 https:/go.microsoft.com/fwlink/?LinkID=135170
中的 about_Execution_Policies 帮助主题所述。是否要更改执行策略?
[Y] 是(Y)  [A] 全是(A)  [N] 否(N)  [L] 全否(L)  [S] 暂停(S)  [?] 帮助 (默认值为“N”): Y
PS C:\Windows\system32>

2、安装依赖库

PS D:\AI\sd\sd-scripts> .\venv\Scripts\activate
# 官方建议安装cuda11.6对应的torch,否则训练过程中会有意想不到的错误产生
(venv) PS D:\AI\sd\sd-scripts> pip install torch==1.12.1+cu116 torchvision==0.13.1+cu116 --extra-index-url https://download.pytorch.org/whl/cu116

# 安装必要依赖包
(venv) PS D:\AI\sd\sd-scripts> pip install --upgrade -r requirements.txt

# 安装xformers
(venv) PS D:\AI\sd\sd-scripts> pip install -U -I --no-deps https://ghproxy.com/https://github.com/C43H66N12O12S2/stable-diffusion-webui/releases/download/f/xformers-0.0.14.dev0-cp310-cp310-win_amd64.whl

# 拷贝一些必要依赖到当前python虚拟环境中
(venv) PS D:\AI\sd\sd-scripts> cp .\bitsandbytes_windows\*.dll .\venv\Lib\site-packages\bitsandbytes\
(venv) PS D:\AI\sd\sd-scripts> cp .\bitsandbytes_windows\cextension.py .\venv\Lib\site-packages\bitsandbytes\cextension.py
(venv) PS D:\AI\sd\sd-scripts> cp .\bitsandbytes_windows\main.py .\venv\Lib\site-packages\bitsandbytes\cuda_setup\main.py

# 选择一些加速训练的配置
(venv) PS D:\AI\sd\sd-scripts> 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)? [yes/NO]:NO
Do you wish to optimize your script with torch dynamo?[yes/NO]:NO
Do you want to use DeepSpeed? [yes/NO]: NO
# 这里输入0,也就是使用第一张显卡
What GPU(s) (by id) should be used for training on this machine as a comma-seperated list? [all]:0
-----------------------------------------------------------------------------------------------------------------------
Do you wish to use FP16 or BF16 (mixed precision)?
# 选择fp16,如果键盘上下键不起作用,则敲数字键盘上的 1,然后回车
Please select a choice using the arrow or number keys, and selecting with enter
 * no
    fp16
    bf16
accelerate configuration saved at C:\Users\/.cache\huggingface\accelerate\default_config.yaml

至此安装完成!

题外话

此外,想创建一个微信群大家交流学习。入群需要遵守规定:
禁止有关包括但不限于政治、色情、宗教类等违法中华人民共和国法律的消息;
禁止广告;
禁止私自加群友;
群友一切的损失由自己承担,应当提高警惕,不要轻信他人!!!
个人微信:INYOURWORLDWITHME(加群备注:AI绘画)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows11安装kohya_ss详细步骤(报错、踩坑) 的相关文章

随机推荐

  • 数据结构(实现不带头结点的链栈)

    链栈 存储结构采用链式存储的栈被称为链栈 优点 提高存储空间的利用率 且不存在栈满溢出的情况 特点 常采用单链表实现 规定所有操作在链表的表头进行 分类 带头结点 不带头结点 代码分块 1 结构体构建 typedef struct Link
  • 定义一个复数类Complex,重载运算符“+”,“-”,“*”,“/”,使之能用于复数的加、减、乘、除。运算符重载函数作为Complex类的成员函数。编写程序,分别求两个复数之和、差、积和商。

    问题描述 定义一个复数类Complex 重载运算符 使之能用于复数的加 减 乘 除 运算符重载函数作为Complex类的成员函数 编写程序 分别求两个复数之和 差 积和商 Input 两个复数 Output 两个复数之和 差 积和商 Sam
  • Chapter1 (1-5)简介

    crx文件是谷歌浏览器的扩展文件 就是插件 真实Dom与虚拟Dom 真实dom很重 虚拟dom较轻 更新真实dom页面会重绘 而更新虚拟dom页面不会重绘 渲染的时候才会更新页面 Jsx JavaScript XML react定义的一种类
  • qt线程调用QAXObject(Excel,word)并传信号

    说明 在线程间使用信号槽进行通信时 需要注意必须使用元数据类型 Qt内生的元数据类型 如int double QString 等 如果要用自己定义的数据类型 需要在connect前将其注册为元数据类型 形式见代码 qRegisterMeta
  • 金融业需要的大模型,是一个系统化工程

    今年年初 在AIGC刚刚开始爆火的时候 我们曾经采访过一位AI领域的专家 当我们提问哪个行业将率先落地大模型时 他毫不犹豫地说道 金融 金融行业场景多 数据多 知识多 这样的 三多 特点让其成为AI大模型发挥价值的天选 与此同时 金融场景专
  • echarts添加点击事件

    echarts柱状图点击事件 最近做echarts柱状图 遇到了两个个问题 此处记录一下 点击柱状图某一个柱体 跳转页面 由于数据差异大 有的柱体很长 有的很短 短的柱体很难点击到 需要设置整个柱形区域都可以点击 页面上有两个标签 切换标签
  • 【满分】【华为OD机试真题2023 JS】学校的位置

    华为OD机试真题 2023年度机试题库全覆盖 刷题指南点这里 学校的位置 知识点数组贪心排序 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 为了解决新学期学生暴涨的问题 小乐村要建所新学校 考虑到学生上学安全问题 需要所有
  • [前端css-2] 实现圆闪烁效果

    前端css 2 实现圆闪烁效果 1 效果展示 效果预览 2 知识点 1 position 相对定位 绝对定位 2 伪类 after before 3 animation 动画 3 源代码
  • 我的世界1.12 Java崩溃,救救孩子!1.12.2游戏崩溃

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Minecraft Crash Report WARNING coremods are present Contact their authors BEFORE contacting forge
  • C语言经典100例题(26)--利用递归方法求5!(通俗易懂)

    目录 题目 问题分析 代码 运行结果 题目 利用递归方法求5 问题分析 函数的递归调用最基本的思想就是 大事化小 5 5 4 5 5 4 3 5 5 4 3 2 5 5 4 3 2 1 每层分离出来最大的那个数 定义一个求阶乘的函数 fac
  • 2023前端面试题及答案整理(浏览器)

    浏览器 cookie 与 本地存储 相关 cookie session localStorage 分别是什么 cookie 是存储在浏览器上的一小段数据 用来记录某些当页面关闭或者刷新后仍然需要记录的信息 用户在输入用户名密码提交给服务端
  • 企业微信网页应用开发 - 消息/事件回调接口

    问题描述 在事件格式 企业微信API中 有这么一句描述 当用户在客户端或管理端进行某种操作后 会回调相应的事件给开发者 通过API进行的操作不会产生回调 高亮那句是我想要的效果 只有用户在微信原生页面上的变更操作才需要及时通知 自己应用上
  • 决策树、随机森林结果可视化

    决策树 随机森林结果可视化 决策树随机森林结果可视化 一 决策树可视化环境搭建 二 决策树可视化的三种方法 第一种 第二种 第三种 三 决策树可视化实例 四 随机森林可视化实例 五 决策树各特征权重可视化 本文测试环境为 python3 一
  • css button阴影效果,css怎么给button设置阴影

    css给button设置阴影的方法 首先创建一个HTML示例文件 然后设置一个button按钮 最后通过给button添加 box shadow 等属性来实现阴影效果即可 本文操作环境 Windows7系统 HTML5 CSS3版 DELL
  • Scene窗口—视图控制栏

    Scene 视图控制栏 在 Scene 视图控制栏中可以选择用于查看场景的各种选项 还可以控制是否启用光照和音频 这些控件仅在开发期间影响 Scene 视图 对构建的游戏没有影响 绘制模式 Draw mode 菜单 绘制模式是 选择描绘场景
  • js弹框带传值父窗口给子框_layui 父页面获取弹窗传递的值 和 父页面传值给子弹窗的方法...

    1 父页面获取子页面 弹窗 的值 现在父页面页面加载方法中定义方法 专门用来获取从子页面的值 document ready function 拿到子窗口中传回的数据 function getChildrenData data console
  • 有奖调研

    桔妹导读 参与滴滴开源问卷调研 前100名有效填写问卷的用户可获得10元滴滴快车出行卡 第99位有效参与问卷的用户可额外获得100元滴滴快车出行卡一张 滴滴开源诚挚邀请您扫码参与开源问卷调研 给我们提出宝贵建议 长按二维码识别 填写问卷 关
  • DOS命令之copy:复制

    DOS 命令 copy 用于将一个文件从一个位置复制到另一个位置 以下是五个示例 说明了如何使用 copy 命令 1 复制文件到另一个目录假设我们有一个名为 test txt 的文件 它位于 C Users username Documen
  • 安全线程的集合

    1 CopyOnWriteArrayList package com kuang unsafe import java util import java util concurrent CopyOnWriteArrayList java u
  • Windows11安装kohya_ss详细步骤(报错、踩坑)

    文章目录 笔者环境 所需环境 安装kohya ss 方式一 带有GUI的kohya ss仓库 方式二 kohya ss核心仓库 题外话 笔者环境 OS windows11 Python 3 10 6 CUDA11 6 所需环境 Python