搭建Stable Diffusion WebUI详细过程

news2024/7/6 19:12:20

文章目录

  • 1、环境搭建
    • 1.1、GPU服务器选择
    • 1.2、配置服务器环境
  • 2、源码和模型下载
  • 3、安装依赖库文件
  • 4、运行项目
  • 5、视频教程

1、环境搭建

为了方便,这里直接选择Vultr提供的已安装Anaconda的Ubuntu 22.04系统。

如果你自己电脑有足够的显存,你也可以在自己电脑上搭建,因为我电脑只有2GB显存和8GB运行内存,所以完全不够用,我就选择云端搭建。

如果你也是想快速搭建,你也可以选择云端搭建,这里推荐我知道的两个不错的GPU平台,一个是AutoDL,还有一个是Vultr。其中AutoDL是国内的,它比较便宜,目前已知最低是0.78/h,并且可选的配置比较多,当然也有缺点,缺点就是不能开放端口,虽然是root账号,但是很多限制。Vultr是国外的供应商,它的费用比较贵,但优势是自由度高。

这是使用Vultr来演示。

1.1、GPU服务器选择

点击这里跳转到Vultr

我们选择Cloud GPU,默认选择Nvidia A100。

然后Location默认即可,当然你也可以选择你喜欢的Location。

然后是Server image推荐选择Anaconda或者Miniconda镜像。注意不要选择CentOS系统,使用CentOS系统搭建会有很多环境上的问题,并且这里官方也不推荐使用该系统。

image-20230506105145170

接下来是选择GPU的大小,这里我选择的是8GB的显存。

最后记得把Auto Backups给取消掉,减少不必要的扣费。

image-20230506111044394

最后点击Deploy Now即可。

1.2、配置服务器环境

执行下面的两个命令

apt-get update
apt-get upgrade

2、源码和模型下载

创建一个目录存储源码

cd /opt
mkdir sd
cd sd

克隆源码到服务器上

点击这里跳转到源码处

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

下载模型到指定的位置,这里下载到stable diffusion webui源码的中models/Stable diffusion目录中。

点击这里跳转到模型下载处

这里只下载v1-5-pruned-emaonly.safetensors即可。

cd /opt/sd/stable-diffusion-webui/models/Stable-diffusion
wget -c https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.safetensors

3、安装依赖库文件

创建虚拟环境

cd /opt/sd/stable-diffusion-webui
conda create -n ChatGLM python=3.10

激活虚拟环境

conda activate ChatGLM

我们在虚拟环境中安装依赖库。

修改requirements.txt,在末尾添加xformers

vim requirements.txt

执行下面的命令

pip install -r requirements_versions.txt
pip install -r requirements.txt

在执行上面的命令中可能会有报错,先不要管它。

修改webui.sh文件,因为默认是不允许使用root用户运行的,所以这里我把它修改成允许使用root用户允许webui.sh脚本。

vim webui.sh

修改前

can_run_as_root=0

修改后

can_run_as_root=1

当然如果你是在非Linux系统上运行,那么你就不用修改webui.sh脚本文件了,如果你是在Windwos系统运行,执行的是webui.bat脚本。

安装cuda-toolkit

conda install -c "nvidia/label/cuda-11.8.0" cuda-toolkit
python3 -m pip install nvidia-cudnn-cu11==8.7.0.84
mkdir -p $CONDA_PREFIX/etc/conda/activate.d
echo 'CUDNN_PATH=$(dirname $(python -c "import nvidia.cudnn;print(nvidia.cudnn.__file__)"))' >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CONDA_PREFIX/lib/:$CUDNN_PATH/lib' >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
source $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh

4、运行项目

最后我们就可以使用下面的命令来启动项目了。通过下面的命令启动默认是使用7860端口,所以你需要提前把7860端口开放。

ufw allow 7860/tcp
./webui.sh --listen

也可以使用下面的命令来启动项目。

./webui.sh --share

通过上面的这种方式会自动给你返回一个域名,可以复制域名直接在浏览器中访问。

5、视频教程

如果你喜欢观看视频,那么你可以点击这里。

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

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

相关文章

Nacos Config 配置帐号密码加密后,注入过程中如何解密?

背景 线上项目规定不能在配置文件中出现帐号、密码的明文信息,所以必须加密。 引入 Nacos Config 配置后,Nacos Config 帐号密码、加密,服务注册发现也用相同的 nacos 帐号密码,那么如何解密才能保证 Nacos Config 服务能够正确…

【C语言】typedef关键字

文章目录 一. 使用介绍1. 对一般类型进行重命名2. 对结构体类型进行重命名3. 对指针进行重命名4. 对数组进行重命名 二. typedef 和 #define 的区别 一. 使用介绍 typedef 的作用就是对类型进行重命名,具体作用在以下几个方面: 对一般类型进行重命名对…

IP协议的相关特性

IP协议的相关特性 🔎地址管理动态分配NATIPv6 🔎IP 地址的组成网络主机号的划分IP 地址分类(A, B, C, D, E)子网掩码特殊的 IP 地址 🔎路由选择 图片来自网络 🔎地址管理 IP地址, 本质上是一个32位的整数 通常会把32位的整数, 转…

基于ChatGLM-Med与HuaTuo的微调部署

