【AI绘画】Stable Diffusion 本地部署教程!小白必收藏!!

news2024/11/17 19:32:59

******手把手教你入门绘图超强的AI绘画,用户只需要输入一段图片的文字描述,即可生成精美的绘画。给大家带来了全新保姆级教程资料包 (文末可获取) ** ****

1.前言:

最近看Stable Diffusion开源了,据说比Disco Diffusion更快,于是从git上拉取了项目尝试本地部署了,记录分享一下过程~
这里是官网介绍:https://stability.ai/blog/stable-diffusion-public-release

2.必要前提:

  1. 科学上网。很多链接都需要用到。
  2. 显卡的显存需要足够大,至于多大没看到哪有说,反正3g绝对不行

3.部署前准备:

本地化部署运行虽然很好,但是也有一些基本要求

(1)需要拥有NVIDIA显卡,GT1060起,显存4G以上。(已经不需要3080起,亲民不少)

(2)操作系统需要win10或者win11的系统。

MacOS平台本地化请见《如何在mac电脑上运行stable diffusion来做AI绘画》

(3)电脑内存16G或者以上。

(4)最好会魔法上网,否则网络波动,有些网页打不开,有时下载很慢。

(5)耐心,多尝试,多搜索。这个教程我已经重复过2次,因此很多问题基本上都踩坑并写出来了。所以请放心,能跑通的。

我的电脑配置供大家参考,Win10,I7,NVIDIA GT1050 4G,16G

生成一张20step的图大概20-30s(若使用更高性能的电脑,生成速度更快。)

4.使用的项目Stable diffusion WebUI项目

Stable diffusion大家都知道了,是当前最多人使用且效果最好的开源AI绘图软件之一,属于当红炸子鸡了。

不过,stable diffusion项目本地化的部署,是纯代码界面,使用起来对于非程序员没那么友好。

而stable diffusion webui,是基于stable diffusion 项目的可视化操作项目。

通过可视化的网页操作,更方便调试prompt,及各种参数。

同时也附加了很多功能,比如img2img功能,extra放大图片功能等等。
在这里插入图片描述
因此stable diffusion webui项目是很多人部署到本地的首选。

我们本教程就是以stable diffusion webui项目为例来操作的。

二、电脑环境配置

1.安装miniconda

这个是用来管理python版本的,他可以实现python的多版本切换。
下载地址:https://docs.conda.io/en/latest/miniconda.html
在这里插入图片描述
安装时按默认的一路next就行。

2.用管理员权限打开miniconda,输入conda -V 弹出版本号即为正确安装

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

3.配置库包下载环境,加快网络速度(替换下载库包地址为国内的清华镜像站)

执行下面

conda config --set show_channel_urls yes

生成.condarc 文件

在我的电脑/此电脑-C盘-users-你的账号名下用记事本打开并修改.condarc文件。(如我的路径是C:\Users\Administrator。)

把下面的内容全部复制进去,全部覆盖原内容,ctrl+s保存,关闭文件。

channels:
 - defaults
show_channel_urls: true
default_channels:
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
 conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
 msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
 bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
 menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
 pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
 pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
 simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

运行conda clean -i 清除索引缓存,以确保使用的是镜像站的地址。
在这里插入图片描述

4.创建python 3.10.6版本的环境

运行下面语句,创建环境

conda create --name lmd python=3.10.6

系统可能会提示y/n, 输入y,按回车即可。
显示done,那就完成了。

在你的C:\ProgramData\Miniconda3\envs\lmd已经创建了一个新的项目。

5.激活环境

输入conda activate lmd 回车。

6.升级pip,并设置pip的默认库包下载地址为清华镜像。

每一行输入后回车,等执行完再输入下一行,再回车。

python -m pip install --upgrade pip
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

不报错就是完成了。

7.安装git,用来克隆下载github的项目,比如本作中的stable diffusion webui

前往git官网https://git-scm.com/download/win
在这里插入图片描述
下载好后,一路默认安装,next即可。

开始菜单找到git cmd。
打开并输入下面指令。

git --version

查看git的版本,显示了版本号即安装成功。
在这里插入图片描述

8.安装cuda

cuda是NVIDIA显卡用来跑算法的依赖程序,所以我们需要它。

