AI文本生图模型Stable Diffusion部署教程

news2024/9/21 4:25:05

本文基于CentOS8进行Stable Diffusion开源框架部署.

1. DNS配置(但是今天出现了偶尔无法下载问题)

为了加速Github访问,我在本机配置如下

(sd) [root@shenjian stable-diffusion-webui]# cat /etc/hosts
127.0.0.1 shenjian localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
185.199.111.133 raw.githubusercontent.com
20.205.243.166 github.com

具体IP可通过https://tool.chinaz.com/dns/github.com获取当前可用最快IP

2. 下载 stable-diffusion-webui 仓库
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui
(base) [root@shenjian ai]# git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
正克隆到 'stable-diffusion-webui'...
remote: Enumerating objects: 30459, done.
remote: Counting objects: 100% (148/148), done.
remote: Compressing objects: 100% (81/81), done.
remote: Total 30459 (delta 84), reused 111 (delta 67), pack-reused 30311
接收对象中: 100% (30459/30459), 33.39 MiB | 12.59 MiB/s, 完成.
处理 delta 中: 100% (21311/21311), 完成.\
3. 下载其他仓库

webui 仅仅是一个外层界面包装,核心功能是通过其他仓库(或以仓库的形式、或以安装包的形式)支撑的。其他仓库需放在 ./repositories 文件夹下:

mkdir repositories

然后依次下载以下仓库,并切换到合适的版本以避免可能的版本适配问题:

stablediffusion

git clone https://github.com/Stability-AI/stablediffusion.git ./repositories/stable-diffusion-stability-ai
git -C ./repositories/stable-diffusion-stability-ai checkout cf1d67a6fd5ea1aa600c4df58e5b47da45f6bdbf

taming-transformers

git clone https://github.com/CompVis/taming-transformers.git ./repositories/taming-transformers
git -C ./repositories/taming-transformers checkout 24268930bf1dce879235a7fddd0b2355b84d7ea6

k-diffusion

git clone https://github.com/crowsonkb/k-diffusion.git ./repositories/k-diffusion
git -C ./repositories/k-diffusion checkout c9fe758757e022f05ca5a53fa8fac28889e4f1cf

CodeFormer

git clone https://github.com/sczhou/CodeFormer.git ./repositories/CodeFormer
git -C ./repositories/CodeFormer checkout c5b4593074ba6214284d6acd5f1719b6c5d739af

BLIP

git clone https://github.com/salesforce/BLIP.git ./repositories/BLIP
git -C ./repositories/BLIP checkout 48211a1594f1321b00f14c9f7a5b4813144b2fb9
4. 建立并激活新 conda 环境

conda加速配置

vim ~/.condarc

替换内容如下

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

然后创建虚拟环境

conda create -n sd-webui python=3.10
5. 安装 requirements.txt 中的依赖包
pip install torch torchvision -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install tb-nightly
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

安装其他依赖包

pip install ftfy regex tqdm -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install open_clip_torch xformers -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install -r repositories/CodeFormer/requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
# 方式一:可尝试该安装方式,不行换另外一种
pip install git+https://github.com/openai/CLIP.git
# 方式二:
git clone https://github.com/openai/CLIP.git
cd CLIP 
python setup.py install
6. 下载基础模型

从链接下载基础模型(Stable Diffusion v2.1,safetensors 格式,5.21 GB),放在 ./models/Stable-diffusion/ 下。当然也可以下载其他基础模型

7. 启动webui.py
# 有同学python webui.py启动,我这边报错了,然后用下面命令启动
# 其实在webui.sh中包含了上述大部分步骤
./webui.sh -f --skip-torch-cuda-test --precision full --no-half

OK,启动成功

Calculating sha256 for /home/shenjian/ai/stable-diffusion-webui/models/Stable-diffusion/v2-1_512-ema-pruned.safetensors: Running on local URL:  http://127.0.0.1:7860

