stable diffusion webui 安装部署(linux系统)

news2024/11/26 4:48:28

文中部署stable diffusion webui所使用的机器是腾讯云服务器linux系统,centos7

一 环境准备

在这里使用anaconda安装,优势就是可以方便地安装和管理软件包,同一系统上可以同时使用不同版本的 Python 和第三方软件包。如果你需要安装多个系统,而且依赖软件版本不同,那就安装anaconda吧。

1、下载Anaconda

wget https://repo.anaconda.com/archive/Anaconda3-2023.03-1-Linux-x86_64.sh

如果没有wget则可以通过以下命令安装yum install wget -y

2、安装Anaconda

增加执行权限: chmod +x Anaconda3-2023.03-1-Linux-x86_64.sh

开始执行:./Anaconda3-2023.03-1-Linux-x86_64.sh

跟着提示来做,让回车就回车,让yes就yes,安装成功后会显示如下提示

3、创建Stable Diffusion虚拟环境

在使用 Conda 管理 Python 环境时,默认情况下会创建一个名为 base 的虚拟环境,该环境是全局共享的,即在该环境下安装的 Python 包和库都会对系统上的其他所有虚拟环境和全局环境可见。

如果不进行设置,重新启动就变成下面这个样子

(base) [root@VM-0-4-centos ~]#

为了清晰,也为了后面再部署其他的AI应用,我们给Stable Diffusion创建单独的虚拟环境。

创建虚拟环境:conda create -n sd python=3.10.6


查看环境列表:conda evn list 

 安装git

conda install git

查看git版本号

二: stable-diffusion-webui 安装部署

1、下载代码stable-diffusion-webui

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

2、启动webu.sh

切换到 stable-diffusion-webui目录

方法一: 运行 bash webui.sh如果是root用户,需要注释掉webui.sh中关于root权限的判断。

 方法二:root用户还可以直接运行 bash webui.sh -f

三:常见报错信息

接下来就是解决报错信息了。

1、ERROR: This script must not be launched as root, aborting...

启动时候加个参数: bash webui.sh -f 这样就可以以root启动了。

如果嫌麻烦可以修改 webui.sh脚本代码

2、No matching distribution found for torch==2.0.1

Collecting torch==2.0.1

Could not find a version that satisfies the requirement torch==2.0.1 (from versions: 1.0.0, 1.0.1, 1.0.1.post2, 1.1.0, 1.2.0, 1.3.0, 1.3.1, 1.4.0, 1.5.0, 1.5.1, 1.6.0, 1.7.0, 1.7.1, 1.8.0, 1.8.1, 1.9.0, 1.9.1, 1.10.0, 1.10.1, 1.10.2)

No matching distribution found for torch==2.0.1

You are using pip version 9.0.3, however version 23.1.2 is available.

You should consider upgrading via the 'pip install --upgrade pip' command.

Traceback (most recent call last):

File "launch.py", line 38, in <module>

main()

File "launch.py", line 29, in main

prepare_environment()

File "/home/sdui/stable-diffusion-webui/modules/launch_utils.py", line 254, in prepare_environment

run(f'"{python}" -m {torch_command}', "Installing torch and torchvision", "Couldn't install torch", live=True)

File "/home/sdui/stable-diffusion-webui/modules/launch_utils.py", line 101, in run

raise RuntimeError("\n".join(error_bits))

RuntimeError: Couldn't install torch.

Command: "/home/sdui/stable-diffusion-webui/venv/bin/python3" -m pip install torch==2.0.1 torchvision==0.15.2 --extra-index-url https://download.pytorch.org/whl/cu118

Error code: 1

问题排查:

1、pip版本不对,导致下载文件报错

conda中默认带的旧版本pip,更换为pip3

卸载:conda uninstall pip

安装:conda install -c anaconda pip

然后运行:bash webui.sh

2、如果无法自动完成下载安装,可以手动进行安装

查看下CUDA版本版本

 

nvidia-smi

cat /usr/local/cuda/version.txt

手动选择版本 https://pytorch.org/get-started/locally/

选择好对应的版本,conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia

运行之后,就开始进入各种依赖的下载

3、git版本太低

解决方案:conda install git

[notice] To update, run: pip install --upgrade pip

Installing gfpgan

Installing clip

Installing open_clip

Cloning Stable Diffusion into /app/stable-diffusion-webui/repositories/stable-diffusion-stability-ai...

Traceback (most recent call last):

File "/app/stable-diffusion-webui/launch.py", line 38, in <module>

main()

File "/app/stable-diffusion-webui/launch.py", line 29, in main

prepare_environment()

File "/app/stable-diffusion-webui/modules/launch_utils.py", line 288, in prepare_environment

git_clone(stable_diffusion_repo, repo_dir('stable-diffusion-stability-ai'), "Stable Diffusion", stable_diffusion_commit_hash)

