ブログ
これまでに経験してきたプロジェクトで気になる技術の情報を紹介していきます。
生成AI素人のプログラマが、生成AIを使ってHPのTOPページを作ってみた ②
◆画像生成AI(StableDiffusion)の実行環境の構築
ここでは画像生成AI(StableDiffusion)をローカル環境で動かせるように環境を構築します。
この生成AIは、HPのTOPページで使用する画像を作成するのに使用します。
◆ローカル環境で画像生成AIの動作環境を構築する理由について
わざわざローカル環境の画像生成AIで画像を作成しなくても、お手軽なクラウド環境の画像生成AI(Copilot等)で画像を作成する方法もあります。
ですがクラウド環境の場合、リソースの都合上、無料で出来る回数や表現等に色々と制約が入ってきます。
そういった理由で、今回は自由で調査、研究しやすいローカル環境を構築する方向で進めています。
◆使用したPC環境について
使用したPC環境は下記となります。
項目 | 内容 |
---|---|
CPU | インテル Core i5-13400F (2.5GHz-4.6GHz/10コア/16スレッド) |
OS | Windows 11 Home 64ビット |
サウンド | マザーボード 標準 オンボードHDサウンド |
メモリ | 16GB (8GB×2) (DDR4-3200) |
マザーボード | インテル H610 チップセット マイクロATXマザーボード |
グラフィック機能 | NVIDIA GeForce GTX 1650 4GB (HDMI×1, DisplayPort×1) |
電源 | 450W 電源 (80PLUS BRONZE) |
SSD | 500GB SSD (MVMe Gen3) |
かなりの低スペックとなります。
本音で言えば、ぎりぎり生成AIが動くといったLVです。
基本的に快適にローカル環境で生成AIを動作させるには、高スペックのグラフィックボードを積む事が推奨されています。
どうしても低スペックのグラフィックボードしか用意できない場合は、クラウド環境を検討するのも1つの手です。
◆高スペックのグラフィックボードを推奨する理由について
単純に処理時間の短縮です。
画像生成AIは出力結果がランダムになるため、ベストな画像が生成されるまで何百回も試行する事になります。
そのため、1回の処理時間が伸びれば伸びるだけ、大きな作業ストレスとなるためです。
具体的に言えば、今回使用した「GeForce GTX 1650」の場合、1枚の画像を生成するのに5分程度の時間が掛かかります。
これを上のランクの「GeForce RTX 4070 Super」にした場合、20秒程度にまで短縮する事ができます。
今回使用したPCだと、1時間で10~12枚として、おおよそ1日8時間で80~100枚程度の画像が生成できる計算になります。
正直100枚程度の画像生成だと、ベストショット1枚が生成できるかできないか・・・といった状況になります。
実際にHP用に使う画像を10枚程度用意するのに、2~3週間もの時間が掛かっています。
調査・研究中の作業なのでこれでも許容できますが、もし実務だったらゾっとする話です。
◆StabilityMatrix の導入
StabilityMatrix というアプリを使って、画像生成AI(StableDiffusionWebUI Forge)を導入します。
色々と調査したのですが、StableDiffusion を単品で導入する場合、それなりの苦労が伴います。
また、StableDiffusion には複数のバージョンがあり、それらを個別に管理すると更に面倒な事になります。
StabilityMatrix はそれらの面倒事を簡単にするアプリとなります。
Unityで言うUnity Hub みたいなモノだと思って頂ければ解りやすいかもしれません。
◆導入方法について(主にエラー対応)
導入については、概ね下記ページを参考にして行っています。
画像生成AIは「StabilityMatrix」で超簡単インストール!a1111版、Forge、ComfyUIを一発導入・一括管理
※参考ページでは導入できる画像生成AIのツールがいくつかありますが、ここでは「StableDiffusionWebUI Forge」を導入しています。
しかし参考ページの通りにしても、いくつかエラーが発生してすんなりとは導入ができませんでした。
そのため基本的な導入は参考ページを見て頂くとして、ここでは発生したエラーへの対応を記載をいたします。
・エラー その①
AssertionError: Torch is not able to use GPU; add --skip-torch-cuda-test to COMMANDLINE_ARGS variable to disable this check
エラー内容としては、オプション「--skip-torch-cuda-test」を追加しろという指摘となります。
指摘されているオプションを追加する手順は下記となります。
1.Packege(StableDiffusion Web UI Forge) の ⚙ 印をクリックして、オプションを表示
2.表示された Lanch Options にある --skip-torch-cuda-test をクリックして保存
・エラー その②
RuntimeError: The NVIDIA driver on your system is too old (found version 11040). Please update your GPU driver by downloading and installing a new version from the URL: http://www.nvidia.com/Download/index.aspx Alternatively, go to: https://pytorch.org to install a PyTorch version that has been compiled with your version of the CUDA driver.
エラー内容としては「The NVIDIA driver on your system is too old」より、グラフィックボードのドライバを更新しろという指摘となります。
1.エラーに記載されているURL(https://www.nvidia.com/Download/index.aspx) へアクセス
検索ページが表示されるので、自分の環境のグラフィックボードで検索
2.検索結果より、ドライバをダウンロード
3.ダウンロードしたドライバを実行して、ドライバを更新
1つ前の手順で「555.99-notebook-win10-win11-64bit-international-dch-whql.exe」というファイルをダウンロードしたので、これを実行します。
ドライバインストーラーの選択は、基本「はい」で実行しています。
・エラー その③
ImportError: cannot import name 'Undefined' from 'pydantic.fields' (C:\Tool\StabilityMatrix\Data\Packages\stable-diffusion-webui-forge\venv\lib\site-packages\pydantic\fields.py)
初回起動時にのみ起きたエラーで、内容としては「pydantic」をインストールしろという指摘となります。
このエラーですが、再起動すれば何故か解消されました。
なので詳細な原因は解りません・・・エンジニアとしてはどうかと思いますが、再現できないので、一旦放置いたします。
・・・スイマセン!
◆動作確認
無事導入出来ていれば下記のような画面が立ち上がっているはずです。
ここで左上の Promptに「girl」と入力して、右上にある「Generate」ボタンを押下します。
しばらくして下のように右側に女性の画像が生成されれば、動作的に正常となります。
以上で、画像生成AI(StableDiffusion)の実行環境の構築は完了となります。
次回は、画像生成AIで使用するモデルやツール等の機能追加を行います。
引き続き、よろしくお願いします。
前回:生成AI素人のプログラマが、生成AIを使ってHPのTOPページを作ってみた ①
次回:生成AI素人のプログラマが、生成AIを使ってHPのTOPページを作ってみた ③
コメントはありません。