画像生成AIをローカルで動かしてみた(ComfyUI(FLUX.1))

画像生成AIをローカルで動かしてみた(ComfyUI(FLUX.1))

今回は「ComfyUI」を使用して、工夫もなくデフォルトのテンプレートを使用して遊んでみます。
インストールから動かす所まで、軽く解説します。

動作環境はNVIDIAのGPUを搭載しているPCでグラフィックRAMの容量によって、画像サイズや使用するデータ(モデル)の種類が限られる感じになります。
CPUモードもあるので、使っている環境に合わせて起動してください
今回は両方試して、処理速度の差も分かります

今回のサンプルを動作させるにはストレージは20Gぐらいはあった方が良いかもって感じです。
いろいろ試したい場合は、必要に応じてギガ単位のモデルをダウンロードするので、ストレージの消費が激しいので注意です。

「ComfyUI」をダウンロードです。
以下のサイトへアクセスして、
https://github.com/comfyanonymous/ComfyUI

スクリーンショットのような「Installing」の項目に「Direct link to download」とあるので、これをクリックします。
2G程容量があるので、ダウンロードしてください

ダウンロードが終わると、7zip形式で圧縮されているので、展開できるフリーソフトがあるので、ソフトを入れて展開してください。
展開すると6Gぐらいになります。
「ComfyUI_windows_portable」を開くと

スクリーンショットのように「run_nvidia_gpu.bat」をダブルクリックするだけで、環境さえ揃っていれば動作します。
すごい簡単ですね。
ちなみに、CPUで動かしたい場合は「run_cpu.bat」を実行します。

これぐらい簡単だと楽でいいのですが、「ComfyUI」を使ったシステムって、「ComfyUI」そのものが少し難しいので、素直にテンプレートでいじってみます。

まずは、「ワークフロー」の「テンプレート」を選択します。

開くと左メニューから「Flux」を選択して、「Flux Dev」を選択します。
すると、モデルが無いと言われるので、ダウンロードボタンを押して、ダウンロードします。

ダウンロードのボタンを押します

サンプルを見ると、プロンプトを英語で入れているので、英語で入れた方が再現度が高そうです。

翻訳サイトで翻訳するとして、今回は以下のプロンプトを実行してみます。
英語の部分だけを入れて実行します。

戦闘メイド服を着た青いロングヘアーをなびかせた女性が夕日が綺麗な草原を背景にヘッドホンで音楽を聴いている
A woman with long blue hair wearing a combat maid uniform is listening to music with headphones against the backdrop of a beautiful grassland with a sunset

戦闘メイド服を着た青いロングヘアーをなびかせた女性が夕日が綺麗な草原を背景にヘッドホンで音楽を聴いている

GPUとCPUで、何が違うのかだけ少し解説します。

CPUは複雑な計算が得意でGPUは単純な計算が得意です。
3DグラフィックやAIの計算などは単純な計算ですが、大量に行う必要があります。
これは、CPUよりGPUの方が向いていて、GPUは大量のコアと高速なメモリーで一気に処理するので、AIには向いているわけです。
実際、今回の計算で差がどれぐらい出たかを示したいと思います。

比較は
GPU RTX5070ti
CPU i9-12900K

CPUの方が少し古いですが、わかりやすい比較にはなると思います。
注意点としては、CPUで計算中メモリーが足りてなさそうだった事です。
64Gメモリーで足りない感じだったので、CPUで試す方は注意です。

起動直後の動きw

むちゃくちゃメモリー食ってますw

GPUの場合メモリー使用量

32ギガメモリーがあればギリ足りそう

32ギガぐらいまでしか使っていません

実際に画像が出力されるまでにかかった時間です。
CPU

2時間22分23秒

2時間22分かかっています。
もはや秒単位は誤差です。1枚でこの時間だと、さすがに1回試せば十分です。
CPUに計算させながら、このブログ書いていましたが、数秒フリーズしたり通常作業にも影響がありました。

GPU

23秒

