1. わく枠べんきょ会
  2. #12 「俺たちのComfyUIはまだ..
2024-10-03 24:26

#12 「俺たちのComfyUIはまだ始まっちゃいない」

Agenda:「習慣ふりかえり/ComfuUI入門# 2」


習慣ボード · wakuwaku-benkyo-kai (github.com)

https://github.com/users/mossan-hoshi/projects/3/views/7


ComfyUIの初心者向けガイド - Stable Diffusion Art (stable-diffusion-art.com)

https://stable-diffusion-art.com/comfyui/#What_is_ComfyUI


KSampler ノード - ComfyUI 解説 (wiki ではない) (creamlab.net)

https://comfyui.creamlab.net/nodes/KSampler


VAE Decode - ComfyUI Community Manual (blenderneko.github.io)

https://blenderneko.github.io/ComfyUI-docs/Core%20Nodes/Latent/VAEDecode/


Variational Autoencoder徹底解説 #Python - Qiita

https://qiita.com/kenmatsu4/items/b029d697e9995d93aa24



presentor

- taniguchi

- sakamoto (mossan-hoshi) ⁠https://x.com/mossan_hoshi⁠


習慣ふりかえり

なにやる?

ComfyUI入門# 2

ComfuUI うごかしてみよう

各ノード理解 - Load Checkpoint

各ノード理解 - KSampler

各ノード理解 - VAE

改めて処理の流れ

image-to-image workflow

