Stable Diffusion + kohya_ss 的安装教程

Stable Diffusion + kohya_ss 的安装教程

工具简介

  • Stable Diffusion (SD): 开源的文本到图像生成模型,支持通过提示词生成高质量图像,内置自动标注功能(如BLIP、DeepBooru等)。
  • kohya_ss (KS): 基于SD的轻量级微调工具,支持LoRA、DreamBooth等训练方法,优化显存占用与训练效率。

一.SD的安装

对于SD大家可以通过github链接来下载

https://git-scm.com/ Automatic 1111:https://github.com/AUTOMATIC1111

这里提供的链接,下载的SD是最基础的,如果大家想要让他有其他的扩展功能就需要下载相关的插件(后面会写一个关于下载插件的教程请大家持续关注)。

1.准备 Conda 环境
1.1 创建并激活 Conda 环境
# 创建名为 sd-webui 的环境(Python 3.10 推荐,需匹配仓库要求) conda create -n sd-webui python=3.10 -y # 激活环境 conda activate sd-webui
1.2确认 Python 路径

记录当前 Conda 环境的 Python 路径(后续配置需要)

which python # 示例输出:/home/用户名/miniconda3/envs/sd-webui/bin/python
2. 下载仓库代码
# 克隆仓库 git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git cd stable-diffusion-webui #指定下载路径 git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git 你指定的下载路径
3. 配置 webui 以使用 Conda 环境
3.1 编辑配置文件

在 webui-user.sh 中添加 / 修改以下内容(根据实际路径调整):

# 复制默认配置文件(若不存在) cp webui-user.sh webui-user.sh.bak # 备份(可选,不过建议还是备份一下) nano webui-user.sh
3.2 修改关键配置

在 webui-user.sh 中添加 / 修改以下内容(根据实际路径调整):

# 指定 Conda 环境的 Python 路径(替换为步骤 1.2 中获取的路径) python_cmd="/home/用户名/miniconda3/envs/sd-webui/bin/python" # 禁用自动创建虚拟环境(使用 Conda 环境而非 venv) venv_dir="-" # 可选:添加启动参数(如低显存模式) export COMMANDLINE_ARGS="--medvram --opt-split-attention"
3.3 保存并退出

按 Ctrl+O 保存,Ctrl+X 退出编辑器。

4. 安装依赖并启动
4.1 运行安装脚本
./webui.sh

