본문 바로가기
웹툰AI

Stable Diffusion xFormers 설치

by Kwoon 2023. 7. 28.
반응형

스테이블 디퓨전의 xFormers는 vram의 성능을 확장시켜주는 기능을 제공하는 라이브러리입니다. Xformers 라이브러리는 이미지 생성을 가속화하는 선택적 방법을 제공합니다.

https://github.com/facebookresearch/xformers/tree/v0.03

 

GitHub - facebookresearch/xformers: Hackable and optimized Transformers building blocks, supporting a composable construction.

Hackable and optimized Transformers building blocks, supporting a composable construction. - GitHub - facebookresearch/xformers: Hackable and optimized Transformers building blocks, supporting a co...

github.com

2023년 7월 28일 현재는 0.03버전까지 나와 있습니다.

엑스포머는 NVIDIA GPU에서만 사용할 수 있으며 이미지 생성을 최적화하고 비결정적 결과를 생성하는 대신 VRAM 사용량을 줄입니다. 통상적으로 Python 3.10에서 Pascal, Turing, Ampere, Lovelace 또는 Hopper 카드를 사용하는 경우 --xformers 플래그를 사용하여 리포지토리를 시작하기만 하면 됩니다. 호환되는 휠이 자동으로 설치됩니다.

 

윈도에서의 빌드

xformers를 사용하기 위해서는 CUDA 11.3 이상이 설치되어 있어야 합니다. 쿠다의 설치관련 해서는 NVIDIA 사이트의 설치 매뉴얼을 참고하시기 바랍니다. 일반적으로는 이미 설치가 되어 있을 것입니다.

 

https://developer.nvidia.com/cuda-toolkit

 

CUDA Toolkit - Free Tools and Training

Get access to SDKs, trainings, and connect with developers.

developer.nvidia.com

위 링크는 쿠다관련 링크입니다.

 

깃허브의 xformers에 접속해 보면 xformers의 설치 방법이 나오는데 cmd를 켜고 스테이블 디퓨전 웹UI가 설치된 폴더에서 다음을 실행시켜주면 됩니다.

conda create --name xformer_env
conda activate xformer_env
pip install xformers

(위 코드는 깃허브 사이트에 있으니 여기서 긁어서 사용할 필요는 없습니다.)

 

사이트에 게시된 설치방법과 코드입니다.

이 방법으로 설치가 안되시는 분들은 다음의 과정으로 시도해 보시기 바랍니다.

git clone https://github.com/facebookresearch/xformers.git

cd xformers

git submodule update --init --recursive

pip install -r requirements.txt
pip install wheel

(소스에서 빌드와 같은 방법입니다)

 

설치를 마치고 나면 메모장으로 webui-user.bat을 열어서 다음 코드를 추가해 주어야 합니다.

set COMMANDLINE_ARGS=--xformers --reinstall-xformers

xformers설치코드 일람.txt
0.00MB

본문에 소개된 설치코드가 담긴 텍스트 파일 공유 합니다.

 

팁!!

xFormers와 함께 웹UI를 실행하는 경우와 xFormers를 비활성화 하고 웹UI를 실행해야 할 경우를 대비하여 webui-user.bat 배치파일을 2종류로 만들어 사용합니다.

예를 들어 webui-user.bat에는 set COMMANDLINE_ARGS=--xformers --reinstall-xformers 코드가 없는 배치파일로 하고, 

webui-user2.bat에는 set COMMANDLINE_ARGS=--xformers --reinstall-xformers가 포함된 배치파일을 만들어두고 각기 다르게 실행하면 됩니다. 다만 2개의 배치파일을 동시에 실행하면 안 됩니다. 스테이블 디퓨전 웹UI는 여러 개를 실행할 수 있습니다. 이 경우 127.0.0.1:7860, 7861, 7862 이런 식으로 각기 다른 경로를 제공해 주는데 xformers의 경우 vram을 공유합니다.