File "/app/stable-diffusion-webui/modules/launch_utils.py", line 150, in git_clone

run(f'"{git}" -C "{dir}" checkout {commithash}', None, "Couldn't checkout {name}'s hash: {commithash}")

File "/app/stable-diffusion-webui/modules/launch_utils.py", line 101, in run

raise RuntimeError("\n".join(error_bits))

RuntimeError: Couldn't checkout {name}'s hash: {commithash}.

Command: "git" -C "/app/stable-diffusion-webui/repositories/stable-diffusion-stability-ai" checkout cf1d67a6fd5ea1aa600c4df58e5b47da45f6bdbf

Error code: 129

stderr: Unknown option: -C

usage: git [--version] [--help] [-c name=value]

[--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]

[-p|--paginate|--no-pager] [--no-replace-objects] [--bare]

[--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]

<command> [<args>]

4、报错:libGL.so.1: cannot open shared object file: No such file or directory

解决方案:yum install mesa-libGL

Python 3.10.9 (main, Jan 11 2023, 15:21:40) [GCC 11.2.0] Version: v1.3.2 Commit hash: baf6946e06249c5af9851c60171692c44ef633e0 Cloning Taming Transformers into /app/stable-diffusion-webui/repositories/taming-transformers... Cloning K-diffusion into /app/stable-diffusion-webui/repositories/k-diffusion... Cloning CodeFormer into /app/stable-diffusion-webui/repositories/CodeFormer... Cloning BLIP into /app/stable-diffusion-webui/repositories/BLIP... Installing requirements for CodeFormer Installing requirements Launching Web UI with arguments: -f No module 'xformers'. Proceeding without it. Traceback (most recent call last): File "/app/stable-diffusion-webui/launch.py", line 38, in <module> main() File "/app/stable-diffusion-webui/launch.py", line 34, in main start() File "/app/stable-diffusion-webui/modules/launch_utils.py", line 330, in start import webui File "/app/stable-diffusion-webui/webui.py", line 49, in <module> from modules import shared, sd_samplers, upscaler, extensions, localization, ui_tempdir, ui_extra_networks, config_states File "/app/stable-diffusion-webui/modules/sd_samplers.py", line 1, in <module> from modules import sd_samplers_compvis, sd_samplers_kdiffusion, shared File "/app/stable-diffusion-webui/modules/sd_samplers_compvis.py", line 9, in <module> from modules import sd_samplers_common, prompt_parser, shared File "/app/stable-diffusion-webui/modules/sd_samplers_common.py", line 5, in <module> from modules import devices, processing, images, sd_vae_approx, sd_samplers, sd_vae_taesd File "/app/stable-diffusion-webui/modules/processing.py", line 11, in <module> import cv2 File "/app/stable-diffusion-webui/venv/lib/python3.10/site-packages/cv2/__init__.py", line 181, in <module> bootstrap() File "/app/stable-diffusion-webui/venv/lib/python3.10/site-packages/cv2/__init__.py", line 153, in bootstrap native_module = importlib.import_module("cv2") File "/root/anaconda3/envs/sd/lib/python3.10/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) ImportError: libGL.so.1: cannot open shared object file: No such file or directory

四: conda 常用的命令

  1、创建环境:conda create --name 环境名称

        用途:用于创建一个新的Conda环境,可以指定环境的名称。

  2、激活环境:conda activate 环境名称

          用途:用于激活指定名称的Conda环境。

  3、停用环境:conda deactivate

         用途:用于停用当前激活的Conda环境。

  4、删除环境:conda remove --name 环境名称 --all

         用途:用于删除指定名称的Conda环境,--all参数表示删除环境及其所有安装的包。

  5、安装包:conda install 包名称

         用途:用于在当前环境中安装指定的包。

  6、升级包:conda update 包名称

        用途:用于更新已安装包的版本。

  7、卸载包:conda remove 包名称

         用途:用于从当前环境中卸载指定的包。

  8、查看已安装的包:conda list

        用途:用于列出当前环境中已安装的包。

  9、搜索包:conda search 包名称

        用途:用于在Conda仓库中搜索指定的包。

  10、创建环境配置文件:conda env export > environment.yaml

        用途:用于将当前环境的配置导出到一个YAML文件中,以便在其他地方进行复制或重建环境。

  11、查看配置信息:conda config --show

        显示当前的Conda配置信息,包括通用配置、环境配置和用户配置。

  12、查看某个配置项的值:conda config --show 配置项

        显示特定配置项的当前值,例如:conda config --show channels用于显示当前配置的通道列表。

  13、设置配置项的值:conda config --set 配置项=值

        例如:conda config --set channels conda-forge用于将通道设置为conda-forge。

  14、添加通道:conda config --add channels 通道名称

        向配置中添加一个新的通道,使Conda在包搜索和安装时优先考虑该通道。

  15、移除通道:conda config --remove channels 通道名称

        从配置中移除指定的通道,使Conda不再使用该通道。

  16、列出所有通道:conda config --get channels

         列出当前配置中所有配置的通道。

  17、重置配置项:conda config --remove-key 配置项

        重置指定配置项的值为默认值。

  18、编辑配置文件:conda config --edit

        打开配置文件以进行手动编辑,可以修改各种配置选项。

  19、创建具有指定版本的环境:

    conda create --name myenv python=3.10.6

  20、从环境中导出和导入环境配置

  导出环境配置

  conda env export --name myenv --file environment.yaml

  导入环境配置

  conda env create --file environment.yaml

  21、创建一个虚拟环境的克隆:

  conda create --name myclone --clone myenv

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

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

