快速部署stable diffusion@Ubuntu

devtools/2024/11/15 7:24:08/

Stable Diffusion可以根据文本描述生成相关的图像,是当前最热门的文生图模型。

在Ubuntu下,可以选择快速安装,或者手动一步步安装。

快速安装

使用文档中的方法,先下载一个sh文件,然后执行这个文件,就自动安装依赖,自动启动服务了。

首先安装好需要的库

# Debian-based:
sudo apt install wget git python3 python3-venv libgl1 libglib2.0-0
# Red Hat-based:
sudo dnf install wget git python3 gperftools-libs libglvnd-glx 
# openSUSE-based:
sudo zypper install wget git python3 libtcmalloc4 libglvnd
# Arch-based:
sudo pacman -S wget git python3

下载sh并执行:

wget -q https://raw.githubusercontent.com/AUTOMATIC1111/stable-diffusion-webui/master/webui.sh
sh webui.sh 

如果github抽风导致git clone失败,可以进入webui.sh文件,修改其中的"${GIT}" clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git "${clone_dir}"
 到 "${GIT}" clone --depth 2 https://github.com/AUTOMATIC1111/stable-diffusion-webui.git "${clone_dir}" ,可以提高成功率。

也可以手动去进行git clone指令。

后面按部就班一路安装成功即可。

也可以手动安装,手动安装可以较自由的选择torch版本等。

手动一步步安装

下载源代码

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

进入目录,使用conda安装pytorch等依赖

cd stable-diffusion-webui
conda env update --file environment-wsl2.yaml --prune

安装好后激活环境

conda activate automatic

下载模型

到huggingface网站下载模型,比如可以从gitee镜像下载:stable-diffusion-v1-5: Mirror of https://huggingface.co/runwayml/stable-diffusion-v1-5

可以从hf-mirrot.com这个镜像下载:https://hf-mirror.com/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.ckpt 

下载这个文件:v1-5-pruned-emaonly.ckpt

将下载的文件改名成model.ckpt并放入指定目录:stable-diffusion-webui/models/Stable-diffusion/model.ckpt

比如

mv v1-5-pruned-emaonly.ckpt ~/github/stable-diffusion-webui/models/Stable-diffusion/model.ckpt

启动服务

python3 launch.py

如果是cpu环境,需要加上参数:

python launch.py --skip-torch-cuda-test 1

调试

报错RuntimeError: Torch is not able to use GPU

raise RuntimeError( RuntimeError: Torch is not able to use GPU; add --skip-torch-cuda-test to COMMANDLINE_ARGS variable to disable this check

加上参数执行:python launch.py --skip-torch-cuda-test 1

报错git clone Error code: 128

  File "/home/linuxskywalk/github/stable-diffusion-webui/modules/launch_utils.py", line 115, in run
    raise RuntimeError("\n".join(error_bits))
RuntimeError: Couldn't clone Stable Diffusion.
Command: "git" clone --config core.filemode=false "https://github.com/Stability-AI/stablediffusion.git" "/home/linuxskywalk/github/stable-diffusion-webui/repositories/stable-diffusion-stability-ai"
Error code: 128
是github repo下载出错,加上--depth 2 ,然后手工执行:

"git" clone --depth 2 --config core.filemode=false "https://github.com/Stability-AI/stablediffusion.git" "/home/linuxskywalk/github/stable-diffusion-webui/repositories/stable-diffusion-stability-ai"

如果还不行,就想其它办法,比如github不抽风的时候下载。

报错RuntimeError: Couldn't fetch Stable Diffusion XL.

    run(f'"{git}" -C "{dir}" fetch --refetch --no-auto-gc', f"Fetching all contents for {name}", f"Couldn't fetch {name}", live=True)
  File "/home/linuxskywalk/github/stable-diffusion-webui/modules/launch_utils.py", line 115, in run
    raise RuntimeError("\n".join(error_bits))
RuntimeError: Couldn't fetch Stable Diffusion XL.
Command: "git" -C "/home/linuxskywalk/github/stable-diffusion-webui/repositories/generative-models" fetch --refetch --no-auto-gc
Error code: 129
使用conda install git试试

还是不行。原来generative-models不能用--depth 2 这个参数,因为用了之后可能拿不到repo branch

删除该目录,重新安装

git clone https://github.com/Stability-AI/generative-models.git
ok了


http://www.ppmy.cn/devtools/17412.html

相关文章

浮点数的表示

单精度浮点数的表示 先来看一下十进制的科学计数法,例如十进制数112.5用科学计数法表示,可以表示为1.125*102。 浮点数由符号位、阶码和尾数三个部分组成,首先将112.5转为二进制数,结果为1110000.1,然后将这个2进制数使…

Vue2 和 Vue3 的区别 (性能,编码方式,API 特性,源码)

在这个快节奏的时代,技术更新换代的速度也越来越快。我一直在使用Vue 2来开发项目。然而,现在越来越多的公司转向了Vue 3,并将其作为主要的前端开发框架。这就需要我们及时跟进新技术的发展,以保持竞争力。因此,我决定…

后端面试真题--计算机基础篇

计算机基础 1、计算机网络(常考)2、操作系统3、数据结构4、Linux二级目录三级目录 1、计算机网络(常考) 1、介绍一下网络七层架构,TCP/IP的四层架构,每一层都有什么协议 2、讲讲TCP/IP的流量控制和拥塞控制…

每天一个数据分析题(二百八十二)

积分表result中有A B C D四列,要求:1)当A列值大于等于B列时,选择A列否则选择B列 2)当C列值大于等于D列时,选择C列否则选择D列 用SQL语句实现正确的是:( ) A. select ( w…

Linux:环境变量

Linux:环境变量 环境变量概念查看环境变量getenvenviron main的参数argc & argvenv bash的环境变量 环境变量概念 环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数 在编程中,我们可以定义变量,而定义变量的本质&#xf…

使用Python实现简单的Web服务器

Python是一种非常灵活的编程语言,它不仅能够处理复杂的数据分析和机器学习任务,还能用于创建简单的Web应用。本文将介绍如何使用Python内置的HTTP服务器模块来创建一个基本的Web服务器,并展示如何通过源码实现简单的路由和请求处理。 环境准…

Hive第二篇HQL

Hive第二篇HQL 3. Hive 的基本操作3.1 数据库操作3.2 数据库表操作 4. Hive 查询语法4.1. SELECT4.2. 查询语法4.3. 常用函数4.4. LIMIT语句4.5. WHERE语句4.6. LIKE 和 RLIKE4.7. 逻辑运算符4.8. 分组GROUP BY 语句HAVING 语句 4.9. JOIN 语句4.9.1. 等值 JOIN4.9.2. 表的别名…

线程、线程组、线程池、锁、事务、分布式

1.线程 Thread类 ,可以继承他,复写run方法,然后new一个对象,调用start方法启动。 2.runnable接口,他单独把run方法定义出来了,可以自己实现一个runnable接口,然后new一个runnable对象给到threa…