从零开始实现Stable Diffusion本地部署

devtools/2025/3/28 11:17:28/

1. 依赖安装

文件打包下载地址(Stable Diffusion)

# git : 用于下载源码
https://git-scm.com/downloads/win
# Python 作为基础编译环境
https://www.python.org/downloads/
# Nvidia 驱动,用于编译使用GPU显卡硬件
https://www.nvidia.com/en-us/drivers/
# Cuda 用于编译运行GPU的程序软件
https://developer.nvidia.com/cuda-toolkit-archive
# cuDNN 用于深度神经网络相关大模型的GPU加速库
https://developer.nvidia.com/cudnn-downloads
# Pytorch 用于构建和训练深度学习模型
# pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu128
https://pytorch.org/get-started/locally/

preview(Nightly)

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2. Stable Diffusion安装

# 下载本地网页
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
# 下载模型 Stable-diffusion
https://huggingface.co/stabilityai/stable-diffusion-3.5-large
# 模型放入:stable-diffusion-webui\models\Stable-diffusion
# stable-diffusion-webui 目录下双击 webui.bat 启动

3. 使用体验

浏览器打开 http://127.0.0.1:7860

3.1 基础使用
  • 正向提示词:描述你想要的画面,如:(best quality), 1girl, in a garden, sunlight, flowers, smiling

  • 反向提示词:排除不想要的内容,如:(worst quality, low quality), deformed hands, extra fingers

  • 参数设置:

    • 采样步数(Steps):20~30
    • 图片尺寸(Width/Height):512x512 或 768x768
    • 生成数量(Batch count):1
  • 点击“Generate”生成, 图片保存在 outputs\txt2img-images 文件夹。

3.2 进阶调试
  • 如果显存不足(报错 CUDA out of memory):
    • 降低图片尺寸(如 512x512 → 480x640)
    • 在启动器 → “高级选项” → 勾选 xformers 和 低显存模式
    • 使用优化模型(如 RealisticVision)
    • 在启动命令中添加 --medvram 参数:python launch.py --medvram
  • 安装插件
    在 WebUI 的 Extensions 选项卡 → Available → 点击“Load from URL” → 输入插件 GitHub 地址 → 安装:
    • ControlNet:控制人物姿势/构图
    • Additional Networks:融合多个模型风格
  • 中文汉化
    启动器 → “扩展” → 搜索 zh_CN → 安装汉化包 → 重启 WebUI。

http://www.ppmy.cn/devtools/168889.html

相关文章

计算机技术系列博客——目录页(持续更新)

1.1 博客目录专栏 1.1.1 博客文章导航 计算机技术系列博客——目录页 1.1.2 网页资源整理 2.1 计算机科学理论 2.2 软件工程技术 2.2.1.1 编程语言 Java Java语言基础 (1) Java基础知识总结01——Java基础篇 (2) Java基础知识总结02——集合框架篇 (3) Java基础知识总结03—…

蓝桥杯嵌入式赛道复习笔记5(捕获信号发生器的PWM的波形)

原理框图 代码 cubeMX配置 TIM2,TIM3 代码展示 main(while) HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2, GPIO_PIN_RESET);char buff[20];char buff1[20];char buff2[20];extern TIM_HandleTypeDef htim2;extern TIM_HandleTypeDef htim3;extern uint32_t fre1;extern uint32_t f…

从全局角度回顾Transformer白话版

文章目录 一、Transformer就在你身边二、Transformer基本概念1. 多头注意力机制2. 位置编码3.残差连接 三、Transformer的结构1.纯 Encoder 模型(例如 BERT)2.纯 Decoder 模型(例如 GPT)3.Encoder-Decoder 模型 四、应用案例1.机器…

vue3之写一个aichat---已聊天组件部分功能

渲染聊天数据 这个不必多说,直接从stores/chat中取出聊天列表数据渲染就好,因为前面添加的消息都是按照用户消息、AI助手消息这样添加的,效果如图 但是需要注意每条助手消息的状态,需要根据状态显示不同的图标或不显示图标&…

解决 WSL1 Ubuntu 24.04 更新失败

问题 wsl1 的 Ubuntu 24.04 执行: sudo apt update sudo apt upgrade -y更新过程安装失败, 提示错误: Setting up systemd (xxxx-xxx)... Failed to take /etc/passwd lock: Invalid argument dpkg: error processing package systemd (--configure):installed systemd pack…

MyBatis 学习经验分享

MyBatis 是一个广泛使用的 Java 持久层框架,它为开发者提供了灵活、易用的数据库操作方式。与 Hibernate 等全自动化 ORM(对象关系映射)框架不同,MyBatis 采用了更精细的控制,允许开发者在 SQL 语句和 Java 对象之间进…

【Linux】systemV消息队列和信号量

个人主页~ 消息队列和信号量 一、消息队列1、实现原理2、系统调用接口(一)创建获取一个消息队列(二)控制消息队列(三)发送消息(四)在消息队列中获取数据块 二、信号量1、原理2、系统…

python基础8 单元测试

通过前面的7个章节,作者学习了python的各项基础知识,也学习了python的编译和执行。但在实际环境上,我们需要验证我们的代码功能符合我们的设计预期,所以需要结合python的单元测试类,编写单元测试代码。 Python有一个内…