相关文章

图像目标检测 - CenterNet: Objects as Points (arXiv 2019)

CenterNet: Objects as Points - 目标作为点&#xff08;arXiv 2019&#xff09; 摘要1. 引言2. 相关工作3. 准备工作4. 目标作为点4.1 3D 检测4.2 人体姿态估计 5. 实施细节6. 实验6.1 目标检测6.1.1 附加实验 6.2 3D 检测6.3 姿态估计 7. 结论References附录A&#xff1a;模型…

华为防火墙之攻击防范

1.DoS攻击简介 攻击和防御技术发展史 DoS是Denial of Service的简称&#xff0c;即拒绝服务。造成DoS的攻击行为被称为DoS攻击&#xff0c;其目的是使计算机或网络无法正常提供服务。 2.单包攻击及防御 最常见的DoS攻击就是单包攻击&#xff0c;一般都是以个人为单位的攻击者…

回归预测 | MATLAB实现SSA-CNN-BiGRU麻雀算法优化卷积双向门控循环单元多输入单输出回归预测

回归预测 | MATLAB实现SSA-CNN-BiGRU麻雀算法优化卷积双向门控循环单元多输入单输出回归预测 预测效果 基本介绍 MATLAB实现SSA-CNN-BiGRU麻雀算法优化卷积双向门控循环单元多输入单输出回归预测&#xff0c;运行环境Matlab2020b及以上。优化正则化率、学习率、隐藏层单元数。…

大数据Doris(四十二):Routine Load导入Kafka数据到Doris

文章目录 Routine Load导入Kafka数据到Doris 一、创建 Doris 表 二、创建 Kafka topic 三、创建 Routine Load

PTA OJ 合集 C语言

目录 7-1 查找整数 7-2 大笨钟的心情 7-3 将数组中的数逆序存放 7-6 矩阵运算 7-7 求矩阵的局部极大值 7-8 矩阵A乘以B 7-9 找鞍点 6-1 查找数组元素最大值 6-2 在数组中查找指定元素 7-5 求数列之和[A] 6-3 使用函数的选择法排序 6-5 计算天数[2] 6-4 求矩阵不靠…

ABAP 新语法--Open SQL

1. 常量 1.1 常量赋值 常量字段可以用来为内表中的部分字段赋初始值&#xff0c;字段类型和长度依据输入常量的值决定 SELECTmara~matnr, " 物料号mara~matkl, " 物料组mara~mtart, " 物料类型 AS lkenz, " 删除标识&#xff0c;常量空字符串123 AS fla…

STM32 Proteus仿真自动红外避障小车前进后退左右转 -0040

STM32 Proteus仿真自动红外避障小车前进后退左右转 -0040 Proteus仿真小实验&#xff1a; STM32 Proteus仿真自动红外避障小车前进后退左右转 -0040 功能&#xff1a; 硬件组成&#xff1a;STM32F103C LCD1602 L298N电机控制电路2个电机一个左轮一个右轮 2个按键(模拟两个避…

Web安全:bWAPP 靶场搭建.(集成了各种常见漏洞和最新漏洞的开源Web应用程序)

Web安全&#xff1a;bWAPP 靶场搭建. bWAPP是一个集成了了常见漏洞的 web 应用程序&#xff0c;目的是作为漏洞测试的演练场&#xff0c;帮助安全爱好者&#xff0c;开发人员和学生发现和防止Web漏洞。它有超过100个网络漏洞数据&#xff0c;包括所有主要的已知网络漏洞. 目录…

谷粒商城第三天-微服务中基本组件的使用

目录 一、前言 二、学习的内容 一、Nacos的服务注册/发现 1. 导依赖&#xff0c;nacos-discovery java.lang.AbstractMethodError: org.springframework.cloud.netflix.ribbon.RibbonLoadBalancerClient.cho 2. 在application.yml中声明nacos服务器的ip地址和端口号&…

MySQL常见问题

