ログインする ユーザー登録する
投稿企画「#Seedream4.5」開催中!特設ページへ ▶

17年前のCPUのメモリ4GBのPCで、stable-diffusion.cppを使って画像生成する

使用したAI Stable Diffusion
SD1.5のLCMモデルを使い、17年前のCPUで22分3秒で画像生成しました

512x512の画像サイズだし、時間はかかりますが、古いパソコンでも画像生成できました



――――――――――――――――――――――――――――――――――――



前回はメモリ3GBのスマホで画像生成しました
( https://www.chichi-pui.com/posts/2090ade4-86a8-4e8c-a8dc-97d82aaf17c6/ )
しかし精度を落としたcheckpointを使っていることもあって、生成された画像は実用に耐えるものではありませんでした


その後にメモリが512MBのRaspberry Pi Zero WでOnnxStreamを使って画像生成しようと試みましたが、うまくいきませんでした




さて、手元には古いパソコンがあります。Windows Vistaが動いていたPCです
マザーボードは2回か3回交換した記憶があり、壊れるたびに部品を交換して使っていた古参のPCです
これで画像生成しましょう
まずはHDDを余っていたSSDに換装したり、OSを最新のUbuntuに変更して環境を整えました

・パソコンスぺック
Ubuntu 24.04 LTS
Intel Core2 Duo E8600
メモリ4GB
SSD 120GB


Linux版のStable Diffusion 1111やForgeやComfy UIを入れようとしたのですが うまくいかなかったので、stable-diffusion.cppを使います


導入の仕方や使い方は次のサイトなどを参考にしました
一番目のリンクが公式サイトです

――――――――――――――――――――――――――――――――――――

GitHub - leejet/stable-diffusion.cpp: Stable Diffusion and Flux in pure C/C++
https://github.com/leejet/stable-diffusion.cpp

C++でStable Diffusionを実行する方法:stable-diffusion.cpp
https://zenn.dev/kmitsunami/articles/1ab2b8c46e6593

stable-diffusion.cpp と Python バインディング #StableDiffusion - Qiita
https://qiita.com/7shi/items/f0942fda82fefcbbdb03

CPUでもOK,はじめてのローカル画像生成AI。Stable-Diffusion-ForgeとFastSD CPU,Draw Things他など。練習例題あり初心者向け講座。LCM-LoRa高速化,LLMと組み合わせ技などあり。NetBSDもOK。 | ドクセル
https://www.docswell.com/s/kapper1224/5WWE9R-2024-08-04-170351

stable-diffusion.cpp で CPU で FLUX.1 Schnell を動かす
https://zenn.dev/syoyo/articles/a2779def150fbb

――――――――――――――――――――――――――――――――――――




・生成環境を構築

stable-diffusion.cppを用意します
CPUが古いせいか、公式サイトからコンパイル済みのファイルをダウンロードしてきても動きませんでした
(sd-master--bin-Linux-Ubuntu-24.04-x86_64.zip を試しましたが、今回の環境では動きませんでした)
そこで上記の「C++でStable Diffusionを実行する方法」を見ながら自前でコンパイルします
できた「sd」のファイルは、デスクトップにstable-diffusion.cppのフォルダを作ってその中に置いておきます
sdの実行ファイルは5.9MBしかなくて、これで動作するのか不安になります。でも大丈夫です


次にcheckpointをダウンロードします
SD1.5のLCMモデルである「theHWondermix_v1.safetensors」を使います
https://civitai.com/models/585257?modelVersionId=653075
ダウンロードしてstable-diffusion.cppのフォルダの中に入れます


次に画像生成の高速化のためにTiny Decoderを用意してします
https://huggingface.co/madebyollin/taesd/blob/main/diffusion_pytorch_model.safetensors
「diffusion_pytorch_model.safetensors」をダウンロードしてstable-diffusion.cppのフォルダの中に入れます
44分43秒が22分3秒になるぐらい高速化できます




・環境が整ったので生成します
stable-diffusion.cppのフォルダの中でマウスを右クリックして出てきたメニューの「端末で開く」を選択します
コマンドプロントが起動しますので、次のコマンドを打って画像生成を開始します
コマンドをコピーして、コマンドプロンプトの中で貼り付けしてEnterを押せばコマンドを実行できます


./sd -m ./theHWondermix_v1.safetensors --cfg-scale 1 --steps 4 --sampling-method lcm -H 512 -W 512 --seed -1 --type q8_0 --taesd ./diffusion_pytorch_model.safetensors -p "a lovely cat"


しばらく待つとstable-diffusion.cppのフォルダの中にoutput.PNGができています
それが生成された画像です
常に同じ名前で生成されるので、次に生成するとできた画像が上書きされてしまいます。保存したい画像は名前を変更して別の場所に移動しておきましょう



・コマンドの解説
コマンドはsdの実行のほか、checkpointの指定や生成画像の設定やプロンプトの指定をしています
--type q8_0で量子化をしてメモリを節約しています
--cfg-scale 1や--steps 4や--sampling-method lcmなのは、LCMモデル用の設定だからです
-p "a lovely cat"がプロンプトなので、a lovely catの文字を変更することで違う内容の絵を作ることができます


--diffusion-faでFlashAttentionという高速化技術を有効にできるようですが、今回の環境では逆に遅くなってしまったので使っていません
(追記: 高速化ではなく速度を犠牲にしてメモリ使用量を低下させる技術みたい)


stable-diffusion.cppには、checkpointを量子化して保存する機能があります
量子化するとファイルサイズが小さくなって、メモリを節約することが期待できます
しかし今回の環境では逆にファイルサイズが大きくなってしまったので使っていません
q8_Kで量子化したところ、2.4GBのcheckpointが3GBほどに増えました



・生成時のパソコンの状態
4GBのメモリ中、使用メモリはシステム全体で3.3GB (スワップ 532MB)
アプリが使うメモリは2.2GBでした
生成時間は22分3秒でした


ロースペックパソコンで画像生成するのって楽しいね






・比較
Windows11の現役PCで同じ画像設定でCPUで画像生成した場合
生成時間31秒
公式サイトからコンパイル済みのファイル「sd-master-d9b5942-bin-win-avx2-x64.zip」をダウンロードして使いました

呪文

呪文を見るにはログイン・会員登録が必須です。

イラストの呪文(プロンプト)

jacket partially removed, heart in eye, burnt clothes, holding fishing rod, kanji, doujin cover, pentagram, tape gag, adjusting headwear, red socks, friends, cloud print, coke-bottle glasses, oral invitation, competition school swimsuit, barbell piercing, gradient legwear, prisoner, blood on breasts, wind chime, carrying over shoulder, tape measure, flaming weapon

イラストの呪文(ネガティブプロンプト)

入力なし

user_h_TqQhPZmbさんの他の作品

user_h_TqQhP…さんの他の作品

すべてを見る

おすすめ

メンバーシップ

ヤンデレエルフと魔剣
16

ヤンデレエルフと魔剣

580コイン/月以上支援すると見ることができます

秋田 小町と上野 山手

秋田 小町と上野 山手

200コイン/月以上支援すると見ることができます

エジプト探訪
2

エジプト探訪

100コイン/月以上支援すると見ることができます

無料セミナー概要
4

無料セミナー概要

全体公開

ゼロから始める生成生活、無料セミナーを開設します。 動画編集と、ファイルなどを置く場所を決めるのでもう少しお時間ください。 おさーんの声でよかったら、さっさと説明動画youtubeに作ることができるかと思います。 生成ツールのトレンドNO1のComfyUIとgoogleのクラウドを使い、 「僕が知りうる限りで最も自由度が高く」「最もコスパの良い」生成方法をお伝えします。 ---無料セミナーのリンク 第1回:ComfyUIの基礎設定 Google Chrome , Google Drive , G-mail,クラウド利用料1200円必要 https://membership.chichi-pui.com/posts/images/c820ebda-c92d-4298-b342-e2a7a0ef1c42/ 第2回:18歳未満アクセス禁止 モザイクの向こう側 デイリー2位の作品をそのまま作ろう。 https://membership.chichi-pui.com/posts/images/43d817ed-4062-4bc4-b0aa-bec25d40c210/ 第3回:loraを入れて、チェンソーマンのレゼ コスプレイヤーを作ろう https://membership.chichi-pui.com/posts/images/f4acdc0f-da36-4ba0-9083-2ecf8a68aedf/

天悪未投稿まとめ
9

天悪未投稿まとめ

全体公開

企画「生成機能の子」PEGASUSちゃん 20251125 imageFX
2

企画「生成機能の子」PEGASUSちゃん 20251125 imageFX

300コイン/月以上支援すると見ることができます

愛をこめて鉄球を
19

愛をこめて鉄球を

580コイン/月以上支援すると見ることができます

オーバーオールアトリエコーデ
40

オーバーオールアトリエコーデ

580コイン/月以上支援すると見ることができます

Stable Diffusionのイラスト

すべてを見る

Amazon

トレンド

すべてを見る

ユーザー主催投稿企画

すべてを見る

新着イラスト

すべてを見る