画像生成AIを使ってみる(失敗)
概要
画像生成AIであるStable diffusionを使ってみましたが、私の環境ではうまくいきませんでした。。。
覚書のために今回試したことを記録します。
環境構築
Pythonのインストール
バージョンは3.10.6をインストールします。
Stable diffusionのクローン
Stable diffusionはgitで公開されているので、以下からクローンします。
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
Stable diffusionのインストール
「stable-diffusion-webui」>「webui.bat」をダブルクリックすると仮想環境のvenvがactivateされ、パッケージのインストールが始まります。
PyTorrchが重いので結構時間がかかります。
Stable Diffusion Web UIの起動
webui.batの処理が終わったら、ブラウザから「http://(PCのIPアドレス):7860/」にアクセスするとStable Diffusionが使用できます。
詰まったところ
実際はwebui.batを実行しても起動しませんでした。
エラーを確認すると以下のエラーで止まっていました。
RuntimeError: Torch is not able to use GPU; add --skip-torch-cuda-test to COMMANDLINE_ARGS variable to disable this check
PyTorchがGPUを使用できていないことによるエラーのようです。
「CUDAのテストをスキップする設定を追加しろ」と書かれているのですが、処理が遅くなっては意味がないので根本原因を調べました。
CUDAについて調べると、「CUDA(Compute Unified Device Architecture:クーダ)とは、NVIDIA製のGPUが最適な性能を発揮できる環境を提供するためにNVIDIA自身が2007年に開発した並列演算処理を可能とするコンピューティングプラットフォーム」と出てきました。
つまりPyTorchがこれを上手く使えていないということです。
venvをactivateして以下のPythonコードを実行すると、PyTorchのGPU使用状況が確認出来ます。
import torch print(torch.__version__) print(f"cuda, {torch.cuda.is_available()}") print(f"compute_{''.join(map(str,(torch.cuda.get_device_capability())))}") device_num:int = torch.cuda.device_count() print(f"find gpu devices, {device_num}") for idx in range(device_num): print(f"cuda:{idx}, {torch.cuda.get_device_name(idx)}") print("end")
確認方法については以下のサイトを参考にしました。

結論
私の環境がAMD Radeon RX550シリーズだったのが原因でした。。。
GeForceを購入したら続きを試してみます。
ディスカッション
コメント一覧
まだ、コメントがありません