快速部署stable diffusion@Ubuntu

news2024/12/23 13:07:05

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.coloradmin.cn/o/1615439.html

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

相关文章

UUPSUpgradeable部署合约和升级合约

文章目录 写一个合约1. 使用代理部署 并添加拥有者2. 没有name number为103. 使用代理升级部署 填写上面代理的合约地址4. 合约地址没有变,但是添加了name,并且保存了number的属性值 写一个合约 // SPDX-License-Identifier: MIT // Compatible with Op…

GNU Radio使用Python Block实现模块运行时间间隔获取

文章目录 前言一、timestamp_sender 模块二、timestamp_receiver 模块三、测试 前言 GNU Radio 中没有实现测量两个模块之间的时间测量模块,本文记录一下通过 python block 制作一个很简单的测时 block。 一、timestamp_sender 模块 使用 python block 做一个发送…

pyCharm导入pyspark中的sparkconf和sparkcontext错误

背景:学习黑马程序员python课程的pyspark实战部分时按照下图导入pysark包时发现sparkconf和sparkcontext无法导入和运行。 首先想到是不是在CMD窗口下载的pySpark路径及安装是否正确? 通过下图发现第三方库都安装正确,然后就考虑库的路径&a…

今日arXiv最热NLP大模型论文:浙江大学:蒸一蒸,多Agent变成单一模型,效果更好

“团结就是力量”,面对复杂多变的现实环境,multi-agent应运而生。相较于单打独斗的single-agent,multi-agent集结了多个功能各异的LLM,共同攻克难关。然而,这种协同作战的方式也带来了沉重的推理负担,限制了…

那些早期的iax和SIP软电话软件界面,看看你见过几个?

目录 一些iax/sip软电话UI图片SIP软电话的界面怎么设计SIP软电话的功能有哪些 早期voip发展中,很多公司开发了自己的SIP软电话,有些已经不存在了,有些还在使用中,比如X-Lite,Zoiper等等,我们一起看看这些早…

代码随想录算法训练营第三十九天| 62.不同路径、63.不同路径II

系列文章目录 目录 系列文章目录62.不同路径①回溯算法(超时)②深度搜索(超时)③动态规划 63. 不同路径 II动态规划 62.不同路径 ①回溯算法(超时) 本质是穷举。 class Solution {int[] chose new int[…

CB2-2CARD之Debian(Bookworm)安装Gnome看CCTV

CB2-2CARD之Debian(Bookworm)安装Gnome看CCTV 1. 源由2. 需求3. Debian系统桌面3.1 系统安装3.2 磁盘扩容3.3 系统更新3.4 Gnome安装 4. 测试4.1 CCTV网页测试4.2 系统空闲测试4.3 Firefox CPU占用率测试 5. 总结 1. 源由 近些年来,随着国内…

笔试狂刷--Day4(滑动窗口+贪心)

大家好,我是LvZi,今天带来笔试狂刷--Day4 一.简写单词 1.题目链接:简写单词 2.题目分析: 一个简单的模拟 3.代码实现: 1.先整体读取,再处理 import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main {public static void main(St…

35K的鸿蒙音视频开发岗位面经分享~

一个月前,阿里云在官网音视频终端 SDK 栏目发布适配 HarmonyOS NEXT 的操作文档和 SDK,官宣 MediaBox 音视频终端 SDK 全面适配 HarmonyOS NEXT。 此外,阿里云播放器 SDK 也在华为开发者联盟官网鸿蒙生态伙伴 SDK 专区同步上线,面…

【快速上手ESP32(基于ESP-IDFVSCode)】08-SPI

SPI SPI,全称Serial Peripheral Interface,即串行外设接口,是一种同步串行接口技术。它最初由Motorola公司推出,并在其MC68HCXX系列处理器上首次定义。SPI接口主要应用在EEPROM、FLASH、实时时钟、AD转换器,以及数字信…

【MySQL】InnoDB与MyISAM存储引擎的区别与选择

存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式 。 存储引擎是基于表的,而不是基于库的,所以存储引擎也可被称为表类型。我们可以在创建表的时候,来指定选择的存储引擎,如果没有指定将自动选择默认的存储引擎。…

【学习笔记二十一】EWM仓库两步拣配配置及操作展示

一、EWM两步拣配配置 1.定义两步拣配的WPT ①第一步:标准WPT2020,目标仓位是2010两步拣配的仓位,并创建存储类型2010的两步拣配的仓位 ②第二步,标准WPT2010,目标仓位9020发货区和发货的仓位 2.定义确定仓库处理类型的控制标识 3.确定仓库处理类型 4.仓库编码级别需要允…

React自定义Hook函数:高效组件开发的秘密武器

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

C语言(扫雷游戏)

Hi~!这里是奋斗的小羊,很荣幸各位能阅读我的文章,诚请评论指点,关注收藏,欢迎欢迎~~ 💥个人主页:小羊在奋斗 💥所属专栏:C语言 本系列文章为个人学习笔记&#x…

深入了解高保真线框:设计师必备利器推荐!

什么是高保真线框 高保真线框是低保真线框的高级版本。它不仅是一个更详细的草图,而且是一系列经过思考的“屏幕”,非常接近产品的最终外观和产品的主要功能。低保真度与高保真度线框的关键区别在于:低保真代表设计方向和整体布局&#xff0…

模块化以及生成

导入对象 >> pip install mock >> pip install pytest-mock 下面对coverage命令参数进行简单介绍。 coverage命令共有10种参数形式,分别是: run:运行一个Python程序并收集运行数据;report:生成报告&#x…

@NameBinding注解名称绑定过滤器/拦截器

NameBinding注解名称绑定过滤器/拦截器,只针对某一些资源方法执行处理逻辑 一、为什么要用名称绑定 一般情况下,借助Spring的过滤器或者拦截器等对Http请求或响应进行处理就能满足需求。但是在有些场景下若只需对特定的xxxResource做拦截处理&#xff0…

数据治理实战——元数据管理

一、元数据概述 1.1 定义 描述数据的数据,本质还是数据。数据本身带有的技术属性与其在业务运行中的业务属性,称其为元数据,例如:表数据量,占用空间,字段信息,业务描述,负责人&…

Springboot+Vue项目-基于Java+MySQL的在线文档管理系统(附源码+演示视频+LW)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:Java毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计 &…

Gradio 流式输出教程

Gradio 流式输出教程 随着AIGC的发展,我逐渐发现我有许多项目,如果都是等待生成结束才传输出去,就会导致等待时间非常长,影响用户使用体验。在这里流式输出就显得很有必要了,同时也是为后续的实时处理积累一下前置条件…