打开NVIDIA cuda官网,https://developer.nvidia.com/cuda-toolkit-archive
(这里有人可能会打不开网页,如果打不开,请用魔法上网。)

你会发现有很多版本,下载哪个版本呢?
在这里插入图片描述
回到一开始的miniconda的小窗,输入nvidia-smi,查看你的cuda版本
在这里插入图片描述
比如我的是12.1的版本,我就下载12.1.0的链接

下载完后安装,这个软件2个G,可以安装在c盘以外的地方。比如D盘。

好了,完成这步,电脑的基础环境设置终于完事了。

下面开始正式折腾stable diffusion了。
注意:如果提示此命令nvidia-smi,非内部命令时,按以下操作
把此路径:C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR,放入到环境变量中
显卡所在路径:
在这里插入图片描述
环境变量位置:
在这里插入图片描述

三、stable diffusion环境配置

1.下载stable diffusion源码

确认你的miniconda黑色小窗显示的是(把stable看成是lmd就行)
在这里插入图片描述
如果不是,则输入D: 按回车。

当然你也可以放在其他你想放的盘的根目录里面。

不建议放在c盘,因为这个项目里面有一些模型包,都是几个G几个G的,很容易你的C盘就满了,其他盘容量在10G以上的就都行。

再来克隆stable diffusion webui项目(下面简称sd-webui)

接着执行

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

注意,现在克隆的本地地址,就是下面经常提到的“项目根目录”。比如,我的项目根目录是D:\stable-diffusion-webui

2.下载stable diffusion的训练模型

地址:https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/tree/main

点击file and versions选项卡,下载sd-v1-4.ckpt训练模型。

(需要注册且同意协议,注册并同意协议之后即可下载)
在这里插入图片描述
注:这个模型是用于后续生成AI绘图的绘图元素基础模型库。

后面如果要用waifuai或者novelai,其实更换模型放进去sd-webui项目的模型文件夹即可。

我们现在先用stable diffusion 1.4的模型来继续往下走。

3.更改训练模型名称

下载好之后,请把模型更名成model.ckpt,然后放置在sd-webui的models/stable-diffusion目录下。比如我的路径是D:\stable-diffusion-webui\models\Stable-diffusion
在这里插入图片描述

4. 安装GFPGAN

这是腾讯旗下的一个开源项目,可以用于修复和绘制人脸,减少stable diffusion人脸的绘制扭曲变形问题
地址:https://github.com/TencentARC/GFPGAN
把网页往下拉,拉到readme.md部分,找到V1.4 model,点击蓝色的1.4就可以下载。
在这里插入图片描述
下载好之后,放在sd-webui项目的根目录下面即可,比如我的根目录是D:\stable-diffusion-webui

4.在miniconda的黑色小窗,准备开启运行ai绘图程序sd-webui

输入

cd stable-diffusion-webui

进入项目的根目录。

切记,一定要进入sd-webui的项目根目录后,才能执行下面的指令,否则会报错。

接着执行

webui-user.bat

然后回车,等待系统自动开始执行。

直到系统提示,running on local URL: http://127.0.0.1:7860

这就代表,你可以开始正式使用AI画画啦~
在这里插入图片描述

注意:

这一步可能经常各种报错,需要耐心和时间多次尝试。

不要关闭黑色小窗,哪怕它几分钟没有任何变化。

如果提示连接错误,可能需要开启或者关闭魔法上网,再重新执行webui-user.bat命令。

如果不小心退出了黑色窗口,则重新点击:开始菜单-程序-打开miniconda窗口,输入

conda activate lmd

并进入sd-webui项目根目录再执行

webui-user.bat

四、开始作画和调试

1.在浏览器,(比如谷歌浏览器),打开http://127.0.0.1:7860(注意,不要关闭miniconda的黑色窗口)

在这里插入图片描述

2.在prompt区域输入相关指令,比如beautiful landscape,然后点击右边的generate,即可生成第一张图片啦。

在这里插入图片描述

3.生成的状态和操作

网页会显示进度条,miniconda的黑色小窗也会显示进度条。

等进度条跑满,就能看到你生成的图啦。

