带3090显卡的Linux服务器上部署SDWebui

背景

一直在研究文生图,之前一直是用原始模型和diffuser跑SD模型,近来看到不少比较博主在用 SDWebui,于是想着在Linux服务器上部署体验一下,谁知道并没有想象的那么顺利,还是踩了不少坑。记录一下过程,也许能帮忙有同样需求的朋友。

安装

  1. 在Linux服务器上建立conda 虚拟环境及对应目录,并下载代码仓。
conda create -n SDWebui python=3.10.6
conda activate SDWebui
mkdir SDWebui
cd SDWebui
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

在huggingface上下载三个模型文件(sd_xl_base_1.0.safetensors,sd_xl_refiner_1.0.safetensors,sdxl_vae.safetensors),分别放到models下的不同目录下,放完之后,目录结构如下:
在这里插入图片描述
2. 安装依赖环境

python -m pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 xformers
python -m pip install requirements.txt
python -m pip install -r requirements_versions.txt
  1. 下载OpenAI clip相关, 使用国内镜像即可:
mkdir openai
cd openai
git clone https://www.modelscope.cn/AI-ModelScope/clip-vit-large-patch14.git

在这里插入图片描述

  1. 编辑 launch.py文件,在文件的上方插入下面几行:
import os
os.environ["PYTORCH_CUDA_ALLOC_CONF"] = "max_split_size_mb:512"
os.environ['CUDA_LAUNCH_BLOCKING'] = '1'
  1. 启动webui
python launch.py --skip-torch-cuda-test --xformers --precision full --no-half --always-batch-cond-uncond --opt-split-attention

在这里插入图片描述

  1. 使用Webui
    6.1 构建本地pc 和 远端服务器的端口映射:
    ssh -L 7860:localhost:7860 用户名@Linux服务器IP
    6.2 打开浏览器,输入http://localhost:7860/ 或者 http://127.0.0.1:7860/, 既可以得到如下页面,开始体验吧。
    在这里插入图片描述

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

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

相关文章

YOLO-MS 论文解读

paper:YOLO-MS: Rethinking Multi-Scale Representation Learning for Real-time Object Detection official implementation:https://github.com/fishandwasabi/yolo-ms 背景 尽管已经取得了很好的性能,但识别不同尺度的物体仍是实时目标…

并发容器之CopyOnWrite

CopyOnWrite容器 什么是CopyOnWrite容器呢?CopyOnWrite容器是一个写时复制的容器。在向容器中添加元素时,不会直接向当前容器中添加,而是将当前容器进行copy,复制出一个新的容器,然后往新的容器中添加元素,…

3.24总结

P - 节拍 Zty是一个总是充满热情的人。他想解决世界上各种困难的ACM问题。而且他有一个习惯,他不喜欢解决 一个比他已经解决的问题容易的问题。现在一芬飞给他n个难度问题,在解决另一个问题后告诉他解决的相对时间。 你应该帮助zty找到一个解决问题的顺序…

thymeleaf模板公共块导入不报错,能显示文字但无法显示div的问题解决办法!

本篇文章主要讲解thymeleaf模板公共块导入时,没有任何报错信息,但是进行排查后发现能够显示文字,改成html标签后就无法显示div的问题解决办法! 日期:2024年3月24日 作者:任聪聪 问题现象: 说明:代码好好的,引入的路径也是对的,可以显示文字,但不可以div,自定义公共…

2023年12月青少年软件编程C语言二级真题答案——持续更新.....

一、统计指定范围里的数 给定一个数的序列S,以及一个区间[L, R], 求序列中介于该区间的数的个数,即序列中大于等于L且小于等于R的数的个数。 时间限制:1000 内存限制:65536 输入 第一行1个整数n、,分别表示序列的长度。(0 < n ≤ 10000) 第二行n个正整数,表示序列里…

【Mysql】硬盘性能压测(Sysbench工具)

1、IOPS和吞吐量介绍 IOPS&#xff08;每秒输入/输出操作数&#xff09;&#xff1a;是衡量存储设备每秒能够执行的输入/输出操作的数量。对于数据库等需要频繁读写的应用程序而言&#xff0c;IOPS 是一个关键的性能指标。更高的 IOPS 意味着存储设备能够处理更多的读写请求&am…

检索增强生成(RAG)技术:实现流程、作用及应用案例

一. RAG简介 在自然语言处理&#xff08;NLP&#xff09;领域中&#xff0c;检索增强生成&#xff08;Retrieval-Augmented Generation, RAG&#xff09;技术巧妙地结合了信息检索与神经网络生成模型的力量&#xff0c;通过在生成过程中引入相关的外部信息&#xff0c;实现了在…

