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

JTAG实测波形

JTAG实测波形 * 1.JTAG基础 * 1.1引脚定义 * 1.2 时序 * 1.3 JTAG级联 * 2.JTAG波形 * 2.1 擦flash 波形 * 2.1 烧录flash波形 * 参考文档 1.JTAG基础 1.1引脚定义 信号线方向 (相对于FPGA)全称主要作用TCK输入Test Clock提供同步时钟,所有操作都在其边沿进行TMS输入Test Mode Select控制JTAG状态机的状态转换TDI输入Test Data Input串行数据输入,比特流文件、调试命令等,最终都是通过这根线传输到FPGATDO输出Test Data Output串行数据输出,可以从FPGA读回配置数据、芯片ID、内部寄存器状态或者调试数据。TRST输入 (可选)Test Reset异步复位JTAG接口 ,低电平有效。用于将JTAG的TAP控制器强制复位到一个已知的初始状态。 这几个信号一般内部有上拉电阻。 TRST

揭秘开源无人机核心技术:从ESP32飞控系统到自主飞行创新应用

揭秘开源无人机核心技术:从ESP32飞控系统到自主飞行创新应用 【免费下载链接】esp-droneMini Drone/Quadcopter Firmware for ESP32 and ESP32-S Series SoCs. 项目地址: https://gitcode.com/GitHub_Trending/es/esp-drone ESP-Drone作为基于ESP32系列芯片的开源无人机项目,通过GPL3.0协议开放完整软硬件技术栈,为无人机开发者提供了从底层驱动到上层应用的全栈开发平台。该项目以模块化架构设计为核心,融合传感器融合算法与实时控制系统,实现了低成本、高性能的微型无人机解决方案,广泛应用于教育科研、创客开发和商业应用等领域。 一、技术解析:开源无人机系统的架构与原理 构建模块化控制系统:从硬件驱动到算法实现 无人机系统的稳定性依赖于层次分明的模块化架构,ESP-Drone项目通过清晰的代码组织结构实现了功能解耦与复用。系统核心分为三大层级:核心控制层负责姿态解算与控制算法,硬件驱动层实现传感器与执行器接口,应用接口层提供用户交互与扩展能力。 核心代

【Web3】NFT 元数据去中心化存储与智能合约集成实战

【Web3】NFT 元数据去中心化存储与智能合约集成实战

在开发非同质化代币(NFT)项目时,资产数据的安全性与不可篡改性是核心考量指标。为防止底层数据受到中心化机构的人为干预,业界普遍采用去中心化网络来托管核心资产。本文将结合实际工程流,深入探讨 NFT 元数据(Metadata)的存储逻辑,并提供与之匹配的智能合约集成方案。 笔记来自:17小时最全Web3教程:ERC20,NFT,Hardhat,CCIP跨链_哔哩哔哩_bilibili,十分推荐大家学习该课程! 目录 一、 深入解析通证生态与 NFT 元数据机制 1. 通证生态解析 2. NFT构建与元数据机制 二、 以太坊存储困境与去中心化网络选型 三、 基于 IPFS 的元数据(Metadata)构建流 四、 智能合约集成与 Remix 快捷部署 一、 深入解析通证生态与 NFT 元数据机制 1. 通证生态解析 资产在区块链上的数字化表达主要分为同质化通证与非同质化通证。