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

前端国际化:别让你的应用只懂一种语言

前端国际化:别让你的应用只懂一种语言 毒舌时刻 这应用写得跟方言似的,出了本地就没人懂。 各位前端同行,咱们今天聊聊前端国际化。别告诉我你的应用还只有中文版本,那感觉就像在国际会议上只说方言——能说,但没人懂。 为什么你需要国际化 最近看到一个项目,想拓展海外市场,但所有文本都是硬编码在代码里的。我就想问:你是在做本地应用还是在做国际产品? 反面教材 // 反面教材:硬编码文本 function App() { return ( <div> <h1>欢迎来到我的网站</h1> <p>这是一个示例应用</p> <button>点击我</button> <div>

【Spring Boot开发实战手册】掌握Springboot开发技巧和窍门(十三)前端匹配界面、后端匹配WebSocket

【Spring Boot开发实战手册】掌握Springboot开发技巧和窍门(十三)前端匹配界面、后端匹配WebSocket

前言 在现代 Web 开发中,前端和后端的协作变得越来越重要,特别是在需要实时交互和数据更新的应用场景中。WebSocket 技术作为一种全双工通信协议,使得前端和后端之间的实时数据传输变得更加高效和稳定。本篇博客将会探讨如何设计和实现一个实时匹配系统,其中前端负责展示用户界面并与后端进行交互,而后端则通过 WebSocket 协议来处理数据通信。 前端 onMounted: 当组件被挂载的时候执行的函数 onUnmonted: 当组件被卸载的时候执行的函数 初步调试阶段,我们是将token传进user.id的 store/pk.js: import ModuleUser from'./user'exportdefault{state:{socket:null,//ws链接opponent_username:"",opponent_photo:"",status:"matching",//matching表示匹配界面,playing表示对战界面},getters:

从对话到协作:深度解析 WebMCP —— 开启浏览器端的 AI 智能体新时代

从对话到协作:深度解析 WebMCP —— 开启浏览器端的 AI 智能体新时代

在 2024 年底,Anthropic 推出了 MCP (Model Context Protocol),试图为 AI 模型与外部数据源之间构建一条“通用数据总线”。然而,对于广大的前端开发者和 Web 生态来说,传统的 MCP 更多是在后端或桌面端发力。 2025 年初,由 Google 和 Microsoft 工程师联合发起的 WebMCP 提案正式进入 W3C Web 机器学习社区组(WebML CG)的视野。它标志着 AI 智能体(Agent)正式获得了与 Web 页面进行“结构化对话”的官方绿卡。 本文将为你深度拆解 WebMCP 的前世今生、核心机制以及它将如何重塑前端开发者的技能图谱。 一、 为什么我们需要

前端SSG:静态站点生成的艺术

前端SSG:静态站点生成的艺术 毒舌时刻 前端SSG?这不是给博客用的吗? "我的应用需要动态内容,SSG不适合"——结果首屏加载慢,SEO差, "SSG就是静态HTML,太简单了"——结果构建时间长,数据更新困难, "我用SSR就够了"——结果服务器压力大,响应慢。 醒醒吧,SSG不是简单的静态HTML,而是一种现代化的前端架构! 为什么你需要这个? * 性能优异:静态文件加载快,无需服务器渲染 * SEO友好:所有内容都是静态的,搜索引擎容易收录 * 部署简单:可以部署到任何静态文件服务器 * 安全性高:没有服务器端代码,减少攻击面 反面教材 // 反面教材:纯静态HTML <!DOCTYPE html> <html> <head>