
(小ネタ?)Torch, Torchvision, Xformers, Bitsandbytes 導入に関する問題と解決法(Stable Diffusion 1.6.0)
今回はGCPでTrainTools機能追加の為の、Stable Diffusion 1.6.0 導入の際に、私とタナトスさん(chatGPT)が半日ぐらいすったもんだした結果を記しています。
なおこの記事のほとんどはAIで生成されています。原本はエラーログだらけで悲惨だったもの。
あと、Xformers, Bitsandbytesの導入バージョンは私のヤマ勘(AIにこれは出来ない)なので、これはあとで調べなければならない。
1. はじめに
本レポートでは、Stable Diffusion 1.6.0の動作に必要なライブラリとその導入過程について詳細に説明します。私のGCP環境において、torch 2.1.0 と torchvision 0.16.0 を適切にインストールした後、私の判断で xformers 0.0.20 と bitsandbytes 0.32.0 のバージョンを指定してインストールしました。これにより、Web UIを正常に動作させることができました。
2. ライブラリのインストールと調整
2.1. 必要なライブラリのバージョン確認
Stable Diffusion 1.6.0における安定動作には、次のライブラリバージョンが必要です。
torch: 2.1.0
torchvision: 0.16.0
xformers: 0.0.20(特定バージョン)
bitsandbytes: 0.32.0(特定バージョン)
これらのバージョンを、安定動作を確保するために手動でインストールしました。
2.2. インストール手順
torch 2.1.0 と torchvision 0.16.0 のインストール:
まず、torch 2.1.0 と torchvision 0.16.0 をインストールすることで、基本的な動作環境を構築しました。これらのバージョンはお互いに互換性があり、依存関係の問題は発生しませんでした。
xformers 0.0.20 と bitsandbytes 0.32.0 のインストール:
続いて、xformers と bitsandbytes はそれぞれ 0.0.20 と 0.32.0 のバージョンを指定してインストールしました。これらのバージョンを選んだ理由は、ひょっとしたら、torch 2.1.0 と互換性があると見込んだためです。
3. Stable Diffusion 1.6.0 と TrainTools
3.1. Stable Diffusion 1.6.0 の必要性
Web UIでの TrainTools 機能を利用するためには、Stable Diffusion 1.6.0が必須であり、最新のバージョンではこれに対応していません。そのため、Stable Diffusion 1.6.0 を使用することで TrainTools が正常に動作することが確認できました。
3.2. ダウングレードの手順
Web UI 1.6.0 にダウングレードするために、GitHubや pip でのインストールコマンドを調整しました。これにより、Stable Diffusion 1.6.0 の環境が再構築され、TrainToolsが利用可能になりました。
4. 実行環境と問題解決
4.1. インストール結果の確認
最終的に、以下のライブラリのバージョンが正常にインストールされ、動作することを確認しました。
torch: 2.1.0
torchvision: 0.16.0
xformers: 0.0.20
bitsandbytes: 0.32.0
これにより、Web UI 1.6.0上での TrainTools 機能の使用が可能となりました。
4.2. 実行ログと確認結果
以下のコマンドで Web UI が起動しました。
python webui.py --xformers --api
ログにおいて、xformers による最適化が適用され、モデルの読み込みに成功したことが確認できました。
実行ログ一部:
Applying attention optimization: xformers... done.
Model loaded in 6.1s (load weights from disk: 1.6s, create model: 1.7s, apply weights to model: 1.8s)
5. まとめと今後の課題
5.1. 現状の環境
現在、以下のバージョンがインストールされており、安定した動作を確認しています:
torch: 2.1.0
torchvision: 0.16.0
xformers: 0.0.20
bitsandbytes: 0.32.0
これにより、Web UI 1.6.0上で TrainTools を使用するための環境が整いました。
5.2. 今後の課題
ライブラリのバージョン管理:
将来的には、torch や torchvision のバージョンアップに伴い、依存関係の調整が再度必要になる可能性があります。Web UIの更新:
TrainTools を引き続き使用するためには、Stable Diffusion Web UI が 1.6.0 のままである必要があるため、UIの更新に際してはバージョン管理を慎重に行う必要があります。
以上、私のGCP環境における Stable Diffusion 1.6.0 の設定とその導入過程に関するレポートでした。この設定で Web UI 1.6.0 が動作し、TrainTools を使用するための準備が整いました。