快速部署stable diffusion@Ubuntu

server/2024/9/18 12:31:31/ 标签: stable diffusion, 人工智能, pytorch

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/server/23055.html

相关文章

主流的虚拟机推荐

昨天提到微软与 IBM 合作在 MIT 许可证下发布了 MS-DOS 4.00 的源代码。此次发布的源代码包含了 MS-DOS 4.00 Beta版源码以及相关编译文档。 地址:https://blog.csdn.net/bugsycrack/article/details/138267118?spm1001.2014.3001.5501 感兴趣的人可以在各种虚拟…

ruoyi-nbcio-plus基于vue3的flowable收回任务后重新进行提交表单的处理

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 http://218.75.87.38:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码: h…

复杂prompt组成

chatGpt像一个具有海量知识的婴儿,了解的知识足够多,但是还不够足够智能。为了能够让gpt能精准回复,一是将问题尽可能描述清楚,帮助gpt理解问题,二是给出一些有效的筛选条件,帮助gpt去从海量知识中筛选可能…

【源码】WBF多语言交易所/申购+自发币平台币+币币+杠杆+合约/附带安装教程/带VUE工程源码

【源码介绍】 WBF多语言交易所/申购自发币平台币币币杠杆合约/附带安装教程/带VUE工程源码 【源码说明】 带VUE工程源码最新申购,自发币平台币,币币,法币,杠杆,合约多语言交易所,附带pc和手机VUE&#x…

CUDA执行模型

GPU架构 GPU的架构是围绕一个流式多处理器(SM)的可扩展阵列搭建的。可以通过复制这种架构的构建块来实现GPU的硬件并行。 SM是GPU中的一个重要组件,负责执行CUDA核函数中的线程块(Thread Block)。每个SM包含多个CUDA…

基于SSM家政预约管理系统的设计与实现

功能需求 家政预约管理系统在功能内容的呈现上主要以用家政信息以及家政预约服务为主,主要的用户角色包括了系统前端用户以及后台管理人员,通过系统首页的家政信息传递帮助前端用户更好的了解家政服务的信息及内容,系统管理员用户可以借助系…

官网设计UI设计需要考虑哪些?

响应式布局: 使用响应式设计技术,确保网站能够自动适应不同设备的屏幕大小和分辨率。这包括使用流式布局、弹性布局和媒体查询等技术。 移动优先: 采用移动优先的设计策略,即首先设计适用于小屏幕设备的界面,然后逐渐…

vue 组件组件通信方法

1、父组件props传值给子组件。 子组件中定义props字段,类型为Array(如需限制字段值类型,也可以定义为Object的形式)。如下例子,父组件挂载子组件helloWorld,在组件标签上给title赋值,子组件hel…

MySql on duplicate key update

"ON DUPLICATE KEY UPDATE"是MySQL的语法,当尝试插入的行导致一个duplicate key错误(如果该行中存在一个unique索引或primary key,并且该索引或primary key在表中已经存在),则执行UPDATE。 使用基本的SQL语…

如何在React中实现状态钩子

在React中,状态钩子(State Hooks)主要是用来在函数组件中添加和管理组件状态的。最常用的状态钩子是useState。以下是如何在React中使用useState钩子来实现状态管理的一个简单示例: jsx复制代码 import React, { useState } from…

C++--模板

1、非类型模板参数 模板参数分类类型形参与非类型形参。 类型形参即:出现在模板参数列表中,跟在class或者typename之类的参数类型名称。 非类型形参,就是用一个常量作为类(函数)模板的一个参数,在类(函数)模板中可将该参数当成常量…

秋招后端开发面试题 - Java语言基础(下)

目录 Java基础下前言面试题toString() 、String.valueof()、(String)?hashCode() 方法?hashCode 和 equals 方法判断两个对象是否相等?为什么重写 equals 时必须重写 hashCode 方法?String、StringBuffer、StringBuilder?String …

【自然语言处理】InstructGPT、GPT-4 概述

InstructGPT官方论文地址:https://arxiv.org/pdf/2203.02155.pdf GPT-4 Technical Report:https://arxiv.org/pdf/2303.08774.pdf GPT-4:GPT-4 目录 1 InstructGPT 2 GPT-4 1 InstructGPT 在了解ChatGPT之前,我们先看看Instr…

CSS Position定位(详解网页中的定位属性)

目录 一、Position介绍 1.概念 2.特点 3.作用 4.应用 二、Position用法 1.position属性 2.static定位 3.fixed定位 4.relative定位 5.absolute定位 6.sticky定位 7.重叠的元素 三、CSS定位属性 四、总结 一、Position介绍 1.概念 文档流(Document Fl…

PG修改端口号与error: could not connect to server: could not connect to server 问题解决

刚开始学习PG修改端口号之后数据库端口号没变。 修改端口号:/usr/local/pgsql/data中的postgresql.conf中 修改后并不能直接生效需要重启PG: /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l /usr/local/pgsql/data/logfile restart重启后新…

访问控制列表配置实验

ACL,全称 Access Control List(访问控制列表),是一种实现访问控制的机制,用于规定哪些主体(如用户、设备、IP地址、进程等)可以对哪些资源(如网络服务、文件、系统对象等&#xff09…

区块链交易所技术开发架构解析 交易所开发团队

区块链交易所是加密货币市场中的关键基础设施之一,它提供了一个平台,让用户可以买卖各种数字资产。而搭建一个功能完善、安全可靠的交易所需要一个复杂的技术开发架构,以及一个协调配合的交易所开发团队。下面我们将分析交易所的技术架构以及…

Mysql:常见问题

常见问题 一、查询缓存和缓冲池二、为什么表数据删掉一半,表文件大小不变?三、为何选择BTree作为索引的数据结构? 一、查询缓存和缓冲池 1、缓冲池 用于加速数据的修改和访问,通过将热点数据缓存在内存,最大限度的减少磁盘I/O默认大小为128M,Buffer Pool中数据以页为存储单…

【element-ui】el-table横向滚动后,通过is-scrolling-left获取滚动高度失效的问题

el-table横向滚动后,通过is-scrolling-left获取滚动高度失效的问题 需求 现在有一个需求,需要监听el-table的纵向滚动,当滚动高度达到特定值时进行一些操作。 代码如下: methods:{throttledHandleScroll() {// 如果已经有定时器…

node环境创建Vue项目

node环境创建Vue项目 目录 node环境创建Vue项目安装node.js安装Vue创建Vue项目 安装node.js 【1】.官网下载 【2】.选择路径 【3】配置环境变量 后面就是一路next完成安装 【4】测试 cmd输入node指令,显示版本号证明安装成功 安装Vue 【1】安装cnpm 这是由淘宝…