To create a public link, set `share=True` in `launch()`.
Startup time: 230.0s (prepare environment: 226.1s, import torch: 1.4s, import gradio: 0.5s, setup paths: 0.4s, other imports: 0.4s, setup codeformer: 0.2s, load scripts: 0.4s, create ui: 0.3s, gradio launch: 0.1s).
df955bdf6b682338ea9b55dfc0d8f3475aadf4836e204893d28b82355e0956d2
Loading weights [df955bdf6b] from /home/shenjian/ai/stable-diffusion-webui/models/Stable-diffusion/v2-1_512-ema-pruned.safetensors
Creating model from config: /home/shenjian/ai/stable-diffusion-webui/repositories/stable-diffusion-stability-ai/configs/stable-diffusion/v2-inference.yaml
Applying attention optimization: InvokeAI... done.
Model loaded in 5.6s (calculate hash: 3.6s, load weights from disk: 0.2s, find config: 0.7s, create model: 0.2s, apply weights to model: 0.7s, calculate empty prompt: 0.2s).

访问http://127.0.0.1:7860

欢迎关注公众号算法小生

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

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

相关文章

VMware虚拟机安装银河麒麟桌面版V10系统

1镜像下载 1.1打开官网 百度搜索或浏览器地址栏直接输入地址 1.2找到镜像下载 选择桌面版操作系统进行安装我们日常办公使用的是桌面版的系统,选择桌面版操作系统进行下载 1.3申请试用 现在安装系统需要填写申请试用表,填写完之后,才会调转到镜像下载随着国产系统的日益…

QT基础篇(1)QT概述

1.什么是QT QT是一个跨平台的C应用程序开发框架。它提供了一套丰富的图形用户界面(GUI)和多媒体功能,可以用于开发各种类型的应用程序,包括桌面应用程序、移动应用程序和嵌入式系统。QT具有易于使用、可定制性强、性能高等特点&a…

C语言变量与函数

目录 变量函数 变量 变量:计算机里的一块内存空间int a 0; 表示定义一个整型 int 变量;这个变量名字叫做 a “” 表示赋值;即将右边的 0 赋值给左边的整型变量 a 现在这一块空间 a 存放了一个值 0 这个过程也叫做整型变量 a 的初始化初始化…

Web后端开发

一、Maven 1.1 简介 1.2 作用 1.3 流程 通过各种插件实现项目的标准化构建。 1.4 安装 1.5 配置环境 1.5.1 当前工程环境 1.5.2 全局环境 1.6 创建 Maven项目 1.7 导入项目 1.8 依赖管理 1.8.1 依赖配置 1.8.2 依赖传递 pom.xml——右键——Diagrams——show dependen…

【物联网】物联网设备和应用程序涉及协议的概述

物联网设备和应用程序涉及协议的概述。帮助澄清IoT层技术栈和头对头比较。 物联网涵盖了广泛的行业和用例,从单一受限制的设备扩展到大量跨平台部署嵌入式技术和实时连接的云系统。 将它们捆绑在一起是许多传统和新兴的通信协议,允许设备和服务器以新的&…

飞鱼CRM接入第三方系统 飞鱼API对接详细教程

场景描述 在白码低代码开发平台中,是支持外部crm系统的线索通过接口流入到白码系统里面,换而言之,只要外部的系统有线索api接口,白码系统可以接收线索并在白码系统上进行后续操作。本文以飞鱼crm系统为例,讲解如何接收…

Linux高性能服务器编程——学习笔记①

第一章、tcp/ip协议族 一、tcp/ip协议族1.1 主要的协议1.1.1 数据链路层1.1.2 网络层1.1.3 传输层1.1.4 应用层 1.2 封装1.3 分用1.4 测试网络1.5 ARP协议工作原理1.5.1 以太网ARP请求/应答报文详解1.5.2 ARP高速缓存的查看和修改1.5.3 使用tcpdump观察ARP通信过程 1.6 DNS工作…

CAN总线通信详解 (超详细配34张高清图)

CAN总线通信详解 (超详细配34张高清图) 1. CAN总线历史 CAN 是 Controller Area Network 的缩写(以下称为 CAN),是 ISO国际标准化的串行通信协议。 在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求&#…

慕尼黑工业大学最新提出!单目实时密集建图的混合隐式场方法

作者:小柠檬 | 来源:3DCV 在公众号「3DCV」后台,回复「原论文」可获取论文pdf 我们提出了一种新颖的方法,它将基于深度学习的密集SLAM与神经隐式场相结合,实时生成密集地图,而无需像以前的方法那样依赖RGB-…

