本地 stable-diffusion-webui v1.3.2 Win虚拟机WSL部署指南及安装注意事项 -20230609-全球播报
WSL + Anaconda + Stable Diffusion + (ControlNet + GroundingDino鸽到下一期吧)
鉴于大家对 stable-diffusion-webui 的学习热度不减, 更新一篇我最近的环境部署,希望能帮助到对AIGC感兴趣的同学。
其实最简单的部署方法,应该是在B站找各路大佬提供的一键整合包。本文只适用于真的对Stable Diffusion感兴趣,想了解整套部署流程的同学。
1.基础概念
介绍必要的关键概念知识
【资料图】
Stable Diffusion: AIGC文生图模型,很火,后文可能简称SD。 基本原理科普可见:
【翻译】How Stable Diffusion Work - 给小白看的StableDiffusion原理介绍 Sparrowfc Sparrowfc - https://zhuanlan.zhihu.com/p/598070109
零基础读懂Stable Diffusion(III):怎么控制 - https://zhuanlan.zhihu.com/p/598070109
Stable Diffusion Webui: 大神开发的基于python gradio的网页前端,集成了很多Stable Diffusion文生图的流程工具,很火。
WSL: Windows Linux子系统, windows下的官方Linux虚拟机工具,用来在Windows系统中跑一个Ubuntu系统用于部署SD webui。
Anaconda: python环境的隔离工具, 防止不同版本python, 不同版本依赖软件包互相干扰。
2.部署方案
介绍整套部署方案的软硬件框架
硬件: 配置一 = i5 1135G7 笔记本 + 外置显卡坞 1080ti + 16G内存 . 配置二 = 11代i7 , 1080ti, 40G内存
软件: Win11 > WSL > Ubuntu-20.04 > anaconda > pytorch - cuda > stable diffusion webui > controlnet - grounding dino
3.部署指南
部署 wsl + gpu驱动工具, 配置anaconda环境, 安装 stable diffusion webui , 安装 sd webui内的插件 controlnet等
注释说明:
(default: XXX.XX) - 本人安装时的软件或驱动版本, 可作为默认参考
(@@在线版@@) - 考虑到国内网络环境, 大部分的能提前下载的内容我都放到网盘了。网络好的同学可以按照在线版的部分, 替换对应安装步骤。
TLDR: 后续所有代码指令在这复制一份, 方便快速ctrl+c ctrl +v
3.0 将网盘内的内容都下载下来
网盘地址:
链接:https://pan.baidu.com/s/1MjoX4pUghUYOR-2UNbAVMA?pwd=wtum
提取码:wtum
3.1 WSL下的Ubuntu虚拟机安装
安装 wsl 的 Ununtu 20.04 虚拟机, 并通过Windows Terminal终端进入虚拟机
平时工作环境更习惯linux, 而且linux下各种环境比较容易配置。 非技术类的同学要有个预期, 后面可能会敲很多指令。
nvidia官网更新显卡驱动(default: 531.79)- 应该都会, 不细讲了
https://www.nvidia.cn/Download/index.aspx?lang=cn
microsoft store 下载安装 Windows Terminal - 后续的指令大多通过这个软件输入
打开 Windows Terminal (可能名字叫 终端,自己试一下), 输入
wsl --update 更新 wsl
wsl -v 查看wsl版本 (default: 1.2.5.0)
microsoft store 下载 Ubuntu 20.04 - 用20.04版本而不用22.04的原因,是22版本大显存下可能存在兼容问题, 我不确定, 可以自行尝试 (default: 20.04.6 LTS)
500多mb要下载, 微软服务器可能抽风, 这里可能比较慢.
下载完成后点击打开
此时弹出窗口, 会开始wsl虚拟机安装流程
输入登陆账号用户名(username)
输入账户的密码, 两遍
完成后虚拟机应该就成功安装了
关闭所有终端窗口, 确保所有窗口已关闭
重新打开 Windows Terminal 终端, 此时上方的小三角可以选择新安装的 Ubuntu 20.04 了
点击即可进入ubuntu系统, 注意此时有两个标签页, 左边 Windows PowerShell 是最初打开的windows系统终端, 右边的tiger@XXXX 是Ubuntu虚拟机内的终端了. 后续执行命令时要分清在哪个终端输入.
可选操作: 如果你的C盘资源比较吃紧, 可以安装后将Ubuntu迁移到别的盘
3.2 CUDA工具包安装
安装虚拟机内的CUDA工具包 ,CUDA是NVIDIA提供的GPU调用工具包 ,用来给显卡分配工作任务
大部分的AI项目都需要调用CUDA工具包进行模型的推理,训练等任务。 这里使用固定版本进行安装, 保证一致性。
(@@在线版@@) CUDA Toolkit 11.7 Downloads - https://developer.nvidia.com/cuda-11-7-0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=WSL-Ubuntu&target_version=2.0&target_type=deb_local
安装解压工具
进入Ubuntu虚拟机终端, 执行
sudo apt install unzip
安装解压软件 unzip.
会提示要输入Ubuntu系统安装时设置的密码.
拷贝+解压 cuda工具包
打开文件资源管理器, 左边应该已经出现了新装的虚拟机的磁盘系统。
在 /home/tiger/ 下新建 cuda 文件夹(此处的tiger为安装时的账户名, 后文不再单独说明)
将网盘内下载的 /2_CUDA_ToolKit/2_CUDA_ToolKit.zip 拷贝到这里(新创建文件夹或者拷贝文件后,看不到,可以尝试右键刷新一下)
再切回Ubuntu终端, 执行
cd ~/cuda 进入刚创建的cuda文件夹
unzip 2_CUDA_ToolKit.zip 解压文件
安装cuda toolkit (default: 11.7)
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
会提示输入密码
sudo dpkg -i cuda-repo-wsl-ubuntu-11-7-local_11.7.0-1_amd64.deb
sudo cp /var/cuda-repo-wsl-ubuntu-11-7-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
//这里我没有配置成国内源,如果这步很慢通不过的同学可以尝试搜索 ’ubuntu20.04 替换国内源’
sudo apt-get -y install cuda
这几步基本都是官方指令, 大概就是配置安装源,安装粘贴过来的软件安装包
会安一大堆的东西, 这里是不是国内网络会造成安装失败我也不确定, 希望评论区回复
Anaconda/Miniconda环境安装
安装Anaconda环境。 Anaconda可以帮助配置虚拟的Python运行环境, 而python又是各类AI项目必不可少的。 Anaconda可以帮助解决各种项目python环境的冲突
(@@在线版@@) https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/
这里我们使用的是Anaconda的精简版Miniconda
拷贝安装脚本
在虚拟机/home/tiger/ 下新建文件夹 conda
将网盘下的 /3_Anaconda/Miniconda3-py310_23.3.1-0-Linux-x86_64.sh 文件拷贝到新建的conda文件夹
安装miniconda
打开Ubuntu虚拟机终端,执行
cd ~/conda
chmod +x Miniconda3-py310_23.3.1-0-Linux-x86_64.sh 配置安装文件权限为允许运行
./Miniconda3-py310_23.3.1-0-Linux-x86_64.sh
会提示要看用户协议, 一路按回车即可
等到没有字了, 按提示输入 yes 回车
然后提示设置安装位置, 不用修改直接回车。
之后会再提示要自动初始化,这里输入yes后回车
等安装好后, 按提示先关闭所有终端窗口, 再打开Ubuntu终端,执行
conda config --set auto_activate_base false 取消默认进入conda环境的设置项(其实这步可有可无)
配置miniconda环境
将网盘下的 /3_Anaconda/.condarc 文件拷贝到Ubuntu虚拟机 /home/tiger/目录下, 文件内写入了国内的软件包下载站
在Ubuntu终端中执行
conda clean -i 清空旧的配置数据, 按提示输入y后回车
conda create -n sd python==3.10 创建一个新的名为 sd 的环境, 继续按提示输入y后回车
这时会开始安装一些基础的软件包, 安装完成后执行
conda activate sd 切换到新建的 sd 环境
注意这一句后续会经常输入, 保存好. 基本上每次关闭终端再打开后都需要输入这句指令
离线安装依赖软件包
大部分需要用到的Python软件包我都进行了离线下载, 方便无科学上网的同学使用。对自己网络有自信的同学可以略过这一步, 不过不推荐。
在虚拟机 /home/tiger/ 目录下新建文件夹 sd (如看不到新建的文件夹的, 右键刷新一下)
将网盘内/4_Python_Packages/下的 pip_package.zip 拷贝到新建的 /home/tiger/sd 目录
在虚拟机终端中执行
cd ~/sd
unzip pip_package.zip 解压压缩包
解压完成后执行(如果没在新建的sd的环境下,输入 conda activate sd , 保证终端显示的用户名前有”(sd)”的标记)
pip install --upgrade pip setuptools wheel 更新一下安装工具
继续执行
pip install --no-index --find-links=~/sd/pip_package ~/sd/pip_package/* 安装软件包
这就完成了软件包的离线安装(这里我将大部分需要的软件包都提前进行了下载, 尽可能避免网络问题)
至此,基本的环境配置就大致完成了
3.4 SD WebUI配置
部署 stable-diffusion-webui 项目, 原项目地址https://github.com/AUTOMATIC1111/stable-diffusion-webui, 通过Python的gradio工具搭建了一个web端的便于使用的图形化工具。 类似于我们平时玩的游戏客户端, 其游戏本身是基于虚幻或者Unity引擎开发的,stable-diffusion-webui 使用的引擎就是 Stability AI 的 stable diffusion. 这个图形化工具依赖了很多第三方的python软件包,大家安装时出现的各种问题,大多都是因为这些复杂的依赖关系,某一个软件包安装失败, 整个项目都跑不起来
项目文件位于网盘 /1_Github_SD_WebUI/stable-diffusion-webui.zip , 拷贝到上面创建的sd文件夹内
在Ubuntu终端执行
cd ~/sd
unzip stable-diffusion-webui.zip
进入解压出的 stable-diffusion-webui 文件夹, 将网盘内的 /1_Github_SD_WebUI/repositories.zip 文件拷贝到这里, 这里是本项目依赖的一些第三方的开源项目
在Ubuntu终端执行
cd ~/sd/stable-diffusion-webui
unzip repositories.zip
将网盘内的 /1_Github_SD_WebUI/v1-5-pruned-emaonly.safetensors 这一 stable diffusion 的官方模型文件拷贝到 sd/stable-diffusion-webui/models/Stable-diffusion文件夹内
将网盘内的 /1_Github_SD_WebUI/webui.sh 文件拷贝到 stable-diffusion-webui 文件夹内, 替换原文件。 然后执行
cd ~/sd/stable-diffusion-webui
chmod +x ./webui.sh
./webui.sh
这里的 webui.sh 只进行了部分代码的注释,从而使用我们配置好的conda的python环境,而不是重新创建python的虚拟环境。可以自行和原项目文件对比。
此时就会开始初始化webui的python代码,因为大部分依赖都离线安装了,因此应该不会耗费太长的时间(可能还会访问一下github的代码库, 如果有卡在这里的同学也可以反馈一下)
至此, 整体的安装就完成了。 在浏览器访问 127.0.0.1:7860 就可以打开sd webui了。
如果想退出程序, 关闭Ubuntu终端, 或者在Ubuntu终端里按Ctrl+c 都可以。 下次想再打开程序时,在Ubuntu终端执行
cd ~/sd/stable-diffusion-webui
conda activate sd
./webui.sh
4. 部署问题QA
最后执行 webui.sh 时提示 Can't load tokenizer for 'openai/clip-vit-large-patch14’ ?
A: 大概率是网络问题, 尝试访问 https://huggingface.co/ 看是否正常, 可以尝试更新dns为 8.8.8.8 或 8.8.4.4 后重启电脑重试
出现 Permission denied?
A: 记得在./webui.sh前执行 chmod +x ./webui.sh
3. 出现 Couldn’t install 某个包 或者 Import 某个包失败之类的问题?
A: 先检查是否在conda环境下 (conda activate sd)
关键词:
上一篇:超好听的qq分组符号(qq分组名称唯美带符号)_当前时讯
下一篇:最后一页
精心推荐
- 如何把旧电脑的数据转移到新电脑上?
- 2023年浙江队主场继续落户湖州
- 医疗器械板块1月10日涨1.48%,春立医疗领涨,北向资金增持3.51亿元_天天头条
- 描写草莓搞笑的句子(精选275句)_当前焦点
- 泛亚微透(688386):泛亚微透关于持股5%以上股东减持比例达到1%的提示性公告
- 今热点:广州检方五年来追偿修复生态、治理环境费用3.39亿元
- 小鲨易贷逾期1天会上征信系统吗
- 【光明图刊】温馨服务护航旅客回家路
- 异质结电池HJT板块1月9日涨0.07%,杭萧钢构领涨,主力资金净流出8.7亿元
- e点贷借款逾期拖欠多久上征信 全球快播报
- 海天味业的成本之压:毛利率连年大降,净利润下行态势能否止住?
- 昌平区普通工伤如何计算_天天资讯
- 热点评!Notion 很好,但我已经换到了钉钉文档
- 时讯:【与时代同梦与梦想同行】秦一(小一姐姐):我愿讲述最美的中国故事
-
1、确保小猫至少八周大,洗澡不适合八周以下的猫。在八周之前,母猫将满足小猫的大部分梳理需求。2、先将小猫的身体弄湿,将小猫放入水槽,防
-
调查:脱贫地区乡村儿童家庭规模平均5人,多为“父养母教”
-
个人分析,玉米长期多头趋势尚难寻踪迹,目前行情应以反弹趋势对待,短期操作谨慎追多。第一,据Mysteel农产品12月29日-1月4日数据,全国146家
-
就是这个味道,而且它不止有玫瑰香,还有奶香,这是一种复合型的味道。一串阳光玫瑰的重量,是可以达到600克的,最大的能达到1 8kg,平均果粒
-
文|阑夕时间过得真快,上次这么醒来点亮手机,还是在去年。有人说刚刚结束的不是2022年,而是2020年的第3季,至于2023会是续订的第4季,还是彻
X 关闭
X 关闭
产业
-
不用跑北京 在家门口也能挂上顶...
日前,我省首个神经疾病会诊中心——首都医科大学宣武医院河北医院...
-
“十四五”期间 河北省将优化快...
从省邮政管理局获悉,十四五期间,我省将优化快递空间布局,着力构...
-
张家口市宣化区:光伏发电站赋能...
3月19日拍摄的张家口市宣化区春光乡曹庄子村光伏发电站。张家口市宣...
-
“张同学”商标被多方抢注 涉及...
“张同学”商标被多方抢注,官方曾点名批评恶意抢注“丁真” ...
-
山东济南“防诈奶奶团”花式反诈...
中新网济南12月15日电 (李明芮)“老有所为 无私奉献 志愿服...
-
广州新增1例境外输入关联无症状...
广州卫健委今日通报,2021年12月15日,在对入境转运专班工作人...
-
西安报告初筛阳性病例转为确诊病例
12月15日10:20,经陕西西安市级专家组会诊,西安市报告新冠病毒...
-
广东东莞新增本土确诊病例2例 ...
(抗击新冠肺炎)广东东莞新增本土确诊病例2例 全市全员核酸检测...
-
中缅边境临沧:民警深夜出击捣毁...
中新网临沧12月15日电 (胡波 邱珺珲)记者15日从云南临沧边境...
-
“土家鼓王”彭承金:致力传承土...
中新网恩施12月15日电 题:“土家鼓王”彭承金:致力传承土家...