工作思考|研发环境好好的,怎么上线就出问题了?

场景再现 那是一个夜黑风高的晚上&#xff0c;某个版本迭代经过了完备的测试&#xff0c;正准备上线。研发同事A开完了上线评审后&#xff0c;信心满满地对运维同事B说&#xff1a;“开冲&#xff01;” 几分钟后&#xff0c;同事B发了条消息过来&#xff0c;看着抖动的头像&…

实验报告。。。。。

机动车 public class User {public static void main(String[] args) {Vehicle v new Vehicle();System.out.println("设置功率大小&#xff1a;");v.setPower(36);System.out.println("功率大小为&#xff1a;" v.getPower() "kw");v.speed…

【WEEK4】 【DAY5】AJAX - Part Two【English Version】

2024.3.22 Friday Following the previous article 【WEEK4】 【DAY4】AJAX - Part One【English Version】 Contents 8.4. Ajax Asynchronous Data Loading8.4.1. Create User.java8.4.2. Add lombok and jackson support in pom.xml8.4.3. Change Tomcat Settings8.4.4. Mo…

谷粒商城 - 前端基础

1.前端技术栈 2.ES6 2.1简介 2.2 let 与 const <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Doc…

自动驾驶感知新范式——BEV感知经典论文总结和对比(一)

自动驾驶感知新范式——BEV感知经典论文总结和对比&#xff08;一&#xff09; 博主之前的博客大多围绕自动驾驶视觉感知中的视觉深度估计&#xff08;depth estimation&#xff09;展开&#xff0c;包括单目针孔、单目鱼眼、环视针孔、环视鱼眼等&#xff0c;目标是只依赖于视…

Python爬虫之requests库

1、准备工作 pip install requests 2、实例 urllib库中的urlopen方法实际上就是以GET方式请求网页&#xff0c;requests库中相应的方法就是get方法。 import requestsr requests.get(https://www.baidu.com/) print(type(r)) # <class requests.models.Response> 响…

YOLOv8的FPS计算代码

YOLOv8的FPS计算代码 目前是默认加载到0号GPU中&#xff0c;如果你想加载到指定GPU中&#xff0c;请手动在加载模型的时候设置 device编号 代码 import osfrom ultralytics import YOLOdef load_model(model_path):model YOLO(model_path)print(查看当前模型&#xff1a;, …

Java直接内存

直接内存如何使用 直接上代码&#xff0c;代码中有注释【对直接内存的分配以及释放】进行说明。 package cn.ordinary.util.io.file;import java.io.*; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.nio.*; import ja…

js一些底层

简介: JavaScript 是一种高级编程语言&#xff0c;通常在网页开发中用于前端和后端开发。JavaScript 的底层实现是浏览器或服务器上的 JavaScript 引擎。不同的引擎可能有不同的底层实现&#xff0c;但它们都有一个共同的目标&#xff0c;即执行 JavaScript 代码。 JavaScript …

MySQL中什么是分区表?列举几个适合使用分区表的场景。

MySQL中的分区表是一种数据库设计技术&#xff0c;它将一个大表物理地分割成多个较小的部分&#xff0c;这些部分被称为分区。虽然从逻辑上看&#xff0c;分区表仍然像一个单独的表&#xff0c;但在物理层面&#xff0c;每个分区都是存储在一个独立的文件上&#xff0c;可以位于…

ARM的三个按键实验

main.c #include "key_inc.h"//封装延时函数void delay(int ms){int i,j;for(i0;i<ms;i){for(j0;j<2000;j){}}}int main(){//按键中断初始化key1_it_config();key2_it_config();key3_it_config();while(1){printf("in main pro\n");delay(1000);}re…

Android中的onConfigurationChanged的使用

一.什么时候调用&#xff1a; 设备配置发生变化的时候调用&#xff0c;比如&#xff1a;内外屏切换、屏幕方向&#xff08;orientation&#xff09;、键盘状态&#xff08;keyboard&#xff09;、语言环境&#xff08;locale&#xff09;、屏幕布局&#xff08;screenlayout&a…

[金三银四] 操作系统上下文切换系列

图源&#xff1a; https://zhuanlan.zhihu.com/p/540717796 文章目录 2.11 cpu 的上下文切换2.12 协程的上下文切换2.13 线程的上下文切换2.14 进程的上下文切换2.15 中断上下文切换2.16 什么时候会发生进程的上下文切换2.17 什么时候会发生线程的上下文切换2.18 什么时候会发生…