如何确定测试用例的优先级?5个方面

测试用例优先级的确定,有助于测试团队合理分配测试资源,集中精力测试重点功能和场景,确保重点功能测试用例的覆盖率,从而有利于快速发现和解决重点功能缺陷,确保项目进度和质量。 如果测试用例没有明确的优先级&#x…

大数据调度框架Oozie,这个学习网站让你事半功倍!

Oozie是一个基于工作流引擎的开源框架,由Cloudera公司贡献给Apache。它主要用于管理和调度Apache Hadoop作业,支持的任务类型包括Hadoop MapReduce、Pig Jobs等。 Oozie的核心概念包括workflow jobs和coordinator jobs。Workflow jobs是由多个动作&#…

Raspbian安装摄像头

Raspbian安装摄像头 1. 源由2. 摄像头2.1 选型2.2 系统2.3 安装 3. 配置&命令3.1 命令3.2 配置 4. 测试4.1 拍照4.1.1 libcamera-jpeg4.1.2 libcamera-still 4.2 视频流4.2.1 RTSP流4.2.2 TCP流 5. 参考资料 1. 源由 家里闲置两块树莓派,打算做个WiFi视频流RTS…

四川云汇优想教育咨询有限公司引领电商未来

四川云汇优想教育咨询有限公司,一家在电商服务领域崭露头角的领军企业,致力于为广大客户提供最优质、最全面的电商服务。作为业界翘楚,云汇优想凭借其卓越的服务品质和强大的技术实力,在激烈的市场竞争中独树一帜,赢得…

Python入门-面向对象

1.类和对象 是不是很熟悉?和Java一样,在Python中,都可以把万物看成(封装成)对象。它俩都是面向对象编程 1.1 查看对象数据类型 a 10 b 9.8 c helloprint(type(a)) print(type(b)) print(type(c))运行结果: D:\Python_Home\v…

九州金榜|孩子不自信,根源在父母,莫让孩子失去自我

家长在看待孩子时,往往会忽视孩子内在的真实感受,以自己的想法去要求孩子。 聚会聚餐,就让孩子去表演节目; 出门游玩,看到舞台就让孩子去参加; 在家休息,让孩子独自一人睡觉... 这些行为孩子…

红日靶场1

文章目录 红日靶场的渗透思路一、靶场搭建网络拓扑1.win7配置2,win2003配置3,server2008配置4,kali配置 二、渗透流程一.信息收集二,获取webshell1.进入后台之后,可以选择插入一句话木马------失败2.在日志中插入木马3…

odoo14 动态改变进度条颜色(widget=“progressbar“)底色,边框,进度颜色

在odoo14中当时使用:widget"progressbar" 时默认表现为: 但我想在不同的比例展示不同的颜色,和其他的样式颜色: tree视图 form视图 也一样: 说明:进度0-30为蓝色,31-80为黄色&…

【C++ 程序设计入门基础】- 第4节-函数

1、函数 函数是对实现某一功能的代码的模块化封装。 函数的定义&#xff1a; 标准函数&#xff1a; 输入 n 对整数的 a、b &#xff0c;输出它们的和。 #include <iostream> #include <windows.h> using namespace std;int add(int a,int b);//函数原型声明int…

PyCharm连接服务器 - 2

文章目录 PyCharm连接服务器-21.如何连接服务器&#xff1f;2.如何在终端窗口打开SSH连接&#xff1f;3.Terminal终端出现中文乱码的解决办法&#xff1f;4.如何查看远程服务器的树目录结构&#xff1f;5.如何配置代码同步&#xff1f;6.如何为项目配置远程服务器中的python解释…

C#进阶学习

目录 简单数据结构类ArrayList声明增删查改遍历装箱拆箱 Stack声明增取查改遍历装箱拆箱 Queue声明增取查改遍历 Hashtable声明增删查改遍历装箱拆箱 泛型泛型分类泛型的作用泛型约束 常用泛型数据结构类List声明增删查改遍历 Dictionary声明增删查改遍历 LinkedList声明增删查…