如果不想生成了,可以点击interrupt停止生成,就会返回你目前为止已经生成的图片。(比如你要生成10张,已经生成了3张,点击interrupt,就会返回3张图片)

如果点击skip,就会跳过本张图片的生成,比如你想生成10张图,现在生成第3张,点击skip,第三张就不生成了,直接开始生成第四张,最后返回9张图片。
在这里插入图片描述

4.修改batch count数值,一次性生成多张图片

默认是1,一次性生成1张。

建议一次性生成4张或者以上,这样获得满意的图片概率会大一些,可以最多一次性生成最多100张。
在这里插入图片描述

但写得越大,一次性生成花费的时间越长,假设一张图30秒,设置10张就是300s,5分钟,100张则是3000s,50分钟。

5.好了,那现在就本地化部署完毕了,可以开始愉快地玩耍啦,祝你玩得开心~

五、安装过程中的错误处理

1、新版SD WebUI卡安装Open_Clip解决方法

https://www.bilibili.com/read/cv21253533

2、Stable Diffusion V2-Stability-AI处理

https://gitee.com/jerrylinkun/stable-diffusion-v2-stability-ai?_from=gitee_search

AI绘画所有方向的学习路线思维导图

这里为大家提供了总的路线图。它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。如果下面这个学习路线能帮助大家将AI利用到自身工作上去,那么我的使命也就完成了:
在这里插入图片描述

👉stable diffusion新手0基础入门PDF👈

在这里插入图片描述

👉AI绘画必备工具👈

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末
在这里插入图片描述

👉AI绘画基础+速成+进阶使用教程👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述

👉12000+AI关键词大合集👈

在这里插入图片描述

这份完整版的AI绘画资料我已经打包好,戳下方蓝色字体,即可免费领取!

CSDN大礼包:《全套AI绘画基础学习资源包》免费分享

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1417978.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LaTeX 多样列表:enumitem 宏包

✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心&…

PID校正

一、Introduction to PID Control PID控制是一种应用非常广泛的控制算法。小到控制一个元件的温度,大到控制无人机的飞行姿态和飞行速度等等,都可以使用PID控制。PID(proportion integration differentiation)其实就是指比例,积分&#xff0…

复杂SQL治理实践 | 京东物流技术团队

一、前言 软件在持续的开发和维护过程中,会不断添加新功能和修复旧的缺陷,这往往伴随着代码的快速增长和复杂性的提升。若代码库没有得到良好的管理和重构,就可能积累大量的技术债务,包括不一致的设计、冗余代码、过时的库和框架…

初探 Backstage:快速上手指南

坦白说,虽然我之前阅读过相关文档,但实际上从未亲自尝试运行 Backstage。我一直有种感觉,Backstage 不过是一个开发者门户而非开发者平台。上周在 分享我对平台工程的理解 后,朋友圈中有人提议我写一篇关于 Backstage 入门的文章。…

[BUUCTF 2018]Online Tool(特详解)

这段代码块检查请求中是否设置了HTTP_X_FORWARDED_FOR头部。如果设置了,它将REMOTE_ADDR设置为HTTP_X_FORWARDED_FOR的值。这通常用于处理Web服务器位于代理后面的情况。 如果URL中未设置host参数,它使用highlight_file(__FILE__);来显示PHP文件的源代码…

OpenCV实战:控制手势实现无触摸拖拽功能

前言: Hello大家好,我是Dream。 今天来学习一下如何使用OpenCV来控制手势,瞬间提升操作体验!跨越界限,OpenCV手势控制拖拽功能现身。 一、主要步骤及库的功能介绍 1.主要步骤 要实现本次实验,主要步骤如下…

Django模型(三)

一、1对1关系映射 关系型数据库的强大之处在于各表之间的关联关系。 Django 提供了定义三种最常见的数据库关联关系的方法:多对一,多对多,一对一 一对一关联使用 OneToOneField来定义一对一关系 就像使用其他类型的 Field 一样:…

共享wifi项目怎么分辨是正规还是割韭菜?!

早在前几年数字化经营火热的时候微火就在尝试一种共享方式可以让用户在公共场所可以快捷的免费体验WiFi从而提升实体商户数字化服务,所以就研发出了共享wifi贴项目,而用户则需要扫码即可连接,无需传统的咨询人员输入密码。这种模式在一定程度…