优化慢查询 慢查询可能出现的情况&#xff1a; 聚合查询多表查询表数据量过大深度分页查询 表象&#xff1a;页面加载过慢&#xff0c;接口压测响应时间过长&#xff08;超过1s&#xff09; 如何定位慢查询&#xff1f; 方案一&#xff1a;开源工具 可以使用相应的调试工具&a…

数据库SQL查询(一)

本文介绍SQL查询&#xff0c;如何在海量数据中筛选想要数据&#xff1b; 数据库管理系统选择&#xff1a;关系型数据库mysql 数据库管理工具选择&#xff1a;navicat 本文中查询语句和查询案例参考自&#xff1a;https://edu.csdn.net/course/detail/27673?ops_request_mis…

管理类联考——英语——趣味篇——背诵单词

考友方法推荐 词根词缀巧记考研英语大纲词汇 ⼀、词根词缀构词法的威⼒ 《考研英语⼤纲》要求考⽣掌握 5500 个词汇及相关词组&#xff0c;我们将这 5500 个单词&#xff0c;分成了三类&#xff0c;通过第⼀类“3450 基础⾼频词汇”的学习&#xff0c;考⽣夯实了基础&#xf…

Fmoc-保护氨基酸合成中的新型底物:Fmoc-Thr(Ac4Manα1-2Ac3Manα)-OH,CAS:482576-73-8

文章关键词&#xff1a;糖化学试剂&#xff0c;多肽合成&#xff0c;Fmoc-保护氨基酸&#xff0c;糖基化修饰一、产品描述&#xff1a; 西安凯新生物科技有限公司供应的​Fmoc-Thr(Ac4Manα1-2Ac3Manα)-OH&#xff0c;多肽固相合成法&#xff0c;基于Fmoc化学合成&#xff0c…

[学习笔记] [机器学习] 12. [下] HMM 隐马尔可夫算法(马尔科夫链、HMM 三类问题、前后后向算法、维特比算法、鲍姆-韦尔奇算法、API 及实例)

5. 维特比算法解码隐藏状态序列 Q Q Q 学习目标&#xff1a; 知道维特比算法解码隐藏状态序列 Q Q Q 在本篇我们会讨论维特比算法解码隐藏状态序列 Q Q Q&#xff0c;即给定模型 λ \lambda λ 和观测序列 O O O&#xff0c;求给定观测序列 O O O 条件下&#xff0c;最…

使用华为云开发者插件一键部署应用到ECS

前言 笔者是一名码龄5年左右的程序员&#xff0c;大学是能源行业&#xff0c;处于对技术&#xff08;碎银几两&#xff09;的热爱&#xff0c;选择投身搬砖之路。从用C语言在控制台打印第一句“Hello World&#xff01;”开始&#xff0c;笔者陆续接触过C/C、Java、Golang、Py…

STM32 Proteus仿真4x4矩阵15位抢答器数码管TM1637显示-0039

STM32 Proteus仿真4x4矩阵15位抢答器数码管TM1637显示-0039 Proteus仿真小实验&#xff1a; STM32 Proteus仿真4x4矩阵15位抢答器数码管TM1637显示-0039 功能&#xff1a; 硬件组成&#xff1a;STM32F103R6单片机 TM1637驱动4位数码管4x4矩阵键盘蜂鸣器 1.有一个开启键&am…

【Unity Shader】从入门到着魔(1)基本概念:什么是网格?材质?Shader?

文章目录 一、什么是网格(Mesh)?二、什么是MeshFilter(网格过滤器)?三、什么是MeshRenderer(网格渲染器)?四、什么是材质(Material)?五、什么是Shader(着色器)?一、什么是网格(Mesh)? 如上图,模型的三角形面就叫做网格(Mesh),它的本质是一堆顶点数据的规则…

前端基础知识学习——获取dom对象、获取html属性、获取内容、更改样式、创建dom元素、删除元素、代替元素(十)

<!DOCTYPE html> <html lang"en"><head ><meta charset"utf-8" /><title>这是一首离别信</title><script src"https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script></head&g…

Git 基础知识

看版本 git --version 初始化 git init &#xff08;需要在准备建的仓库的目标文件夹根目录下运行&#xff09; 初始化一个仓库供所有其他人一起使用&#xff0c;平时一般都是建好的&#xff0c;个人克隆拉取这个仓库到本地进行编辑。 初始化会产生一个分支叫 master 初…

vue3创建新项目报错:Cannot find module ‘xxx‘

创建vue3项目&#xff0c;命令&#xff1a; 1. 使用vite创建&#xff1a; npm create vitelatest my-vue-app -- --template vue-ts 2.使用vue官方命令&#xff1a; npm init vuelatest 创建vue3模板学习vue3.3的新语法&#xff0c;创建完成后发现文件很多爆红&#xff1a…