xFormers安装使用

news/2024/12/4 4:46:42/

xFormers是一个模块化和可编程的Transformer建模库,可以加速图像的生成。

这种优化仅适用于nvidia gpus,它加快了图像生成,并降低了vram的使用量,而成本产生了非确定性的结果。

下载地址:

https://github.com/facebookresearch/xformershttps://github.com/facebookresearch/xformers

启用xformers对大图及以上有极为巨大的性能提升,极大幅度降低显存占用,并且有很大可能修复黑图。代价是部分细节可能有些许改变(有可能有巨大改变)。如果不是非常吹毛求疵,强烈推荐使用xformers生成高分辨率的图片。

即使同一种子、同一参数,使用xFormers后每次出的图都有点变化,主要是物件的边缘。但是和显卡型号的改变一样,只是细节上一些变化,不对比看不出来。请自行衡量能不能接受这些改变。

linux上构建xFormers:

切换到webui根目录

source ./venv/bin/activate
cd repositories
git clone https://github.com/facebookresearch/xformers.git
cd xformers
git submodule update --init --recursive
pip install -r requirements.txt
pip install -e

Windows上构建xFormers:

安装依赖项:

1、安装VS Build Tools 2022,只需要安装Desktop development with C++

https://visualstudio.microsoft.com/downloads/?q=build+tools#build-tools-for-visual-studio-2022https://visualstudio.microsoft.com/downloads/?q=build+tools#build-tools-for-visual-studio-20222、安装Install CUDA 11.3,如果已安装Stable Diffusion WebUI,则忽略

拉取xformers源码,创建venv并激活

git clone https://github.com/facebookresearch/xformers.git
cd xformers
git submodule update --init --recursive
python -m venv venv
.\venv\scripts\activate.bat

然后安装其余的依赖项

pip install -r requirements.txt
pip install wheel

运行以下内容:

python setup.py build
python setup.py bdist_wheel

在xformers目录下,进入dist文件夹,将.whl文件复制到目录stable-diffusion-webui。

如果当前安装的是Python3.10版本,也可以直接下载打包好的whlhttps://github.com/C43H66N12O12S2/stable-diffusion-webui/releases/download/f/xformers-0.0.14.dev0-cp310-cp310-win_amd64.whlhttps://github.com/C43H66N12O12S2/stable-diffusion-webui/releases/download/f/xformers-0.0.14.dev0-cp310-cp310-win_amd64.whl

在stable-diffusion-webui目录下,安装.whl,如果名称不同,请在以下命令中更改文件名称:

.\venv\scripts\activate.bat
pip install xformers-0.0.14.dev0-cp310-cp310-win_amd64.whl

修改webui-user.bat,确保xformers被启用

set COMMANDLINE_ARGS=--xformers

最新版本的xformers不需要编译代码,可以直接通过pip安装

在stable-diffusion-webui目录下

.\venv\scripts\activate.bat
pip install xformers


http://www.ppmy.cn/news/81449.html

相关文章

深入理解Java虚拟机:JVM高级特性与最佳实践-总结-8

深入理解Java虚拟机:JVM高级特性与最佳实践-总结-8 类加载的过程加载验证1.文件格式验证2.元数据验证3.字节码验证4.符号引用验证 类加载的过程 加载 在加载(Loading)阶段,Java虚拟机需要完成以下三件事情: 通过一个…

Unity之ShaderGraph 节点介绍 Input输入节点

目录 Input(输入)  1、Basic(基本)   1) Boolean(布尔)   2) Color(颜色)   3) Constant(常量)   4) Integer(整型)   5)…

『MySQL 实战 45 讲』17 - 如何正确地显示随机消息?(随机抽取 3 个词)

如何正确地显示随机消息?(随机抽取 3 个词) 需求:从用户的英语单词表中,随机选择三个单词,创表和插入数据如下: # 建表 CREATE TABLE words (id INT(11) NOT NULL AUTO_INCREMENT,word VARCHA…

LogicalDOC安装

安装7.x的版本的时候,页面新建文件夹,如果不支持中文,总是乱码,调试了很多,查了很多,发现他需要下载单独中文支持,而且还支持的不是特别好,索性用8,搭配jdk11,测试几个后…

Flutter学习之旅 -网格布局

文章目录 GridView列表三种形式常用属性 小案例 GridView列表三种形式 可以通过GridView.count实现网格布局 /* 格式: GridView.count(crossAxisCount: 一行显示数量,children: [component(),...],) */ class MyHomePage extends StatelessWidget {const MyHomePage({Key? k…

Java+vue生成报纸排版新闻页面

您可以按照以下步骤使用JavaVue实现生成报纸排版的新闻页面: 准备后端环境:Java Servlet或Spring Boot框架;根据需要定义Sql数据库表、字段、实体类等相关信息;使用Mybatis或Hibernate框架实现数据库访问操作;定义前端…

Redis缓存穿透、击穿、雪崩问题及其解决方法

Redis缓存穿透、击穿、雪崩问题及其解决方法 1 缓存穿透1.1 概念及其解决思路1.2 编码解决商品查询的缓存穿透问题: 2 缓存雪崩问题及解决思路3 缓存击穿问题及解决思路3.1 利用互斥锁解决缓存击穿问题3.2 利用逻辑过期解决缓存击穿问题 1 缓存穿透 1.1 概念及其解…

Hadoop集群常见错误

(一)启动hadoop集群时易出现的错误: 1. 错误现象:java.net.NoRouteToHostException: No route to host. 原因:master服务器上的防火墙没有关闭。 解决方法: 在master上关闭防火墙: chkconfig iptables off. 2. …