00:02
お疲れ様です。
お疲れ様です。
今日は、9月27日金曜日ということで、週刊振り返りと何かをやりましょうというところですね。
週刊ボードの方ですが、更新いただいてますねというところで、私の方ですが、一応、こちらポッドキャストと書いていますが。
最近ちょっとボードキャストは面倒くさいんで、ほぼ誰も聞いてないんで、YouTubeの方に軸足移して、そっちの方をやっています。
動画作っておけば後で音だけ切り出すのは全然できるんで、それでYouTubeの方やってますが、こちらの方もリリースはできてるかなというところですね。
一応直近も2個ほど上げたので、順調にいってるかしらねというようなところですね。
それ以外は全然できてなくて、運動を1日何分みたいな感じでやってましたが、やっぱりそれも無理というところで、1日毎日はきついなと。
きついというか難しいなというところなんで、ちょっと週単位にシフトしました。
週トータル、一応ハイキングとか行ってるんで、それを除けばプラス10分くらいはやりたいなというところですね。
その上で、いわゆるトリガーどうするかというところなんですけども、いわゆる仕事やってる時はずっと仕事なりますし、仕事終わるとグデーってなっちゃうんで、
どういうタイミングがいいかなというところで言うと、このまさに勉強会というか、それ始めるタイミングぐらいの時のちょっと前ぐらいは意外と少し5分、10分ぐらい時間があったりするんで、
そういう意味ではちょうどその空いてる時間になんかちょっとなんかやるみたいなのがいいのかなというようなところなんで、ちょっとそれをトリガーにやってみようかなというところで、
今日もちょっとそれでお試しでやってみましたというところです。
もう一個は、おまけエピソード的なやつですね。普段勉強してその結果をエピソードにまとめるってところでしたが、そもそも勉強してないというところがあるんですけれども、
それはそれとしてですね。ただエピソードまとめるのも意外とめんどくさいなというところで、ここでちょっと新しいものを使ってなんか試せないかなというところで、
ChatGPTのアドバンスとボイスモード、私どもChatGPT Plusに契約して使えるようになったので、
普通に会話できる感じだったんで、いい感じなんですけれども。学習するたびにボイスモードと普通に会話みたいな感じ、もしくは質疑応答みたいな感じでですね、
会話することで覚えた内容に対して記録残せないかなっていうのをちょっと試そうかなというふうに思ってますというとこですね。
あとはそもそも勉強の回数が少ないってところに関してはここに書いてますが、運動と同じような感じでですね、勉強会の前にですね、いわゆる勉強の本のチェックですね。
03:04
オライリンのサブスクリには登録しているんで、それで新刊なんかないかなとかみたいな感じで見ることで、ちょっと本に興味を持たせるってのをやろうかなというふうに思ってますというとこですね。
はい、少し長くなりましたが私はそんなところですね。はい、じゃあ谷口さんの方はどんな感じですかね。
はい、そうですね。僕の方も14日以内っていうの方は続いてるっていう感じで、たぶんまだ2週間いかないぐらいなのでちょっと右に移動してないっていう感じですね。
英会話の方もトリガーとは言わないんですけど、なんか最近はテニスクール後にはその日の話、英会話を入れるようにはしてます。
すごいですね。テニス行ってさらに英会話すか。なんか充実する感じがありますね。
そうですね。なんで家帰ってくるのが11時半とかなんで、もうちょっと早いんですけど、その後12時ぐらいスタートでやって終わって寝るみたいな。
いいですね。なんかいい流れですね。なんかすごく素晴らしいですね。
はい、GPU関係勉強っていうのはできてないっていうのもありますし、昨日何やるかっていうの決めたので、リセットっていう意味も込めて一番左にやって、
来週はちょっとこの一つ右にまた戻すよう、戻すのも今日に頑張ろうかなっていう感じです。
そうですね。いいですね。私もちょっとはいちゃろっと見てみようかなと思いますので、ぜひぜひやっていきましょう。
はい、じゃあ週間の振り返りとしてはそんなとこですかね。引き続きちょっと頑張っていきましょうっていうとこですね。
じゃあその上で次ですね、何やろうかなというとこですが、正直まだ決まってなくて、どうしようかなってとこではあるんで、昨日に引き続きどうしようかなっていうとこではあるんですが、
そうですね。振り返り的なことをやってもいいし、雑談的なことをやってもいいし、昨日の続き的なことをやってもいいし、ちょっと正直何でもいいんですけれども。
何か谷口さん的に興味あるというか、何かことありますかね。
そうですね。
うちは話的なやつでやってもいいですよ。
なかったから、そうですね。そういう話もしたいですし、何もなかったら昨日の続きをもう一度見てみるっていうのもありかなと思ってて。
僕の方で話のネタになる、最近何かしたかって言われると、あんまり出せるネタがないですね。日常系で。
OKです。OKです。私もほぼないんで。じゃあちょっと昨日の続きやっていきましょうかね。
はい。
昨日はあれでしたね。コミファイとかコミファイAIをとりあえずインストールしましたよってところまではやったかなというふうに思いますので、じゃあ今日はその続きというところで。
06:02
昨日は本当にGUI立ち上がったよっていうところまではできたので、その続きをやっていきたいんですが。
ではでは。コミファイUI入れましたよと。基本的にはバッジファイルでそのままできるよっていうような話でしたね。
ダブルクリックしてしばらく立つと立ち上がる。ここら辺は普通にPythonのGradio系のUIのGradioじゃないのかな。
標準というところで。昨日そういや途中までやってたやつはどんな感じだったっけなってところで。
こちらのコミファイUIのインストールについてのページでして。インストールは終わっているんで、実際にちょっとやってみましょうかね。
かかりますね。やっぱり。とりあえず立ち上がるとこんな感じでローカルに8188ポートでなんか出てくるよと。
非常に簡単でして。前回やったとおりですね。モデル引っ張ってきてこのやつを作ってと。
これはネガティブのプロンプトですね。これは引っ掛けてねっていうような感じかなのイメージで。
あとは作る画像についてのメタ情報。ここら辺でデカくすればデカい綺麗な画像はできるんですけども、
その分GPUのVRAM食いつぶすんで、そこら辺はあれですね。あとは同時に作る画像枚数ですね。
そちらのほうも変えられますが、これはもう同様にVRAMによって変わるんでですね。
そこはちょっと吉谷って感じですね。基本的には横上ちょっと見てないですが。
これで一通り設定終わったらあとは普通にキューブロンプトで処理が流れます。
処理を行っているやつがですね、ここら辺で色付くんですが。
できてるかな。昨日やってなんか普通にできたっぽいんで。
これ今適当に、昨日なんか私がプロンプト変えたやつなんですけれどもですね。
アニメ系が得意なモデルなんかなと思ったんで、アニメの男の人。
一応なんかだいたい若いキレイな人が多いんで、逆になんかお年寄りはどうかなって感じで、
エイジドゥーみたいな感じで入れましたよって感じですね。
今ちょっと初回だったんで、このロードチェックポイントかかってましたが、
ここでクルッと行って、Kサンプルでモデルからできて。
Kサンプラーが何やってるのかまだいまいちわかってないですよね。
これで一応アニメの男の人で疲れた感じで年取ってる人みたいな感じでですね。
そんなのが出てくるよという感じですね。
ここを例えばですね、ウーマンにすると同じような感じで。
ちなみに先ほどは今結構時間かかりましたけれどもですね。
ここロード終わってるんで、今2回目はだいぶ早めに行きますよって感じですね。
ここじゃあこのアニメ外すとどんな感じになるのっていう風になると、
疲れた年老いた女性みたいな感じですね。
それっぽいのが出てくるよねという感じですよね。
09:01
みたいな感じのがですね、いけるよって感じですね。
こんな感じで普通の画像生成AIの開発が簡単にできるよって感じですね。
とりあえず基本の部分はこんなもんかなと思います。
じゃあちょっとこちらのページをベースにズキズキいきますと。
このデフォルトのやつが何やってんのってところの話ですね。
最初のところで先ほどのモデルですね。
こちらのモデルは前回ダウンロードしてきたコミファイのモデルのチェックポイントみたいな感じかな。
そうですね、このチェックポイントのところに入れたってやつですね。
こちらのほうもやってきますよと。
これでモデル読んだらプロンプトでどういう風なものを作るか。
固定的否定的ってやって。
計算プラの説明がちょっと書いてないんですが。
なんですかね。計算プラなんだろうな。
コミファイのほうの話か。コミファイのほうの話で計算プラについてというところで。
クリップでテキストから。
クリップって基本的にはディフュージョンモデルのテキストとその画像のひも付けみたいなイメージになります。
入力されたテキストから対応する画像を作りますよと。
計算プラ。そうですね。
拡散モデルって何かというと最終的には綺麗な画像を作りたいんですよというところがありますけれども。
じゃあそれを作るにはどういう風にすればいいかというと。
今すんごいざっくり言いますけれどもですね。
一回その綺麗な画像からノイズに至るまでの道筋を全部覚えさせますよと。
それを逆にしていけば完全なノイズから綺麗な画像が作れますよ。
これが基本的に拡散モデルだいぶざっくりですけれどもですね。
そういうようなイメージになります。
いわゆるノイズを削除するというようなイメージになるんで。
ここのまさにノイズを除去していくよというところがこの計算プラというディフュージョンモデル。
拡散モデルのやつなのかなというところですね。
ここでひたすら最初は本当にランダムのノイズからですね。
その綺麗な画像に至るまでぐるぐる回すよというところが書かれているということかと思います。
ここで綺麗な画像を作っているよというような感じで見ていただければいいかなと思います。
この場合のデコーダーは何を取るのかという話なんですが。
これバリアブルオートエンコーダーの略で。
いわゆるオートエンコーダーって何かというとそのものの特徴を表すようなやつでして。
要はAIで作らせたいデータがありますよというふうになってきたときに。
12:00
これバリアブルそうですね。バリエーショナルオートエンコーダーか。
一般的なオートエンコーダーはこれですよというところですね。
これ表現したいよってなったときに。
いわゆるはこのCNNのニューラルネットワークをかましてあげて。
一旦こちらこのZの状態ですね。
ここでですねギュギュギュッとですね。
いわゆる情報量が少ない状態にします。
情報量少ないってどういうことかというと。
元の入力画像は縦掛け横掛ける画素のビット数の分だけ情報量を持っているんですけれども。
それよりももっともっと少ないですね。
情報量のですねZっていうのを表現します。
その上でそこからさらにこのデコーダーっていうのを使ってもっとこの入力画像を再現するっていうところですね。
そういうようなニューラルネットワークを作りますよと。
だからまず最初はもう本当に入力なんか入れてもノイズみたいなのが出てくるんですけれども。
それがですねちゃんとこの入力と同じようなふうになるようにですね。
誤差転搬でですね逆誤差転搬でですね。
それがですねちゃんとですねできるようにですねしていくよと。
これがですね上手くできると何が嬉しいのかというとですね。
結局入力入れてギュギュギュッとやってそれで戻すということができますから。
ある意味情報圧縮ができてるっていうようなイメージになるわけなんですね。
なのでこのある意味この入力のですね画像のですねエッセンスをですね抽出してよっていうようなイメージになります。
これが一般的なこのオートエンコーダーですよってとこですね。
じゃあこの場合は何なのかというところではありますが。
私もなんかふわっとしててですね。
さっきのギュギュギュってやったその普通のエンコーダーってここって本当にブラックボックスになりますよね。
いわゆる本当にとりあえずなんか情報をうまく押し込めてるけれどもですね。
それをですねその中身が何なのかわからないよと。
じゃあ一方でですねこちらですね。
バリエーショナルオートエンコーダーってやつはですね。
ある意味ですねこのこいつをですねやるんですけども。
ここがですねある意味その空間みたいな感じになっててですね。
この位置を変えるとですねそこらへんのですねこのやつがかかってくるよっていうようなざっくりとそういうイメージになります。
ある意味その空間空間上にですねそのなんか情報がですねマッピングされるみたいなぐらいのイメージに思っていただけるといいかと思います。
なのでこのですね空間上のですね座標をずらしてあげるとですねこんな感じでですね。
この作られる画像が違ってくるようなぐらいのイメージかな。
こんな感じですね。
この空間上にこんな感じでですね出てくるよっていうような感じですね。
こんな感じでですねいわゆるチューニング可能みたいな感じになってくるわけですよね。
この作られる画像が。
これできると何が嬉しいのやって話なんですが先ほどの画像なんか作るってなった時に。
ここらへんのですねパラメここらへんのですね空間をですね調整してあげると。
その調整するってところが先ほどのクリップっていうやつでそのテキストとその画像を紐付けますけども結局このテキストがここらへんの位置に紐付いてるよみたいなところのですね。
15:00
その位置関係をですねうまくつなげられるのがクリップであってそれそれに対してですねこの全体の空間っていうのがこの場合の場合というかですね。
そういったですね潜在空間潜在変数でですね表現できるようなですね空間ですよっていうようなイメージ。
ざっくり言うとそんな感じかなと思いますね。
はい私も昔学んでその流れなのでですね。
まああれですけれども基本的にはそんな感じでですね。
要はあのカスタマイズ可能なですねえっとオートエンコーダーぐらいにざっくり思っておいていただけるといいのかなという気がします。
はい私もちゃんと覚えてないのでちょっと多少なんかずれてるかもしれませんがまあまあ一旦はまずはそういう認識でいいかと思います。
はいてな感じで処理の流れですが先ほどの話。
そうですねここでちゃんと説明してくれてますね。
失礼しました。
一応ちょっと見ながらですねどういったことをやってるか確認しましょうか。
でチェックポイントからモデル引っ張ってきますよというところでですね。
これですねはいモデルってやつが先ほどの潜在空間であのギュギュギュってやってさらにそれがですね空間上でで出てくるよってやつになります。
でクリップっていうのがいわゆるテキストとですね画像ですね紐付けてあげるようなやつっていう感じのイメージで。
場合が違うモデルが何だ。
モデルがさっきのですねあの綺麗な画像から汚い画像のところに変換するというモデルですね。
場合が結局そのギュギュギュって圧縮したところのやつですね。
Zの部分。
だからその先のモデルの部分がいわゆるオートエンコーダーのその前段コーダーのエンコーダーデコーダーの部分に相当するのかちょっともしかしたら間違ってるかもしれませんからですね。
そんな感じですよというような感じで。
まあ少なくともこういうふうにですね画像の特徴を学習したですねモデルがあってさらにそこに関してはクリップでですね。
この潜在空間のどこら辺をですね狙い撃つのかってところをですねある意味テキストでですね調整可能ですよって感じになってくるという感じですね。
イメージとしてはそんな感じかな。
そうですね。
オートエンコーダーのデコードの部分。
別にエンコードの部分はしないですよね。
テキストから。
だから先ほど言ったように場合っていうのがいわゆるオートエンコーダーで画像を入れてギュギュギュってやってそれで画像を出すっていうところですけれども。
結局そのテキストでその潜在空間のここら辺を狙い撃ちって感じでやってそこからですねデコードしますんで。
いわゆる先ほどの話で言うところのここですね。
ここのですねどこら辺を出しますよってのをですね。
あのクリップのテキストからですね指定してあげてるっていうような感じ。
だからそのクリップのテキストがこの座標のどこをね。
クリップっていうのが要はそのテキストからこの座標位置への変換ぐらいの感じで持っていただけるといいのかなと思いますね。
それがまさにさっきのこれですね。
18:00
だからこのクリップでテキストを入力するとそれがどこの場合だとここら辺のここに入るよみたいなイメージですね。
今これすごいシンプルな0から9までの画像になっちゃってますけれどもですね。
実際にはもっともっと複雑な空間が学習されてるっていうようなイメージになります。
はいそうなんですね。はいそんなところかな。
っていうのはどこっすね。はいですね。
でクリップのテキストエンコードですが。
ここはさっき言った通りテキストエンコードして。
で洗剤画像を作りますよ。
そうですね。
で先ほど言ったようにこのランダムなやつからですね綺麗なやつにしていくっていうところをですね。
このやっていくのでまずはこの元となるですねノイズ画像をですねここで生成しているよっていうような感じになります。
ってとこですね。
だからこいつがこの計算プラで計算プラを
そうですね。
まさにさっきのランダムなやつからノイズ除去をしてフォトにやりますよと。
でこの計算プラのパラメータですがシードはランダムシードみたいな感じでして。
シード値をどういうふうに変えるかってところですね。
作った後に全く同じシードだと同じテキストを入れれば同じやつができてきちゃうので。
そこのシードをですね。
要は作る度にいろんな画像を出したいのにシードを出したから毎回同じ画像出ちゃうとめんどくさいんで。
そこらへんをこのシードをランダムにするか少しずつ増やすか減らすか。
もしかし変えないかみたいなところですね。
たぶんここで書いてるだけですね。
なのであまり大したことではないです。
ステップがサンプリングステップですね。
それがサンプリングっていうのがさっきのランダムのどういうふうにノイズ除去をするかっていうとこの流動的な話かな。
あとはそのサンプリングするときのアルゴリズムの話かな。
そうですね。
プライマー。
あとはスケジュールとノイズ除去。
まあまあいいや。
ちょっと細かいところはいいでしょう。
という感じでですね。
とりあえずランダム画像から綺麗な画像をやりますよというとこですね。
なるほどね。
という感じでした。
今のがテキストからのイメージというようなワークフローでしたよ。
じゃあ次がですね。
イメージとイメージのワークフローどんな感じやっていう話なんですが。
画像を読み込んできて。
映えで。
画像を入れてそこから映えで。
画像からラテントで。
ここでエンコードしているんで。
画像からいわゆるさっきのZってやつですね。
のところに置き換えてあげます。
このラテントがイメージとして入ってきてあげて。
それでプラスアルファでさっきのこのクリップも入ってきているよというような状況で。
21:03
このサンプラーができるよと。
Kサンプラーがいまいちイメージがなのかわからないですけどもですね。
とりあえず先ほどのクリッププラスアルファ。
Kサンプラーでですね。
画像が作られませんって感じかな。
すいません。
はい。
というような感じですね。
というような感じで。
基本的な構成はそんな変わらずいいですね。
画像から画像もですね。
できますよみたいな感じですね。
はい。
この画面全部見てもらいなんで。
一旦そんな感じでですね。
基本的な構成としてはモデル、クリップ、Kサンプラー、映え。
というのがですね。
基本的な部分ですよってところですね。
どんな感じかな。
今日はもう結構いい時間なんで。
一旦ここで終わりたいと思います。
まだ私もいまいちわかってないんで。
なんだかなって感じはしますが。
でもなんとなく様子は少しずつわかってきたかなってところですね。
とりあえずなんかありますかね。
いろいろ見てきましたか。
そうですね。
グラフ上に1,2,3,4,5,6,7,8,9がどういうふうに分布してるみたいなところまでは理解できたんですけど。
他のテキスト全てがもうああいう感じに分布してるっていう概念がよくもうとんでもない。
どういう次元の話をしてるんだろうっていう。
そうですね。
クリップもちょっとね。
私もいまいちわかってないですけど。
ざっくり座標Aの変換ぐらいの感じになってくるのかな。
ちょっといまいちわかんないんで。
そこらへんはちょっとおよいなんかもうちょっと学んでいきましょう。
すいません。私もだいぶふわっとしているんで。
とりあえずそこはおよいというところで。
正直わかんないですね。
でもこれを使いこなせればあれですよね。
ステーブルディフィジョンみたいに毎回ランダムにするんじゃなくて
一つこれってなったらそこを後調整していくっていうのができるようになる。
結構コントロールしやす。
そうですね。まさにこのそもそもこのZの部分をカスタマイズしたりだとか
あとはそのクリップのテキストの部分を調整したりだとか
結構いわゆる本当に画像生成AIのコツみたいなところになってくるとは思いますけれどもですね。
そこらへんの理解はもうちょっと深まるんじゃないかなと思いますね。
じゃあそんなわけでだいぶふわっとはしてましたが
一応入門の入門みたいなところは少しはいけたかなというところで
次回以降もうちょっと自分で何か組んでみるみたいなところですね。
そこらへんがちょっとできればいいなというところで
もう少しちょっと良さげなコンテンツというかですね
やりやすいコンテンツを探してみておきたいと思いますというとこですね。
じゃあ一旦今日はこんなとこですかね。
24:02
どこにいなければ一旦これで終わりたいと思います。
すみませんちょっとだいぶふわっとはしましたが
そんなところかな。
どこにいなければ今日はこれで終わりたいと思います。
では1週間お疲れ様でした。
では失礼します。
お疲れ様でした。失礼します。
失礼します。
24:26

コメント

スクロール