カウント→たか丸へのローテク模索譚

たか丸へのメールを元に
主にロートル(古い)PC、ロースペックのPC関連の話題。たまに雑談。

低スペで画像生成AIをローカルで動かす(StableDiffusion)

2024-05-06 01:54:28 | PC関連
画像生成AIとしてStable DiffusionをGPUの無いPCで動かす話です。

前回まではStabilityMatrixの方を動かしていましたが、

今回はStable Diffusionの方です。

使うPCはStabilityMatrixが動いたPCで、
今年になって買った中古で¥10K未満のダイナブックなんですが、
Stable Diffusionを使い始めてたらメモリ不足になるので、
RAMを8GBから16GBに交換しました。

スペックとしては
Core i3 4100M(コア2、スレ4、2.5GHz)
RAM16GB(8GB*2)
SSD500GBに交換済。


世の中、だいたいやっている人がいるもので、
Stable Diffusionをwindowsに導入する方法そのものはネットで検索すれば、
GPUを使おうがどうしようが同じようなもので、そちらを参考にすればいいので、
導入手順の詳細は割愛します。

それを参考にして、低スペPCでひっかかったところや、
なんかうまくいかなかったところをメモとして残します。
必ずしも同じ事象になったり、同じ解決方法になるとも限りませんが、参考程度になるかな。
勿論、自己責任です。

まず、ツール類のダウンロードから始めますが、
だいたいはpython、ツール導入ではgitを前準備で入れておきます。

これまで、こういった開発系のツールはだいたいubuntuとかLinuxでやってしまうので、
あまり気にしていなかった。
windowsではeclipsくらいかな。
今回、windowsでgitを使うのは初なので、pythonとgitを入れた。
pythonはeclips入れたときに入っているはずなのだが、インストール時にパスを通すチェックを入れる必要があったので、
今回は個別にインストールした。

https://www.python.org/downloads/release/python-3106/
https://git-scm.com/downloads

インストールはだいたいデフォルトで、pythonのインストールでパスを通すチェックはした。

gitをインストールすると、デスクトップで右クリックして「その他のオプションを確認」を選択すると、


open git bash hereが選択できるようになる。



選択して表示されたコマンドプロンプトでgitコマンドやpipを実行することができるようになる。
gitで以下を実行して、今回やろうとしているStableDiffusion本体のダウンロードする。
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
これを実行すると、デスクトップに「stable-diffusion-webui」フォルダが現れて、
ここが実行環境になるようです。
今回、デスクトップで右クリックしてプロンプトを表示してそのままgitを実行してしまったので、
デスクトップにフォルダが作られてしまったが、
ホントはCドライブ直下とかの方が良かったかもしれない。

pipは後述の「webui-user.bat」実行時にjsonmergeとかが見つからないとかのメッセージが出るので、

pip install jsonmerge
pip install xformers

をやってみた。
ただ、これだけだと状況変わらなかったので見てみると、
pipでは
Cドライブのユーザのフォルダ(userユーザだとc:¥users¥user¥かな。usersはカタカナでユーザーとかだったりしますが)
のところにある
「Appdata¥Local¥Programs¥Python¥Python310¥Lib¥site-packages」
のところに「jsonmerge」が作成されて入っただけだったので、
今回作った「stable-diffusion-webui」フォルダ配下にはなかった。

しょうがないので、「jsonmerge」のフォルダごと
今回作った「stable-diffusion-webui」の中にある
「venv¥Lib¥site-packages」の中にコピーした。
「xformers」のフォルダも同様。(xformersはNVIDIA製のGPUのみのようなので、CPUのみの場合は不要っぽい)

これが本来のやりかたなのかはわからんが、まあ、動作した。勿論、自己責任です。

話は前後するが、
「stable-diffusion-webui」の中にある webui-user.bat
をダブルクリックして実行することになるが、

GPUが無い環境でそのままバッチを実行しても動作しないようで、
表示されるメッセージを見ると、オプションで
--use-cpu all --no-half --no-half-vae --skip-torch-cuda-test
をつけると良さそうな感じ。

試しに、「webui-user.bat」をメモ帳で開いて中身を見てみると、
「set COMMANDLINE_ARGS=」があったので、ここを
set COMMANDLINE_ARGS=--use-cpu all --no-half --no-half-vae --skip-torch-cuda-test
にして、ファイルを保存して、再度「webui-user.bat」を実行したら、ブラウザが起動した。

そのまま画像生成をしてみた。



時間はかかったが、画像生成できた。
StableDiffusionは画像から別の画像を生成することもできるし、
いろいろ試せそう。

時間がかかることがわかると、
本格的に画像生成していくなら、時間を短縮するためのコストとして
GPUを導入したいと思えるようになる。


コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 低スペで画像生成AIをローカ... | トップ | 「ChromeOS Flex」をwindwos1... »

コメントを投稿

PC関連」カテゴリの最新記事