スポンサーリンク
画像生成AIの代表格の一つ、Stable Diffusionの開発者が作ったFLUX.1を試してみた。FLUX.1には3つエディションがあるが、商用利用も可能なものを選んでインストールしたがうまくいかず。色々知らべて、次回以降の解決編に進んでいく。
画像生成AIについてのまとめはこちら。
FLUX.1はStable Diffusionの開発スタッフが作ったBlack Forest Labsが開発した画像生成AI。
Stable Diffusion 3が商用利用が難しいライセンスになったことで敬遠される動きがあるが、FLUX.1は商用利用も可能なエディションもある。具体的にはこの3つだ。
おそらく訓練データ量は上に行くほど多いのだろう。
クラウドや利用料を支払うAPIはこのブログの流儀に合わないので、一番下のSchnellを試す。
まずはいつものようにPython の仮想環境を作ってgitでダウンロードする。
cd \python
python3 -m venv flux
cd flux\Scripts
activate
3,4時間かかった。巨大だ。
cd \ai\
git clone https://huggingface.co/black-forest-labs/FLUX.1-schnell
cd FLUX.1-schnell
以下のものが指定されている。また、PytorchはNVidiaのGPU対応版を指定する。
pip install --upgrade diffusers
pip install transformers[sentencepiece]
pip install Image
pip install torch -f https://download.pytorch.org/whl/torch_stable.html
pip install accelerate
最近のものはミスなしでインストールできるようだ。
いざ、実行しよう。
python sample.py
実行途中でエラーになった。
OSError: [WinError 126] 指定されたモジュールが見つかりません。 Error loading “F:\python\flux\Lib\site-packages\torch\lib\fbgemm.dll” or one of its dependencies.
fbgemm.dllはあるが関連するライブラリがないようだ。調べてみると、libomp140.x86_64.dll というものがない可能性が高い。
これはどこで得られるかというと、VC++のランタイムライブラリで供給されているようだ。
インストールして再起動するがだめ。
結局は検索した結果、マイクロソフト以外のサイトからダウンロードしている。
すんなりとはいかなかったが、停止するエラーはこれで解消。
画像生成がやたら時間がかかるので、調べたらdGPUではなくCPUで計算しているとわかった。Pytorchがその区別をするライブラリだが、これがCPU版が入っているのだろう。おかしい。
調べてみると確かに、pytorchは+cu121、というような表記がない。(クリックで拡大)
下のコマンドで以前はうまくいった。しかし今回は何度やってもダメ。
pip uninstall torch
pip cache purge
pip install torch -f https://download.pytorch.org/whl/torch_stable.html
公式ページに情報がある。
ここに従ってインストールする。
pip install torch==2.3.1 --index-url https://download.pytorch.org/whl/cu121
さあ、これで素早く画像生成してくれるだろう。実行だ。あれ。
RuntimeError: CUDA error: out of memory
CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
Compile with `TORCH_USE_CUDA_DSA` to enable device-side assertions.
CPU版ではエラーにならず動いたが、dGPU版ではメモリエラーになった。12GBのRTX3060では動かないのか!!
試しに8ビット量子化、4ビット量子化をやってみるも動かず。
さて困った。
次回に続く。
PR