GPUで処理すると23秒で生成が終了します。
これなら、気軽に利用できます。試行錯誤もできますし、多少変な物が生成されてもやり直しがききます。
GPUのパワーを思い知りますね

このスクリーンショットは実際の処理中に進行度を表示している部分で、このスクリーンショットは実際の処理中に進行度を表示している部分で、100%になった時、かかった時間が表示されます。

遅い原因はメモリーが足りないとか、メモリーがDDR4で遅いとか色々ありますが、少し早くなるぐらいではGPUに太刀打ちできないのが分かるかと思います。
結果としては、GPUを利用した方が早いし安定しているので、NVIDIAのグラフィックカードがある方は利用した方がいいですね。
世界でGPUの取り合いになるニュースがありますが、それがよく分かる結果かと思います。

セル的なイラストになっています。
夕焼けもいい感じで、プロンプト通りになっていますね。

今度は以下のプロンプトで実行してみます。

ゴシックなメイド服を着た紫色のロングヘアーをなびかせた女性が夕日が綺麗な草原を背景にヘッドホンで音楽を聴いている

A woman with long purple hair wearing a gothic maid outfit is listening to music with headphones against the backdrop of a beautiful grassland with a sunset

このプロンプトで出てきた画像です。

なぜか、突然実写みたいな画像になりました。
夕日の感じもよく出ていますし、プロンプト通りのメイド服になっていると思いますが、なぜか実写風のリアルっぽい女性になっています。 
この違いは何なのかよく分からないですが、何の違いが影響しているの実験するために、以下のプロンプトを実行してみます。

戦闘メイド服を着た紫色のロングヘアーをなびかせた女性が夕日が綺麗な草原を背景にヘッドホンで音楽を聴いている
A woman with long purple hair wearing a combat maid uniform is listening to music with headphones against the backdrop of a beautiful grassland with a sunset.

どうやら、ゴシックメイド服だと実写風で、戦闘メイド服だとアニメ風になりました。
指定を変更してどうなるか試してみます。

戦闘メイド服のコスプレをした紫色のロングヘアーをなびかせた女性が夕日が綺麗な草原を背景にヘッドホンで音楽を聴いている
A woman with long purple hair dressed in a combat maid outfit is listening to music with headphones against the backdrop of a beautiful grassland with a sunset.

戦闘メイド服コスチュームを着た紫色のロングヘアーをなびかせた女性が夕日が綺麗な草原を背景にヘッドホンで音楽を聴いている
A woman with long purple hair wearing a combat maid costume is listening to music with headphones against the backdrop of a beautiful grassland with a sunset

ゴシックロリータ服を着た紫色のロングヘアーをなびかせた女性が夕日が綺麗な草原を背景にヘッドホンで音楽を聴いている
A woman with long purple hair wearing Gothic Lolita clothing is listening to music with headphones against the backdrop of a grassland with a beautiful sunset.

同じプロンプトで何度か出してみました。

今回の結論としては、学習した物の問題だと思いますが、実在する服は実写になる場合が多く、空想上の服とかアニメで使われている事が多い服は、アニメ調になるって事でしょう。
ゴスロリなんかは、実写もアニメも多いですからね。

着物を着た紫色のロングヘアーをなびかせた女性が夕日が綺麗な草原を背景にヘッドホンで音楽を聴いている
A woman with long purple hair wearing a kimono is listening to music with headphones against the backdrop of a grassland with a beautiful sunset

メイド服とかゴスロリが好きなだけの人になりそうなので、違うパターンも出しておきましたw。

最後にリクルートスーツで健全な感じにしておきましたw
夕日ばかりも何なので、朝日も・・・・

夕日と変わんなくね?w

Read more

作業用中ってBGM聞きますか?

作業用中ってBGM聞きますか?

