当前位置: 首页 > article >正文

【 模型】 开源图像模型Stable Diffusion入门手册

开源图像模型Stable Diffusion入门手册

    • 引言
    • 硬件要求
    • 环境部署
      • 手动部署
      • 整合包
    • 模型装配
    • 更新
    • 显存优化
    • 插件配置
    • 文生图最简流程
    • 提示词使用技巧
    • 结语


引言

Stable Diffusion是一款在2022年发布的深度学习文字到图像生成模型。它能够根据文字描述生成详细的图像,并且在几秒钟内创作出令人惊叹的艺术作品。本文将为你提供一份使用Stable Diffusion的入门教程。

硬件要求

  • 内存: 建议使用不少于16GB的内存。
  • 硬盘空间: 需要60GB以上的空间。
  • 显卡: 推荐使用NVIDIA显卡(CUDA架构),虽然已有对AMD显卡的支持,但速度较慢。

环境部署

手动部署

  1. 安装Python: 安装Python 3.10,并确保在安装时选中“Add Python to PATH”。
  2. 安装Git: 从git-scm.com下载并安装Git。
  3. 克隆仓库:
    • 按下Win+R,输入cmd,调出命令行窗口。
    • 运行以下命令克隆Stable Diffusion WebUI的GitHub仓库:
      cd path_to_clone
      git clone https://github.com/automatic1111/stable-diffusion-webui.git
      
    • path_to_clone替换为你希望下载的目录。

整合包

如果你觉得手动部署麻烦,可以使用整合包,解压即用。例如,独立研究员的空间下经常更新整合包,秋叶的启动器也非常好用。

模型装配

  1. 下载模型: 在如Civitai上下载标注有ckpt的模型。
  2. 放置模型: 将下载的模型放入models/stable-diffusion目录。
  3. 运行WebUI: 双击运行webui-user.bat。脚本会自动下载依赖,等待一段时间后,程序会输出一个类似http://127.0.0.1:7860/的地址,在浏览器中输入这个链接即可。

更新

  1. 更新仓库:
    • 按下Win+R,输入cmd,调出命令行窗口。
    • 运行以下命令更新仓库:
      cd path_to_clone
      git pull
      
    • path_to_clone替换为你下载仓库的目录。

显存优化

根据显卡实际显存选择优化量,不要超过当前显卡显存。建议开启xformers以改善内存消耗和速度。

插件配置

Stable Diffusion可配置大量插件扩展,在WebUI的“扩展”选项卡下,可以安装插件。

文生图最简流程

  1. 选择模型: 选择需要使用的模型(底模)。
  2. 填写提示词: 在第一个框中填入提示词(prompt),对想要生成的东西进行文字描述。
  3. 填写负面提示词: 在第二个框中填入负面提示词(negative prompt),描述你不想要生成的内容。
  4. 选择参数: 选择采样方法、采样次数、图片尺寸等参数。
  5. 生成图像: 点击“生成”按钮,等待图像生成。

提示词使用技巧

  • 自然语言: 使用描述物体的句子作为提示词。
  • 单词标签: 使用逗号隔开的单词作为提示词。
  • Emoji和颜文字: Emoji表情符号也非常准确。
  • 语法: 根据自己想画的内容写出提示词,多个提示词之间使用英文半角符号[ , ]。

结语

Stable Diffusion是一款功能强大的图像生成模型,通过合理的配置和使用,可以创作出高质量的图像作品。


http://www.kler.cn/a/404154.html

相关文章:

  • 《操作系统》实验内容 实验二 编程实现进程(线程)同步和互斥(Python 与 PyQt5 实现)
  • 3-22 ElementPlus:表单
  • 实验室管理效率提升:Spring Boot技术的力量
  • 同三维T80004EHU 高清HDMI/USB编码器
  • SpringBoot - spring.profiles.active最佳实践
  • 【Linux实践2】实验四:存储管理
  • 实时数仓:Lambda架构和Kappa架构有什么联系和区别
  • 点餐管理系统设计与实现(Java+SpringBoot+MySql)
  • quick 2 — qml 与c++的混合编程
  • 熟悉的 Docker,陌生的 Podman
  • undefined 和 null 区别?
  • Linux 系统下的硬件视频加速
  • MyBatis实践:提高持久化层数据处理效率
  • 1、HCIP之RSTP协议与STP相关安全配置
  • Android App获取自己的公网IP地址
  • Elasticsearch面试内容整理-实践与应用场景
  • ComfyUI绘画|Stable Diffusion原理的简易讲解
  • 2024年亚太地区数学建模C题完整思路
  • “闲置经济”成新消费趋势,万物新生长期成长性如何?
  • 早期超大规模语言模型的尝试——BLOOM模型论文解读,附使用MindSpore和MindNLP的模型和实验复现
  • B树的简单实现
  • DAY4 网络编程(广播和多线程并发)
  • shell(6)之for循环
  • React可以做全栈开发吗
  • atob()为啥明明表示base64toASCII却叫atob?(2)
  • AIX下crs-5005 ip address is aready in use in the network的解决办法