运行完这个命令后该脚本会自动检测 Conda 环境并安装 requirements.txt 和 requirements_versions.txt 中的依赖,针对 PyTorch 适配问题(如 AMD 显卡)会根据 GPU 型号自动设置 TORCH_COMMAND,安装完成后终端将显示访问地址(通常为http://127.0.0.1:7860),用户可通过浏览器直接使用。

下面的图片就是我通过地址访问的SD界面,不过我安装了一些插件,所以你们的可能跟我的长的不一样,但是不会影响使用。

5. 安装好之后的启动步骤
# 每次启动前激活 Conda 环境 conda activate sd-webui # 进入仓库目录并启动 cd stable-diffusion-webui ./webui.sh

这几行代码建议大家写到一个txt文本里面,这样需要用的时候直接复制粘贴进去就可以了。

二.kohya_ss的安装

这个是Kohya_ss的库的下载链接:https://github.com/bmaltais/kohya_ss

方法一:uv 安装
1. 克隆仓库(含子模块)
# 克隆仓库并进入目录 git clone --recursive https://github.com/bmaltais/kohya_ss.git cd kohya_ss
2. 运行安装脚本
# 执行 uv 安装脚本 ./gui-uv.sh
方法二:pip 安装
1. 克隆仓库(含子模块)
git clone --recursive https://github.com/bmaltais/kohya_ss.git cd kohya_ss
2. 安装依赖(可选 Conda 环境)

选项 A:使用系统 Python 或 venv

# 赋予脚本执行权限并运行 setup.sh chmod +x setup.sh ./setup.sh

选项 B:使用 Conda 环境(推荐)

# 创建并激活 Conda 环境(Python 3.11) conda create -n kohyass python=3.11 conda activate kohyass # 运行安装脚本 chmod +x setup.sh ./setup.sh
3. 启动 GUI
# 赋予执行权限并启动 chmod +x gui.sh ./gui.sh

启动后,若看到类似 Running on http://0.0.0.0:7860 的输出,说明安装成功,可通过浏览器访问该地址使用 GUI。

可能出现的问题
1.缺少 python3-tk 依赖包
Skipping git operations. Ubuntu detected. This script needs YOU to install the missing python3-tk packages. Please install with: sudo apt update -y && sudo apt install -y python3-tk

如果出现上面的错误,只需要下载缺失的包就行了,命令如下:

sudo apt update -y && sudo apt install -y python3-tk
2.不支持 socks 协议的代理 URL 
ValueError: Unknown scheme for proxy URL URL('socks://127.0.0.1:7897/')

通过终端配置环境变量

1.确定你的shell是bash还是zsh
在终端执行以下命令,会显示当前 shell 的进程名: echo $SHELL
  • 输出 /bin/bash → 当前默认是 bash
  • 输出 /bin/zsh → 当前默认是 zsh
2.编辑配置文件
bash 用户:nano ~/.bashrc zsh 用户:nano ~/.zshrc
3.添加 HTTP 代理配置
# 设置 HTTP 代理 export http_proxy="http://127.0.0.1:7897" export https_proxy="http://127.0.0.1:7897" 

将最后的“7897”换成你自己的代理地址的端口号,换好之后保存退出就行。

4.生效配置
# bash 用户 source ~/.bashrc # zsh 用户 source ~/.zshrc
5.编辑gui.sh文件
nano gui.sh

在脚本最顶部(第一行 #!/bin/bash 下方)添加这些内容:

#!/bin/bash # 清除可能的残留代理 unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY all_proxy ALL_PROXY # 强制设置 HTTP 代理(按实际端口修改,比如你的代理 HTTP 端口是 7897 就改这里) export http_proxy="http://127.0.0.1:7890" export https_proxy="http://127.0.0.1:7890" export export # 脚本原本的其他内容(保持不变) ...

保存退出

重新运行gui.sh就可以了

./gui.sh

出现以下内容就表明运行成功了

* Running on local URL: http://127.0.0.1:7860 * To create a public link, set `share=True` in `launch()`. ^CKeyboard interruption in main thread... closing server.

Read more

FPGA入门:CAN总线原理与Verilog代码详解

FPGA入门:CAN总线原理与Verilog代码详解

目录 一、CAN 总线核心原理 1. 物理层特性 2. 协议层核心概念 (1)位时序 (2)帧结构(标准数据帧) (3)关键机制 二、FPGA 实现 CAN 的核心模块 三、Verilog 代码实现(以 50MHz 时钟、1Mbps 波特率为例) 1. 全局参数定义 2. 位时序模块(CAN Bit Timing Generator) 3. CRC 计算模块(CAN CRC Generator) 4. 发送模块(CAN Transmitter) 5. 接收模块(CAN Receiver)

FPGA外围电路的PCB原理图设计从零实现路径

FPGA外围电路的PCB原理图设计:从零开始构建可靠系统的实战指南 你有没有遇到过这样的情况?FPGA代码写得滴水不漏,仿真波形完美无瑕,结果一上电——芯片不启动、时钟抖动、I/O电平错乱……最后排查半天,问题居然出在 最基础的原理图设计 上。 这并不罕见。在嵌入式系统开发中,FPGA就像一位才华横溢但要求极高的“演员”,它能否精彩演出,完全取决于背后的“舞台搭建”是否专业——也就是我们常说的 PCB原理图设计 。 很多人把注意力都放在HDL编程和逻辑综合上,却忽视了硬件层面的基础支撑。而事实上, 一个糟糕的电源网络可能让千万级门阵列瞬间失效;一根未匹配的时钟线足以毁掉整个高速接口的稳定性 。 本文将带你从零出发,手把手拆解FPGA外围电路的核心模块,不讲空话套话,只聚焦真实工程中的关键点、坑点与最佳实践。目标只有一个:让你画出的第一张FPGA原理图,就是一张能跑起来、稳得住、可量产的设计。 电源不是随便接几颗LDO就行:FPGA供电到底有多讲究? 先问一个问题:你知道一块Kintex-7 FPGA要多少路独立电源吗?答案是—— 最多可达8种不同电压域 。 别惊讶,这不

2025年睿抗机器人开发者大赛CAIP-编程技能赛-本科组(国赛)解题报告 | 珂学家

2025年睿抗机器人开发者大赛CAIP-编程技能赛-本科组(国赛)解题报告 | 珂学家

前言 题解 2025年睿抗机器人开发者大赛CAIP-编程技能赛-本科组(国赛)解题报告 睿抗一如既往的码量大,喜欢阅读理解挖坑,T_T。 T3 应该是最简单,如果去掉匹配串 2 字节的限制,感觉会是一道有趣的题。 RC-u1 谁拿冠军了? 分值: 15分 考察点:hash表的使用 注意点:明明某一天里,可能存在多个相同操作,需要求其总和,在除 2。 #include<bits/stdc++.h>usingnamespace std;intmain(){int n, m; cin >> n >> m;int A1, A2, B1,

Java 大视界 -- Java 大数据在智能家居环境监测与智能调节中的应用拓展(423)

Java 大视界 -- Java 大数据在智能家居环境监测与智能调节中的应用拓展(423)

Java 大视界 -- Java 大数据在智能家居环境监测与智能调节中的应用拓展(423) * 引言: * 快速上手指南:3 步跑通智能家居 Demo(新手友好) * Step 1:环境准备(必装软件清单) * Step 2:代码运行(按顺序执行) * Step 3:效果验证(用 Postman 模拟数据) * 正文: * 一、智能家居环境监测与调节的核心痛点 * 1.1 设备数据的 “异构化” 困境 * 1.1.1 多源数据的 “协议壁垒” * 1.1.2 数据规模的 “爆发式增长” * 1.2 实时调节的 “滞后性” 痛点 * 1.