見出し画像

Windows PC上でxFormersのパッケージをインストールする手順

※現在はxFomersのパッケージが提供されており、特段の理由が無ければ本記事の手順は必要ありません。


1. 概要

 Windows PC上に構築したPythonの環境でMeta ResearchのxFormersを利用する際、多くの方はパッケージをインストールするだけで済むかもしれないことがわかりました(Kohya.S氏からの情報、感謝!)。本記事ではその手順を説明します。

 なお、パッケージが適用できなかった場合や、正しく動作しなかった場合は、自分でビルドする必要があります。以下の記事を参考にしてください。

2. 環境の確認

 検証の結果、「xFormersのパッケージをインストールする環境でのPyTorch(torch)のバージョン」と「xFormersのパッケージをビルドした環境でのPyTorchのバージョン」が合っていないと、正常に動作しない恐れがあるようです。そのため、まずは前者を調べます。

 コマンド プロンプトを開き、xFormersをインストールする環境(仮想環境であれば先に入る必要あり)にて、コマンド「pip freeze | find "torch"」を実行してください。

#実行例
\aiwork> pip freeze | find "torch"
pytorch-lightning==1.8.4.post0
torch==1.12.1+cu113
torchmetrics==0.11.0
torchvision==0.13.1+cu113

 上記の例では「torch==1.12.1+cu113」の記述がありますので、「CUDA 11.3用のtorch 1.12.1」がインストールされていることがわかります。

2. パッケージの入手及びインストール

 先ほど調べた環境に当てはまる項目を参照してください。ただし、項目は執筆時点のものですので、将来的に変わる可能性があります。なお、項目がない場合は自分でビルドする必要があります。

自分でビルドする場合

 冒頭で紹介した別の記事を参照してください。

CUDA 11.3用torch 1.12.1の場合

 AUTOMATIC1111氏のStable Diffusion web UI(以下web UI)が使用するパッケージが使えます。以下のコマンドでインストールしてください(オプションは状況に応じて変更)。

pip install -U -I --no-deps https://github.com/C43H66N12O12S2/stable-diffusion-webui/releases/download/f/xformers-0.0.14.dev0-cp310-cp310-win_amd64.whl

 こちらはPython 3.10専用で、GeForce 10~30 seriesが対象とのことです。現時点では、WebUIはCUDA 11.3用のtorch 1.12.1を使用しているようですが、将来的に変更される可能性があります。参考まで、拡張機能のDreamBoothを入れた場合は、CUDA 11.6用のtorch 1.12.1に差し替える必要があります(バージョンが同じなので動作に影響はありません)。

CUDA 11.6用torch 1.13.1、
CUDA 11.7用torch 1.13.1の場合

 12/15/2022の時点において、下記で紹介したリンク先にビルド済みパッケージが無いため、自分でビルドする必要があります。冒頭で紹介した別の記事を参照してください。

CUDA 11.6用torch 1.12.1、
CUDA 11.6用torch 1.13.0、
CUDA 11.7用torch 1.13.0の場合

 現時点では、Python 3.7~3.10用のパッケージが以下のリンク先に掲載されています。GitHubにログインした状態でアクセスしてください(アカウントは無料で作成可)。ちなみにUbuntu用も置いてあるようです。

https://github.com/facebookresearch/xformers/actions/runs/3566916718

 下にスクロールすると、以下の画像のようなパッケージの一覧が出てきます。見つからない場合はJobsが選択されている状態だと思われますので、左側のリストの上にある「Summary」を選択してください。 

パッケージの一覧(抜粋)

 上記の画像を例にとると、「py3.10」がPython 3.10用を指し、続いて「1.12.1」「1.13.0」がtorchのバージョン、それから「cu116」「cu117」がCUDA 1.16用や1.17用を指しています。必要なパッケージが見つかったらファイル名のリンクからダウンロードしてください。ログインしていない場合はリンクがありませんので、ログインしてください。

 ダウンロードしたzipファイルの中にwhlファイル(パッケージ)があるので、解凍して以下のコマンドでインストールしてください(オプションは状況に応じて変更)。whlファイルの場所やファイル名が異なる場合は、適宜読み替えてください。

pip install -U -I --no-deps \aiwork\xformers-0.0.15.dev0+303e613.d20221128-cp310-cp310-win_amd64.whl

 インストールが終わると、作業はすべて完了です。

AUTOMATIC1111版Stable Diffusion web UIにxFormersをインストールする手順

 以下のコマンド例を参考にインストールしてください。web UIやwhlファイルのディレクトリ、ファイル名が異なる場合は適宜読み替えてください。

cd stable-diffusion-webui
venv\Scripts\activate
pip uninstall xformers
pip install --no-deps \aiwork\xformers-0.0.14.dev0-cp310-cp310-win_amd64.whl
deactivate

 詳細は、「1. 概要」で紹介した記事の「web UIにxFormersを新規インストールする手順」を確認してください。

3. 関連情報

補足

 検証時の環境ですが、OSはWindows 10(22H2)、Pythonは3.10.9、CUDAは11.6.2を使用しました。
 確認した限りでは、「xFormersのパッケージをインストールする環境でのPyTorch(torch)のバージョン」と「xFormersのパッケージをビルドした環境でのPyTorchのバージョン」の相違のみが問題となりました。片方のPyTorchがCUDA 11.3用で、もう片方が11.6用であっても、PyTorchのバージョンが同じであれば問題は起きませんでした。もし問題が起きるようであれば統一してください。

4. twitterの連絡先

 noteのアカウントはメインの@Mayu_Hiraizumiに紐付けていますが、記事に関することはサブアカウントの@riddi0908までお願いします。

この記事が気に入ったらサポートをしてみませんか?