Idea编写mapper.xml文件提示表名和字段

一、连接database 二、setting- > language -> sql Dialects中 的选项设为 mysql就可以了 三、测试

后台管理系统模板搭建/项目配置

1 项目初始化 一个项目要有统一的规范,需要使用eslintstylelintprettier来对我们的代码质量做检测和修复,需要使用husky来做commit拦截,需要使用commitlint来统一提交规范,需要使用preinstall来统一包管理工具。 1.1 环境准备 1…

百度百家号旋转验证码识别代码分享

最近研究了一下图像识别,一直找到很好的应用场景,今天我就发现可以用百度的旋转验证码来做一个实验。没想到效果还挺好,下面就是实际的识别效果。 1、效果演示 2、如何识别 2.1准备数据集 首先需要使用爬虫,对验证码图片进行采…

ES实战回顾

1、你用的集群节点情况? 一个ES集群,18个节点,其中3个主节点,15个数据节点,500G左右的索引数据量,没有单独的协调节点,它的每个节点都可以充当协调功能; 2、你们常用的索引有哪些&a…

SQL注入的剩余类型

除了联合查询注入,报错注入,盲注注入 sql注入还有以下几类🦹🦹🦹🦹🦹 开始填坑 1.UA注入 原理:有些网站会把用户的UA信息写入数据库,用来收集和统计用户…

回归预测 | Matlab实现CPO-LSSVM【24年新算法】冠豪猪优化最小二乘支持向量机多变量回归预测

回归预测 | Matlab实现CPO-LSSVM【24年新算法】冠豪猪优化最小二乘支持向量机多变量回归预测 目录 回归预测 | Matlab实现CPO-LSSVM【24年新算法】冠豪猪优化最小二乘支持向量机多变量回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现CPO-LSSVM【24年…

【JaveWeb教程】(35)SpringBootWeb案例之《智能学习辅助系统》登录功能的详细实现步骤与代码示例(8)

目录 案例-登录和认证1. 登录功能1.1 需求1.2 接口文档1.3 思路分析1.4 功能开发1.5 测试 案例-登录和认证 在前面的课程中,我们已经实现了部门管理、员工管理的基本功能,但是大家会发现,我们并没有登录,就直接访问到了Tlias智能…

Python tkinter (6) —— Listbox控件

Python的标准Tk GUI工具包的接口 tkinter系列文章 python tkinter窗口简单实现 Python tkinter (1) —— Label标签 Python tkinter (2) —— Button标签 Python tkinter (3) —— Entry标签 Python tkinter (4) —— Text控件 Python tkinter (5) 选项按钮与复选框 目录…

LeetCode(2)

目录 概念解释 栈 队列 树 树的概念 结点的分类 有序树 无序树 森林 二叉树 满二叉树 完全二叉树 二叉排序树 平衡二叉树 1.用栈实现队列 解法:双栈 2.字符串解码 解法:栈 3.二叉树的中序遍历 解法一:递归 解法二&#xff…

【干货】【常用电子元器件介绍】【电容】(一)--电容器的种类、命名方法、识别

声明:本人水平有限,博客可能存在部分错误的地方,请广大读者谅解并向本人反馈错误。   顾名思义,电容器就是“储存电荷的容器”,故电容器具有储存一定电荷的能力。就像 一般容器可以装水(或漏水),电容器可以充电(Charge)或放电(Discharge)。…

麒麟系统安装minio_centos8.0安装最新minio_离线安装minio并设置权限_创建桶---minio工作笔记001

https://www.minio.org.cn/?id=18&id=3&id=0&id=11&id=9&spinz=qianfeng&adinfo678=baidu&spinz=qianfeng&adinfo678=baidu%3E 首先去到官网去下载minio,然后 可以看到已经显示的官网,然后再去,右边点击下载 进入下载页面一般都是amd64的版本…

世界坐标系转换为平面地图坐标

将世界坐标系转换为平面地图坐标的方法通常涉及地图投影。地图投影是一种将地球(一个三维球体)上的点转换为平面(二维)地图上的点的方法。 这里介绍几种常见的地图投影方法: 墨卡托投影(Mercator Projectio…