文章目录 ChatGLM-Med推理过程微调过程 HuaTuo配置环境模型下载推理过程微调过程 如何基于领域知识对类ChatGPT模型进行微调,以提升类ChatGPT模型在领域的问答效果? 有下面两个模型,一起来看看微调后的效果如何。 ChatGLM-Med: 基于中文医学知…

2023亚马逊云科技研究,数字化技能为中国企业和员工带来经济效益

在中国,信息技术在个人、企业和宏观经济层面都推动着重大变革。为了研究这些变化所带来的影响,盖洛普咨询公司(Gallup)和亚马逊云科技开展了关于数字化技能的调研。 研究表明,数字化技能正在为中国企业和在职人员带来巨大的经济价值&#x…

【Python】贪吃蛇 —— 无聊必备的小项目

作者主页:爱笑的男孩。的博客_CSDN博客-深度学习,活动,YOLO领域博主爱笑的男孩。擅长深度学习,活动,YOLO,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域.https://blog.csdn.net/Code_and516?typecollect个人…

【python】keras包:深度学习( RNN循环神经网络 Recurrent Neural Networks)

RNN循环神经网络 应用: 物体移动位置预测、股价预测、序列文本生成、语言翻译、从语句中自动识别人名、 问题总结 这类问题,都需要通过历史数据,对未来数据进行预判 序列模型 两大特点 输入(输出)元素具有顺序关系…

透过金瑞基金一季度运营报告,看满帮创新故事背后的长期价值

投资中国市场该投哪些行业、哪些公司?在投资界,KraneShares金瑞基金长期致力于为这个问题提供答案。中概投资者都十分熟悉的KWEB——中概互联网指数ETF,就来自金瑞基金。 近日,金瑞基金发布了2023年第一季度运营报告,…

入门款但配置高 极米投影仪Z6X Pro轻松打造家庭影院

近年来,智能投影仪凭借大屏沉浸式体验以及使用场景灵活多变的便利性深受消费者欢迎。现如今,智能投影仪既能替代电视的职能,也能灵活融入小居室、出租屋等生活场景,顺理成章成为年轻人的“潮品”。京东电器2022年发布的《年轻人潮…

BetaFlight统一硬件配置文件研读之dma命令

BetaFlight统一硬件配置文件研读之dma命令 1. 源由2. 代码分析2.1 cliDma2.2 showDma2.3 cliDmaopt 3. 实例分析4. 配置情况4.1 dma4.2 dma show4.3 dma device list4.4 dma pin list4.5 dma device id4.5.1 dma adc id4.5.2 dma TIMUP id4.5.3 dma pin id 4.6 dma device id s…

BI技巧丨计算组单位切换

PowerBI自带的数据显示单位有千、百万、十亿等,很明显这些数据单位有些时候是不太符合国人的使用习惯的。 在计算组出来之前,我们习惯利用配置表的方式,将这种数据单位转换为符合我们习惯的方式;在计算组出来之后,我们…

石油化工企业防雷工程应用解决方案

随着现代石油化工行业的不断发展,防雷工程的重要性也越来越凸显。在石油化工行业中,防雷工程是一项至关重要的工作,因为石油化工行业常常面临雷电等自然灾害的威胁,这些灾害可能导致严重的安全事故和经济损失。石化企业其生产过程…

Word处理控件Aspose.Words功能演示:使用 C# 在 Word 文档中创建和修改 VBA 宏

Aspose.Words 是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。此外, Aspose API支持流行文件格式处…

Vue版本2+模拟VueRouter的history模式

文章目录 分步骤实现创建 VueRouter 类创建静态方法,实现 install实现构造函数实现 createRouteMap实现 initComponents 方法 - router-link实现 initComponents 方法 - router-view实现 initEvents 完整代码 分步骤实现 创建 VueRouter 类 /*** VueRouter Class*…

RHEL软件包管理

3.1 RHEL软件包管理 完善的软件包管理机制对于操作系统来说是非常重要的,没有软件包管理器,用户使用操作系统将会变得非常困难,也不利于操作系统的推广。用户要使用Linux,需要了解Linux的包管理机制。随着Linux的发展&#xff0…

初识Vue-数据

目录 响应式 data prop 单向数据流 Prop属性校验 计算属性(computed) 侦听器(watch) 数组操作 数组操作-解决方案 响应式 data data为什么是函数? 因为只有返回一个生成data的函数,这个组件产生的…

精妙绝伦的算法之舞:解密力扣“删除有序数组中的重复项”

本篇博客会讲解力扣“26. 删除有序数组中的重复项”这道题,这是题目链接。 老规矩,先来审题: 题目有对判题标准的详细解释: 接下来是2个示例: 还有提示: 其实这道题考察的是“去重算法”,即…

【Linux】基础IO_文件描述符与重定向

环境:centos7.6,腾讯云服务器Linux文章都放在了专栏:【Linux】欢迎支持订阅 相关文章推荐: 【Linux】冯.诺依曼体系结构与操作系统 【C/进阶】如何对文件进行读写(含二进制)操作? 【Linux】基础…

SuperMap GIS基础产品WebGIS FAQ集锦(2)

SuperMap GIS基础产品WebGIS FAQ集锦(2) 【iClient】Vue中该如何使用inject传递Map容器? 【解决方案】provide和inject绑定是不可响应的,所以传递时需要传递对象的property,使它变为可响应,示例如下&#…

为什么选择云计算

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和…