プログラミング素人のはてなブログ

プログラミングも電気回路も専門外の技術屋の末端が勉強したことや作品をアウトプットするブログ。コードに間違いなど見つけられたら、気軽にコメントください。 C#、Python3、ラズパイなど。

画像生成AIをラズパイ5で動かす

ラズパイ5を何かに使ってみよう

ということで、画像生成AIが動くようなのでやってみました。
arkouji.cocolog-nifty.com
qiita.com
qiita.com
以上の記事を参考に、以下のコマンドでセットアップができました。

$ sudo apt-get update
$ sudo -H pip install --break-system-packages setuptool
$ sudo apt install python3-Cython
>>>Unable to locate package python3-Cython
$ sudo apt install python3-torch
$ sudo -H pip install --break-system-packages transformers
$ sudo -H pip install --break-system-packages diffusers
$ sudo -H pip install --break-system-packages accelerate
$ sudo -H pip install --break-system-packages scipy
$ sudo -H pip install --break-system-packages safetensors

Cythonはインストールがうまくいかなかったようだが、動いてはいそう。

Pythonスクリプトも引用先のままで。

from diffusers import StableDiffusionPipeline, EulerDiscreteScheduler

model_id = "CompVis/stable-diffusion-v1-4"
scheduler = EulerDiscreteScheduler.from_pretrained(model_id, subfolder="scheduler")

pipe = StableDiffusionPipeline.from_pretrained(model_id, scheduler=scheduler, low_cpu_mem_usage=True)
pipe = pipe.to("cpu")

prompt = "Hiace aiming for the summit of Mount Everest, realistic photo"
steps = 50

image = pipe(prompt=prompt, num_inference_steps=steps, height=256, width=256).images[0]
image.save("image.png")

結果


ラズパイ5といえども、このサイズでも結構時間がかかりますね。
ファンも全力で回っている感じで、音も気になるので時間をかけても大量生成、とかもやりにくいかなと。
サイズを小さくアイコンとかだったら、もう少しプロンプトとか工夫したら実用的なものもできるのでしょうか?