赞
踩
最近AI绘画很火,所以想在本地部署个环境体验一下。原本打算在Windows下安装,网上有很多教程,也有很多大佬做了整合包,可是我的Windows系统下的显卡驱动版本太低,也没法升级,只能装CUDA9,导致安装torch会出现问题。所以考虑在Ubuntu下安装,参考了几篇文章,所幸也安装成功了。这里记录一下安装过程,以供参考。
我的机器配置:
1.安装cuda
支持安装的cuda版本可以用nvidia-smi命令查看
我的显卡驱动支持的cuda版本最高是11.4,可以在这里下载对应的cuda版本:CUDA Toolkit Archive | NVIDIA Developer。我由于之前安装别的环境,已经装了cuda10.2版本,所以我就直接用这个版本了。可以用nvcc -V查看安装的cuda版本。
2.搭建python虚拟环境
使用miniconda,我之前已经安装了。然后使用conda创建虚拟环境sdwebui,使用的python版本为3.10.9(stable-diffusion-webui用的python版本为3.10.6)。
conda create -n sdwebui python==3.10.9
激活环境
conda activate sdwebui
升级pip并更改默认库包下载地址为清华镜像
- python -m pip install --upgrade pip
- pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
安装torch
在pytorch官网Previous PyTorch Versions | PyTorch
查看对应的cuda支持的torch版本,并且直接拷贝安装命令。
这里是我的cuda版本对应的安装命令。
3.下载并安装stable-diffusion-webui
切换到当前用户目录下,使用git命令下载stable-diffusion-webui源码
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
由于国内github不能稳定连接,所以可以从国内的gitee(码云)下载
git clone https://gitee.com/yiouyou/automatic1111-stable-diffusion-webui.git
打开v2-1_768-ema-pruned.ckpt · stabilityai/stable-diffusion-2-1 at main,下载训练模型。下载完成后,把v2-1_768-ema-pruned.ckpt这个训练模型放入stable-diffusion-webui的models/Stable-diffusion目录下,这个目录专门存放用于生成AI绘图的绘图元素的基础模型库。后续如果在其他网站比如civitai之类的地方下载的ckpt或者safetensors文件也是放在这个文件夹里面。
然后切换到webui目录下,安装依赖
- cd stable-diffusion-webui/
- pip install -r requirements_versions.txt
- pip install -r requirements.txt
安装完成后,启动stable-diffusion-webui
python launch.py
这里要安装很多依赖,并且要git clone相关包和模型文件,需要科学上网,否则会失败。
最终启动成功后如下图所示,会出来一个url
在浏览器打开这个url,如图所示,表示环境部署成功
4.使用stable-diffusion-webui
在左上角的文本框prompt输入提示词,点击Generate,等待数秒钟(我的电脑大概等待15s左右),就会生成一张图。
注意:如果在prompt输入后点击generate无法生成图片,看见黑色小框显示“float 32“之类的关键字,则在webui页面的Settings->StableDiffusion最下面,勾选float32的选项框。接着点击上方的Apply settings应用,然后按F5刷新页面后,即可正常使用。
目前只是初步体验了一下,下一步会继续学习,继续解锁新玩法。
参考:
Ubuntu安装stable-diffusion-webui详细教程 - 知乎
从零开始,手把手教你本地部署Stable Diffusion Webui AI绘画(Win系最新版) - 知乎
其他:
AI绘画咒语tag在线生成器:自己去找对应的tag生成prompt
https://civitai.com:这个里面有很多好看的模型
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。