ラジオを聞く方や、動画を見るなんて方もいらっしゃいました。聞いた話で凄かったのは、名探偵コナン(シリーズの話数が多いので)を裏で流し続けてるとか、テレビを流し続けている人もいるかと思います。 映像は見ちゃうのと、ラジオはパーソナリティーの話が面白かったり、動画系は物語は面白い話だと、意識を持って行かれるので、BGMとかがいいなと思いますが、歌が無い曲は良いのですが、歌詞が分かる曲は思わず歌ってしまいたくなってしまします。 歌詞が無いか、歌詞を知らないか、外国語で分からないとは言え、外国語でも有名な曲とかありますしね。 そこで、YouTubeで作業用BGMを探すと普通のBGMから歌付きの物まで沢山出てきます。 私も仕事中とか、BGMを利用したりしていたわけですが、そろそろ自分の作った曲だけで作れるのでは無いか?という考えになりまして、作ってみました! 今回第1弾では、ゲームの「Mining Mechs」用に作成したイメージソング集となっています。 「Mining Mechs」は作成した曲も多いので、1時間ぐらいあります。 今後はいくつかのゲームのイメージソングをまとめて1時間ぐ

「3D プリンター」って興味ありますか?

「3D プリンター」って興味ありますか?

今、高性能で定評がある3Dプリンターが安売りしています。 期間が2025年6月24日(火)10:00 ~ 2025年7月15日(火)23:59 ※日本時間 という事で、これを書いた今現在、絶賛セール中です。 特にお安いのが、 Bambu Lab A1 mini 3D プリンター https://jp.store.bambulab.com/products/a1-mini 44%OFFで ¥52,800 円 が ¥29,600 円 になっています。 絶賛悩んでいます・・・・欲しいとは思っていますが、買って何をする?何に使える?そこの展望が見えていないので、躊躇しています。 安い3Dプリンターは沢山あるのですが、「Bambu Lab」の3Dプリンターは性能や使い勝手が凄く評判良いです。 3Dプリンターも性能が悪いと、印刷した物が歪んだり、

「Killing Floor 3」について少しまとめました

「Killing Floor 3」について少しまとめました

Killing Floor 3 シリーズ3作目になるウェーブ型ゾンビシューター https://store.steampowered.com/app/1430190/Killing_Floor_3/ どんなゲーム化は、βテスト時のプレイ動画は以下になります。 まとめ 「Killing Floor 3」のクローズβテストが行われて、結構不評で発売延期になったので、その辺の経緯をまとめました。 延期の経緯と理由 Tripwire Interactiveが開発するゴアFPSシリーズ最新作『Killing Floor 3』は、当初2025年3月25日に発売予定でしたが、2025年内への延期が発表されました。その後、正式な発売日が2025年7月24日に決定しています 延期の主な理由は、2025年2月下旬に実施されたクローズドベータテストでのフィードバックが期待に沿わなかったことです。Tripwire Interactiveは公式発表で「ファンの愛する中核のゲーム体験をそのままに、シリーズを更に前進させる」という目標に届いていなかったことを認めました。 ベータテストで指摘された問題

vibe codingでQRコードを作成するWEBアプリを作ってみた

vibe codingでQRコードを作成するWEBアプリを作ってみた

無料のQRコードを作成するアプリって結構あるんですが、自分用のが欲しかったので、今回作ってみました。 正直このレベルだと、特に難しい事を考えなくても作れちゃいます。 アクセス先はこちらです。 https://test.aisgm.me/test_prog/app/QR_Code/ 一応課程を乗せておきます 制作環境ですが「Claude 4 Sonnet」を利用して作成しました。 今回はシンプルなQRコードなので以下の条件を設定しました。 * 文字列を指定したらQRコードへ変換 * 画像の下部にテキストでタイトルを記入できるようにする * QRコードのサイズを選択できるようにする * ダウンロードボタンでQRコードとタイトルを画像としてダウンロードできる * スマホからも利用可能にする これで作成すると、画面構成は現在の完成形ができあがりましたが、QRコードの生成ボタンが押しても反応しないなど、動きませんでした。 QRコード生成のJSのライブラリを利用するような仕組みだったのですが、リンク切れしていたみたいで、エラーが出ていました。 そこで、なんとかしてっ