Ubuntu18.04本地部署Stable-Diffusion-webui绘画

news2024/11/16 18:27:42

记录Ubuntu下安装Stable-Diffusion-webui,比较简单,以供参考。

系统:Ubuntu 18.04.4 LTS
内存:40G
显卡:32G
硬盘:500G

一、安装cuda

支持安装的cuda版本可以用nvidia-smi命令查看:
 

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.182.03   Driver Version: 470.182.03   CUDA Version: 11.4     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  Tesla V100-SXM2...  Off  | 00000000:00:08.0 Off |                    0 |
| N/A   39C    P0    55W / 300W |      0MiB / 32510MiB |      3%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+


显卡驱动支持的cuda版本最高是11.4,可以在这里下载对应的cuda版本:CUDA Toolkit Archive | NVIDIA Developer(https://developer.nvidia.com/cuda-toolkit-archive)。由于之前安装别的环境,已经装了cuda11.4版本,可以用nvcc -V查看安装的cuda版本。


二、搭建python虚拟环境(为了不影响原系统环境)

使用miniconda,我之前已经安装了。然后使用conda创建虚拟环境sdwebui,使用的python版本为3.10.9(stable-diffusion-webui用的python版本为3.10.6)。

conda create -n sdwebui python==3.10.9

激活环境

conda activate sdwebui

升级pip并更改默认库包下载地址为清华镜像(如果已经有镜像的可以忽略)

    python -m pip install --upgrade pip
    pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

安装torch

在pytorch官网Previous PyTorch Versions | PyTorch(https://pytorch.org/get-started/previous-versions/) 官网不能访问的可以打开:Pytorch和CUDA版本对应关系_TURING.DT的博客-CSDN博客

查看对应的cuda支持的torch版本,并且直接拷贝安装命令。

这里是我的cuda版本对应的安装命令。

conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=10.2 -c pytorch


三、下载并安装stable-diffusion-webui

切换到当前用户目录下,使用git命令下载stable-diffusion-webui源码

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

由于国内github不能稳定连接,所以可以从国内的gitee(码云)下载

git clone https://gitee.com/yiouyou/automatic1111-stable-diffusion-webui.git

打开v2-1_768-ema-pruned.ckpt · stabilityai/stable-diffusion-2-1 at main(https://huggingface.co/stabilityai/stable-diffusion-2-1/blob/main/v2-1_768-ema-pruned.ckpt),下载训练模型(大小4.9G)。下载完成后,把v2-1_768-ema-pruned.ckpt这个训练模型放入stable-diffusion-webui的models/Stable-diffusion目录下,这个目录专门存放用于生成AI绘图的绘图元素的基础模型库。后续如果在其他网站比如civitai之类的地方下载的ckpt或者safetensors文件也是放在这个文件夹里面。


然后切换到webui目录下,安装依赖

    cd stable-diffusion-webui/
    pip install -r requirements_versions.txt
    pip install -r requirements.txt

安装完成后,启动stable-diffusion-webui

python launch.py

这里要安装很多依赖,并且要git clone相关包和模型文件,需要科学上网,否则会失败。

最终启动成功后如下图所示,会出来一个url:

(sdwebui) ubuntu@VM-16-ubuntu:~/sdwebui/stable-diffusion-webui$ python launch.py

Python 3.10.9 (main, Mar  8 2023, 10:47:38) [GCC 11.2.0]
Version: v1.4.0
Commit hash: 394ffa7b0a7fff3ec484bcd084e673a8b301ccc8
Installing clip
Installing open_clip
Cloning Stable Diffusion into /home/ubuntu/sdwebui/stable-diffusion-webui/repositories/stable-diffusion-stability-ai...
Cloning K-diffusion into /home/ubuntu/sdwebui/stable-diffusion-webui/repositories/k-diffusion...
Cloning CodeFormer into /home/ubuntu/sdwebui/stable-diffusion-webui/repositories/CodeFormer...
Cloning BLIP into /home/ubuntu/sdwebui/stable-diffusion-webui/repositories/BLIP...
Installing requirements for CodeFormer
Installing requirements
Launching Web UI with arguments:
Matplotlib created a temporary config/cache directory at /tmp/matplotlib-9vmy3hxk because the default path (/home/ubuntu/.config/matplotlib) is not a writable directory; it is highly recommended to set the MPLCONFIGDIR environment variable to a writable directory, in particular to speed up the import of Matplotlib and to better support multiprocessing.
No module 'xformers'. Proceeding without it.
==============================================================================
You are running torch 1.12.1.
The program is tested to work with torch 2.0.0.
To reinstall the desired version, run with commandline flag --reinstall-torch.
Beware that this will cause a lot of large files to be downloaded, as well as
there are reports of issues with training tab on the latest version.

Use --skip-version-check commandline argument to disable this check.
==============================================================================
Calculating sha256 for /home/ubuntu/sdwebui/stable-diffusion-webui/models/Stable-diffusion/v2-1_768-ema-pruned.ckpt: preload_extensions_git_metadata for 7 extensions took 0.00s
Running on local URL:  http://127.0.0.1:7860

To create a public link, set `share=True` in `launch()`.
Startup time: 7.8s (import torch: 1.6s, import gradio: 1.5s, import ldm: 0.4s, other imports: 3.2s, load scripts: 0.5s, create ui: 0.5s).
ad2a33c361c1f593c4a1fb32ea81afce2b5bb7d1983c6b94793a26a3b54b08a0
Loading weights [ad2a33c361] from /home/ubuntu/sdwebui/stable-diffusion-webui/models/Stable-diffusion/v2-1_768-ema-pruned.ckpt
Creating model from config: /home/ubuntu/sdwebui/stable-diffusion-webui/repositories/stable-diffusion-stability-ai/configs/stable-diffusion/v2-inference-v.yaml
LatentDiffusion: Running in v-prediction mode
DiffusionWrapper has 865.91 M params.
Applying attention optimization: Doggettx... done.


在浏览器打开这个url,表示环境部署成功。


四、使用stable-diffusion-webui

注意:如果在prompt输入后点击generate无法生成图片,看见黑色小框显示“float 32“之类的关键字,则在webui 页面的 Settings->StableDiffusion 最下面,勾选 float32 的选项框。接着点击上方的Apply settings 应用,然后按F5刷新页面后,即可正常使用。

在左上角的文本框prompt输入提示词,点击Generate,等待数秒钟(我的电脑大概等待15s左右),就会生成一张图。

默认端口是7860,如果想换端口 启动时加参数:python launch.py --port 7770

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

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

相关文章

Tomcat的优化及多实例部署

文章目录 一.Tomcat的优化1.tomcat启动速度优化——random2.Tomcat配置文件参数优化2.1 常用的优化相关参数2.2 优化的配置文件 二.Tomcat多实例部署1.为什么会有tomcat多实例部署2.多实例部署图示3.多实例部署的配置3.1 安装JDK3.2 安装启动Tomcat3.3 配置 tomcat 环境变量3.4…

筹码分布图高级用法——历史换手衰减系数自动计算公式

在使用筹码分布图时,很多人习惯于采用软件的默认设置,然而默认设置不一定能满足我们的要求。今天将向大家介绍筹码分布图的高级用法——历史换手衰减系数,并编写历史换手衰减系数自动计算公式。有些网友认为通过修改衰减系数,可以…

【远程控制】向日葵连接Ubuntu黑屏

Ubuntu 远程黑屏 Ubuntu 22.04 方法 1:切换桌面工作模式方法 2:安装 lightdm 插件来渲染界面客服工单回答 Ubuntu 22.04 方法 1:切换桌面工作模式 进入到登录页 点击用户名 点击右下角,切换桌面工作模式为Ubuntu on xorg即可 …

基于Python+MySQL所写的音乐网管理系统

点击以下链接获取源码资源: https://download.csdn.net/download/qq_64505944/87971719?spm1001.2014.3001.5503 《甜橙音乐网》程序使用说明 在虚拟环境下输入命令“python manage.py runserver”启动项目,启动成功后,访问“http://127.0…

x264 deblock filter 代码解读

在x264源码里,void x264_frame_deblock_row( x264_t *h, int mb_y )函数中定义了如下的宏片段,这段代码旨在完成对MB的deblocking 操作,其中针对edge 取不同的值的时候,有的做deblocking, 有的不做,看这部分…

计算机网络的89个核心概念

主机:计算机网络上任何一种能够连接网络的设备都被称为主机或者说端系统,比如手机、平板电脑、电视、游戏机、汽车等,随着 5G 的到来,将会有越来越多的终端设备接入网络。 通信链路:通信链路是由物理链路(…

[nexus]基于nexus搭建npm仓库及上传插件到仓库

目录 环境信息搭建npm仓库创建存储位置创建proxy仓库创建hosted仓库创建group仓库配置域 下载及上传登录下载上传 环境信息 nexus: 3.29.2-02node: v14.18.2npm: 6.14.15 搭建npm仓库 创建存储位置 这一步不是必须的,可以跟之前创建的复用 依次打开 [设置] ->…

【Docker】Docker的简介安装以及使用Docker安装Mysql案例

Docker docker概述 Docker是一个开源的应用容器引擎诞生于2013年初,基于Go语言实现,dotClou公司出品(后改名为Docker inc)Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可以直接的容器中,然后发布到任何…

测试的流程

目录: 测试流程价值与体系测试计划业务架构分析思路bug基本概念bug处理流程测试流程管理jira系统-测试用例管理测试流程管理 jira 系统-Bug管理测试总结业务架构分析工具plantuml测试流程管理jira系统-测试流程定制测试流程管理 jira 系统-Bug管理流程定制 1.测试…

HTML5新特性总结

新增语义化标签 新增了很多语义化标签,如header、footer、nav、article、section(页面中的某段文字,或文章中的某段文字)、aside、main 其中article标签里可以包含多个section; section强调的是分段或分块,若想将一块内容分成几…

ARM学习(23)AMP和SMP的认识与理解

笔者来聊聊AMP和SMP架构理解(多核下系统)。 简介介绍 笔者经常听到ARM架构时,谈到SMP的架构或者AMP的架构,今天特意来了解一下, SMP:Symmetric multiprocessing,对称多处理器AMP:A…

leetcode:2154. 将找到的值乘以 2(python3解法)

难度:简单 给你一个整数数组 nums ,另给你一个整数 original ,这是需要在 nums 中搜索的第一个数字。 接下来,你需要按下述步骤操作: 如果在 nums 中找到 original ,将 original 乘以 2 ,得到新…

LangChain大型语言模型(LLM)应用开发(二):Conversation Memory

LangChain是一个基于大语言模型(如ChatGPT)用于构建端到端语言模型应用的 Python 框架。它提供了一套工具、组件和接口,可简化创建由大型语言模型 (LLM) 和聊天模型提供支持的应用程序的过程。LangChain 可以轻松管理与语言模型的交互&#x…

Java9集合类新增功能

前言 Java8及Java9在集合Collection类中新增了一些很好用的新方法&#xff0c;能方便程序员更便捷的处理集合数据&#xff0c;本文对其中的一些方法进行总结 一. List 1.创建 // 传统方法List<String> list1 new ArrayList<>();list1.add("item1");li…

论文导读 | Operation ResearchManagement Science近期文章精选

推文作者&#xff1a;周梓渊 编者按 本期我们选取了最近来自Operation Research和Management Science的六篇文章以飨读者&#xff0c;前四篇文章来自OR&#xff0c;最后两篇文章来自MS&#xff1b;内容涉及多个方面&#xff0c;实现了方法论与具体应用实践的结合&#xff0c;例…

Node.js HTTP 模块的内存泄露问题

很久没有逛社区了&#xff0c;晚上回来看了一下最近的情况&#xff0c;突然看到一个内存泄露问题&#xff0c;作为一个 APM 开发者&#xff0c;自然想分析其中的原因。 问题 下面介绍一下具体的问题。看一下 demo。 const http require(http)async function main () {let i…

用NumPy,梯度下降的方法来解决线性回归

import matplotlib.pyplot as plt import numpy as npdef reckonCost(X,y,theta):my.shape[0]innernp.power( ( (Xtheta)-y.T ) , 2)return np.sum(inner) / (2*m)# 定义梯度下降函数 def gradient_descent(X, y, theta, alpha, num_iters):# m len(y) # 样本数量my.shape[0]…

Leetcode-每日一题【86.分隔链表】

题目 给你一个链表的头节点 head 和一个特定值 x &#xff0c;请你对链表进行分隔&#xff0c;使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。 你应当 保留 两个分区中每个节点的初始相对位置。 示例 1&#xff1a; 输入&#xff1a;head [1,4,3,2,5,2], x 3输…

【数据挖掘】时间序列教程【三】

2.7 平稳性 序列的平稳性 是一个关键属性&#xff0c;它允许我们应用许多时间序列分析的标准工具。 如果对于大小 n 和任何整数 ,观察发现 具有与 相同的联合分布&#xff0c;则时间序列是严格平稳的。 换句话说&#xff0c;从分布的角度来看&#xff0c;平稳时间序列对移位…

【嵌入式Qt开发入门】初识信号与槽

信号与槽&#xff08;Signal & Slot&#xff09;是 Qt 编程的基础&#xff0c;也是 Qt 的一大创新。因为有了信号与槽的编程机制&#xff0c;在 Qt 中处理界面各个组件的交互操作时变得更加直观和简单。 信号&#xff08;Signal&#xff09;就是在特定情况下被发射的事件&a…