Antigravityと1weekやった感想・反省会

AIコーディングツール「Antigravity」を1週間ガッツリ使ってみた振り返りです。

結論から言うと、「AIの思考は凄まじいが、手綱を握る人間側に別のスキルが求められる」という教訓を得た1週間でした。


1. Workspaceにファイルが多量にあると「激遅」になる

当初、ワークスペースにObsidianの4フォルダとUnityプロジェクト一式を放り込んでいましたが、これが失敗でした。 とにかくAIの思考時間が長すぎる。 Geminiが思考している間に、皿洗いと洗濯物を済ませられるレベル。

こんなものかな(無料だったので)と思ってましたが、ワークスペースのファイル数に依存するようです。 そこでファイル数を削り、Obsidian 1フォルダ + Unityフォルダのみに絞ったところ、実用的な速度に改善。

「AIに全部見せる」のではなく、「いかにファイルを増やさないか」という情報の取捨選択がパフォーマンスに直結します。


2. Gemini 3.0の「知能」と「うっかり」のギャップ

Gemini 3.0は思考能力自体は非常に高く、複雑なエラーの解決策は即座に提示してくれます。 一方で、プログラミングの基礎的な部分で「しょーもないミス」を平然とやらかす二面性があります。

AIからの謝罪例:

「申し訳ない。コンパイルエラーの原因は Assets/Scripts/GameManager.cs という既存のクラスと名前が衝突していたためだ。 namespace ObjectX で囲っていても、Partial定義や同じ型名があるとUnityが混乱することがある。また、エラーメッセージを見るに、GameManager という型が既に存在していると認識されていたためだ。」

AIに「ニンゲン感覚のコーディング嗅覚」がほしいです。

以下、今回直面した課題の数々です。

マジックナンバー

9999f や 0.001f といった謎の数値が唐突にハードコーディングされます。後から調整しようにも、その数字の意図をAIに聞き直すコストが発生します。

レガシーコードの増殖

会話のコンテキストが切り替わる際、以前のコードとの整合性が取れなくなり、使われない古いメソッドや変数がゾンビのように残ります。「コードの全体像」を常に把握し続けることの難しさを感じます。

アクセス制御の崩壊

ChartManager.Instance.ActivePlanets.ToArray(); のような、どこからでも何でもできてしまう万能アクセスを平然と提案してきます。小規模なら良いですが、中〜大規模開発では設計の崩壊を招く火種です。

構文の破壊

基本的なシンタックスエラーも時折混じります。{} の閉じ忘れで関数が閉じられなかったり、リファクタリングの拍子に関数名が消滅したりすることも。また、C#的には string.IsNullOrEmpty を使うべき場面で String == null と書くような、言語仕様への甘さも見られました。

Unityの罠

Unity特有の「癖」にハマるケースです。代表的なのは GameObject == null の判定ミスや、スクリプトからShaderを初期化する際に誤って null を代入し、オブジェクトがピンク色(Missing Shader)で表示されてしまう現象などです。


3. 「Playモードへの移行時間」が最大のボトルネック

AIによる実装スピードが上がった結果、新たな問題にぶつかりました。

「AIは10秒で実装するが、UnityのコンパイルとPlayモード起動に1分かかる」という逆転現象です。

「Playモードで動かして確認する」という従来のデバッグ手法では、AIの速度を活かしきれません。このままだと、どんなにAIが速くても「15分に1実装」が限界だと感じています。もっと軽量な検証方法を模索する必要があります。


4. フォルダ構造の無秩序化

フォルダ管理をAIに任せた結果、Scripts/ 以下が非常に「綺麗で不便」な状態になりました。

  • 生成されたフォルダ: Audio, Core, Data, Debug, Editor, Entities, Environment, Event, Logic ...

用途は明確ですが、「Planet.csを探すのにどの階層を掘ればいいのか分からない」。

結局、機能単位(例:Planet/ フォルダに関連クラスをまとめる)で管理したほうが、人間にもAIにも優しい構造になると痛感しました。


5. 謎の rg.exe 増殖事件

突如、バックグラウンドで rg.exe (ripgrep) が大量発生。

ウイルスかと思いきや検索を高速化する実行ファイルだそうですが、これがPCのメモリ(64GB)を食いつぶし、YouTubeすら処理落ちする事態に。

  • 応急処置: taskkill のbatファイルを作成して強制終了。

  • 謎: 同様の症例がネットに見当たらないため、環境固有の問題か、Antigravityのインデックス貼りが暴走している可能性があります。要調査。


まとめ:どうしてこうなったか?

今回の反省を一言で言えば、これに尽きます。

AIは「最短距離でゴール(今動くコード)」を望み、

人間は「最長期間、楽に維持できる道」を理想とする。

AIの理解力に全依存してしまった結果、細かい技術的負債が山積みになってしまいました。

今後の対策

エディタ側で常にルールを監視させる .cursorrules のような仕組みの導入が不可欠です。

ただし、それを使いこなすためには、結局「人間側がUnityのベストプラクティスに精通していること」が絶対条件になる。

AI時代こそ、基礎体力が重要だと思い知らされた1週間でした。

敵の塩を舐める思いで挑め

とある音楽界隈の偉人は父親に 「嫉妬は人間の一番の敵だ」

と教えられ、嫉妬心を殺す努力を続けたという。
その習慣こそが、後の人生で大きな助けになったと語る。


ところで嫉妬とは何だ?

マインクラフトで例えるとわかりやすい。

自分はやり遂げた!この楽園はボクのものだ!
だから次の舞台も、また自分の手で一から創ってみせる。
未知の土地で新たなワクワクが待っている――そう信じてステージを進む。

しかし現実は……非情。

誰も踏み込んだことがないと思っていたユートピアは、すでに開拓し尽くされていた。

「あれ?やろうと思っていたこと、もう全部終わってるじゃん!?」
「どこの誰だ!?せっかくの楽しみが台無しじゃあないかあ!!?(ジョジョ風)」

――こんな感じだろう 意味不明?このコはきっと自分で開拓していたのを忘れてたんだろう

ともあれこれが、嫉妬の“訪れ”だ。


それが嫉妬って気付けるのか?

さて、ここで客観視できるかどうかが運命の分岐点だ。

今キミが“犯人”と呼びたいその人物は、
単にキミの“上位互換”だったというだけのこと。
しかし、犯人扱いしているのはあくまでキミ自身だ。

仕方がない、と言えば仕方がない。

  • 自分の地位が脅かされる。
  • 競争に不利になりそうだ。
  • 比較されたら負ける気がする。

――そういう心象が、心のどこかで勝手に生成されるからだ。

だが負けるな。
この正体をここで見破れなければ、一生同じ目に遭い続ける。


よくわからないけど「危険信号が発報されている」

だいたいこういうとき、人はこう感じる。

「うわ、まじかよ…」
ではなく

「すげぇ、こんなことできるのか!?」
でもなく

「え?なんで(自分より)できるの?」

これだ。
危機でも敵襲でもないのに、脳だけが勝手に危険信号を鳴らしている状態。

この感覚は正しい、だが実際はもっと深刻で、すでに成功の暗殺者に狙われている。


成功の暗殺者

嫉妬は成功の暗殺者だ。
喜びを噛みしめた直後に忍び寄る、静かな陰。

「嬉しいはずなのに、何かモヤっとする」
「いい結果を出したのに、誰かのもっと上の成果を見て急に色あせる」
「褒められても、自分より評価の高い誰かを思い浮かべてしまう」

気づいたときには、もう心の奥に入り込んでいる。
外部の敵ではなく、内部から成功を食い荒らす敵 だ。

しかし、こいつはどこから来た?

――いや、どこからも来ていない。
なぜなら 自分自身が生み出している からだ。


どういうことだ?

ちょっと例え話も面倒くさいなったから科学に頼る、許せ。

人間は意思に関係なく、常に他者を参照して自分の価値を測る。
これは認知科学・心理学で 社会的比較(Social Comparison) と呼ばれる。

  1. 本来は成功しているはずなのに、
  2. もっと大きな成功を見てしまうと、
  3. 自分の成功を“失敗扱い”してしまう。

成功と失敗は本来同時に成立しないのに、
人間の価値判断は他者の存在によって簡単に上書きされてしまう。

キミは成功したのに。より大きい成功を見た瞬間、
“自分の成功”が持つ価値を自分で投げてしまった

成功に価値を置きすぎているがゆえの悲しき性。

これが嫉妬の正体だ。

成功が優位になるとか認められるとかいったメリットを約束するわけではない。ここをセットで捉えていると嫉妬したときの落胆も大きい


敵の塩を舐める覚悟

話をまとめよう。 自分の成果は確かにあった。
そこには努力も工夫も、ちゃんとした手応えもあった。
しかし――知らぬ間にその成功は腐り果て、失敗のように見えてしまった。

よりよい成功があるなら、それでいいや。

そうやって全部を流してしまうこともできる。
「自分は自分、他人は他人」で済ませてもいい。
心を守りたいなら、それも一つの選択だ。

嫉妬の正体

だがここまで書いたように嫉妬はもっと意味があった。

成功は暗殺されるしかも自分で知らぬ間にやっている。

成功を大切にするには、懐にしまわないといけない。 もしかしたら心が小さいと懐も小さいかもしれない、そこに成功は入るか? そうだ、心が広くないと暗殺されてしまう。

でも懐を広くするには現実を受け入れないとならない。 だからこそ覚悟がいる、得るべきだった成功を調べること、敵の塩を舐める覚悟、恐れずに、自分のものにするということは、自分が知ってる状態だ。


嫉妬の真逆を目指してみよう

スクリーンに出てくる絵師は絵を書き上げたのに、満足がいかないからと
作業台を片付けて泣いて終わるだろうか?そんなことない。

「これだ!」という新しいイメージが降ってきたら、 もはや片付けどころではなく。
作業台の上の小物を豪快に手で薙ぎ払い、 “今すぐ描かなきゃ消える!” という焦燥で、 全力でキャンバスに向かう。

嫉妬が真逆になったらこういう感じになるはずだ、 他者と比較した所で自分の萎縮材料などせず、自分の発火材料として扱っている。

作業台の小道具を手で薙ぎ払う「今の自分なら、もっと上に行ける」といわんばかりの強烈な“未来肯定”だ

そもそも、くよくよしてる場合だろうか? 時間は非情なもので、たくさんあるときは頼もしい味方だが、足りなくなるときはこの上ない強敵になる。今進めるなら、今進むべきだ。

嫉妬は無知であり、模倣は自殺である。 Ralph Waldo Emerso(ラルフ・ウォルド・エマーソン)

後悔しないために、数年後の人生を今ここに

戦争を生き抜いた世代への敬意と願い

オレが小さいころ祖母は元気だった、いまではメールも使えないし得意だった裁縫も億劫になったようだ、幸いにも日常生活はできる。

運動のために歩いているが常備薬の作用で100m歩けばバテてしまうし階段も大変そうだ、でも体の自由が効くのが最も救いだと思っている。日頃の行いが良かったのだろう。

これまで様々な病を払い乗り越えてきたけど老いは誰でも平等に来るし。第二次世界大戦を生き抜いた世代の旅も無事に終わって欲しいと切に願うばかりだ。

後悔とは蜃気楼なのか?

「あのとき、もっとこうしておけば」と思うのはニンゲンの性で、だれもが体験する事だ。

しかしそういう思いは当時の自分にはなかった選択肢で、成長した現時点の自分が過去を見つめることで確認できた蜃気楼の選択だ。

過去と現在の自己を鏡合わせに考える

ここで逆に考えてみよう、その蜃気楼の選択肢はいまも存在する。ミライからは見えるが、現在からは見えない。鏡合わせにするとよくわかるはずだ。

四次元の選択肢を掴み取るための思考とは?

「四次元の選択肢」

ミライからは見えるが、現在からは見えない。四次元の選択肢を掴み取るための思考

後悔=過去の失敗ではなく情報の未取得

あのとき「もっとこうしておけば」という後悔は当時の自分にはなかった選択肢で、成長した現時点の自分だから選べたようにみえる選択肢である。

逆に考えればその蜃気楼はいま現在もあるのだから選べるのでは?

その選択肢は再現可能なのか?

その選択肢とはどういうものだ? より良い結果であることは間違いないようだ。 その選択肢は手順がちゃんとあって実行できるものだ。

その選択肢は現在の自分が過去の結果を見つめることで判明する、これを現在の自分から再現する方法があればよいか?

仮説A

これは、過去の自分と現在の自分は同一ではないのに、時間という流れが相互であるために起きているなにかだ。パラドックスみたいだ。

1+1=2みたいな計算を1+@= のような別々の概念を1つ式に当てはめているから完全な解決でないようにみえる。

より飛翔した発想が必要だ。

仮説B

もし、この感覚が自分だけなら、他人に伝えても、その対象は言葉と意味合いを頭で掴めない間隔に陥り、言ってる言葉の単語と用語は過去の経験から補填できるが、話し手側の意図は何も理解できないはずだ。

仮説C

まず現時点で再現ができる最高の自分、パーソンAを仮定する。パーソンAをミライに置いて、現時点の自分パーソンBを観察する。パーソンAはパーソンBが選べた蜃気楼の選択肢Xを掴める。

パーソンAは可能性の塊で無限の選択肢を持つ、このままではパーソンBでは不可能な選択も選べる・・・これでは成立しない。

そこで選定基準として時間の流れを合わせる、これで「明日までにテストで100点を取れるような勉強をする」なんて狂った選択はしないだろう、ニンゲンとして全うするならホモ・エコノミクスとして最善を選び続けるかも。

知っての通り、ホモ・エコノミクスはちょいと昔のモデルだ。これだけでは不十分、よりよいミライを誰が選択するのかは、パーソンAを生み出したパーソンBなのだ。

未来の自分を設計する

仮説を踏まえてここでの結論を集めてみよう

プランA

パーソンAを作る方法はこの推理においてとても実入りある結果だ。仮説Cは効率よくミライを知る方法として有効だと思える。

これにはパーソンAをどうやって構築するかを研究しなければならない。手始めに数分先のとかなら簡単だろうか?

プランB

選択における無駄を減らせる。 仮説Bのようにミライを手軽に知った所で、それを理解するために時間と労力が必要だ、最終的な努力はイーブンになる。だが無駄は減らせるようにみえる。

プランC

意思は後悔を解き明かすヒントのようだ。 後悔とは「過去の自分が取れなかった選択肢を、成長した現在の自分が知っている状態」つまり失敗の感情ではないのだ。意思を見つめることで解明できる。

後悔とは未来への投資!

ミライは何もしなくても訪れる。よい結果は、意思、という投資が必要だ。いまもこれからも変わらない高級な意思、なぜ意思は変わってしまうのかという理解から始めよう。

9060XTでComfyUIを安定させたい

前回の後日談 madokamihurin.hatenablog.jp

一応画像自体は作れるのだが

アップスケールとか、InPaintなどちょっと凝ったことをすると・・・

出力がイカれる、この画像よく見ると前回の画像が混ぜているように見える。ここに問題があるんでは?

トラブル

ComfyUIにおいてAMDのグラボRDNA4GPUカードで1枚目の生成は成功するが、2枚目は何らかの条件で失敗する。

仮説

2枚目の画像は1枚目の画像と混ざったような風景が出力されている。1枚目の出力後にクリーンな処理ができてないか。2枚の出力までに前回の情報を破棄できてない説

推測

「VRAM上のデータ(特にLatentやAttentionのキャッシュ)が正しくクリアされず、次回の生成に干渉している」出力結果が壊れる(砂嵐や色が変、前の画像が混ざる)

「VAEの処理落ち」 か 「メモリのクリア漏れ」

結論

以下の組み合わせで実行する。

python main.py --disable-smart-memory

とりあえず、これで安定する。

--lowvram 

などに頼らなくても大丈夫そうだった。

ComfyUIの動作に成功した話

まず実行した環境について。

項目 役割
RX 9060 XT ローカル画像生成の人権GPU
Adrenaline 25.20.01.17という特注品みたいなやつ
Windows 11 コンピュータの土台(OS)
ComfyUI 画像生成を行うメインアプリ
Python3.13 ComfyUIはPythonというシステムで動く
Miniconda3 Pythonがコスメならこっちは巨大な化粧箱だ
Git GithubからDLするのに使う
ROCm 期待の新人

導入場所の選定

この手順ではComfyUIの場所を決めるだけで良い、なのでK:\に直接ぶち込む。ComfyUIにPython環境を作ってvenvファイルを用意する方法もあるらしいが、minicondaにPythonを任せるのでそういう手順は不要になる。

ComfyUIの導入

AMDバージョンはGIT経由で入れるのが簡単なのでこれを使う。ここでいうGITというアプリの役目は大昔で言うダウンローダーのような扱いで、GithubというサイトからアプリをDLしてくれる。

K:\ を対象にGITを起動し以下を実行

git clone https://github.com/comfyanonymous/ComfyUI.git

成功すれば

K:\ComfyUI

というフォルダが登場し、中には沢山のpyというコードがあるはずだ

Pythonが実行できる環境を構築する

今回はminicondaで仮想環境を作る、こうすると、他に色々なPythonアプリを動かしたくなっても専属のPython環境を与えられる、つまり柔軟性が効く。

minicondaで環境を用意する

conda create -n comfyuiROCm python=3.13

これでcomfyuiROCmというPython3.13のラストバージョンで動く仮想環境が作れる

アクティブ化

conda activate comfyuiROCm

かならずやる

成功すると

(comfyuiROCm) K:\ComfyUI>

のように、(comfyuiROCm) 仮想環境が有効になってることが確認できる。

pipの更新

(comfyuiROCm) K:\ComfyUI>python -m pip install --upgrade pip

もし、Requirement already satisfied: などと表示されたら更新の必要はないのでヨシ

torch torchvision torchaudio の導入

pip install --pre torch torchvision torchaudio --index-url https://rocm.nightlies.amd.com/v2/gfx120X-all/

https://rocm.nightlies.amd.com/v2/gfx120X-all/ と、ある部分はグラボによって書き換えが必要!

以下によれば

https://github.com/ROCm/TheRock/blob/main/RELEASES.md

RX 9060 / XT はGFX1200らしいので上記のアドレスでよし。

すんなり導入できたが念の為 pip list で調べる。

パッケージ名 バージョン
rocm 7.11.0a20251130
rocm-sdk-core 7.11.0a20251130
rocm-sdk-libraries-gfx120X-all 7.11.0a20251130
torch 2.10.0a0+rocm7.11.0a20251130
torchaudio 2.10.0a0+rocm7.11.0a20251130
torchvision 0.25.0a0+rocm7.11.0a20251130

のようにrocmとtorchがROCmEditionになってればよし。

仮想環境にComfyUIで必要なライブラリをいれる

実行

(comfyuiROCm) K:\ComfyUI>pip install -r requirements.txt

仮想環境にrequirements.txtにかかれたもの全部入れられる。

起動

実行

(comfyuiROCm) K:\ComfyUI>python main.py

結果

抜擢するがだいたいこうなる。

total VRAM 16304 MB, total RAM 65422 MB
pytorch version: 2.10.0a0+rocm7.11.0a20251130
Set: torch.backends.cudnn.enabled = False for better AMD performance.
AMD arch: gfx1200
ROCm version: (7, 2)
Set vram state to: NORMAL_VRAM
Device: cuda:0 AMD Radeon RX 9060 XT : native
Enabled pinned memory 29439.0

Import times for custom nodes:
   0.0 seconds: K:\ComfyUI\custom_nodes\websocket_image_save.py

Context impl SQLiteImpl.
Will assume non-transactional DDL.
No target revision found.
Starting server

To see the GUI go to: http://127.0.0.1:8188

batファイルの作成

このままだと毎回毎回環境のアクティブから始めるので面倒くさいがこれはbatファイルをAIに任せれば良い

例として

@echo off
call "C:\Users\username\miniconda3\condabin\conda.bat" activate comfyuiROCm
python main.py
pause

usernameの部分は各々で違うため確認すること。

これを〇〇.batとして、K:\ComfyUI に置いておく、そしてこのbatを開くと上記のコードが実行されて、最終的に

(comfyuiROCm) K:\ComfyUI>python main.py

を実行したのと同じ事をやってくれるのだ。

Stability MatrixのComfyUIにROCm 7.1.1を入れてみると?


Windows上でAMD搭載のLLMをPyTorchでデプロイする初心者向けガイド - AMD GPUOpen

の記事にWindowsでPytorchを導入する方法があったのでStability MatrixのComfyUIに導入したらチョットは安定するんかなと思ったが結果そうでもなさそう。

なので読まなくて良いが、既存のパッケージの一部をオーバーホールしてみたかったので備忘録として残す

📋 前提環境と準備

このバージョンはいくつか準備がいる

1. 専用ドライバーのインストール

通常のAdrenalin Editionではなく、PyTorch専用のドライバーが必要。 以下のAMD公式ページからダウンロード

これが入っていないと始まりません。既存のドライバーがある場合はクリーンインストール推奨。

2. Python 3.12 の用意

ROCm 7.1.1 は Python 3.12 を要求します。 Stability Matrixは最近になって、Pythonバージョンを変更できるようになったのでこれを使えばよし。 自分は環境をアクティブにしなくても、そこのPythonが表示されるんだろうと思っていたため、環境アクティブにせずPythonバージョンを確認し、何故か食い違うPythonバージョンに結構悩んだが、環境アクティブにしてバージョン見ればStability Matrixが入れたPythonと同じになるはずだ。


🛠️ インストール手順

Stability Matrixが導入したComfyUIのパッケージのフォルダ内で cmd を開き、仮想環境を有効化

venv\Scripts\activate

手順1: 既存のPyTorchを削除

既存のPyTorchなどは、一度きれいに削除します。

pip uninstall -y torch torchaudio torchvision

手順2: ROCm SDKのインストール

AMDリポジトリから、ROCmのSDKコンポーネントをインストールします。 依存関係のエラー(ERROR: pip's dependency resolver...)が出ることがあります、インストール自体が Successfully installed となっていれば無視。

pip install --no-cache-dir https://repo.radeon.com/rocm/windows/rocm-rel-7.1.1/rocm_sdk_core-0.1.dev0-py3-none-win_amd64.whl
pip install --no-cache-dir https://repo.radeon.com/rocm/windows/rocm-rel-7.1.1/rocm_sdk_devel-0.1.dev0-py3-none-win_amd64.whl
pip install --no-cache-dir https://repo.radeon.com/rocm/windows/rocm-rel-7.1.1/rocm_sdk_libraries_custom-0.1.dev0-py3-none-win_amd64.whl
pip install --no-cache-dir https://repo.radeon.com/rocm/windows/rocm-rel-7.1.1/rocm-0.1.dev0.tar.gz

手順3: ROCm対応 PyTorch のインストール

以下のURL指定でインストールしてください。

pip install --no-cache-dir https://repo.radeon.com/rocm/windows/rocm-rel-7.1.1/torch-2.9.0+rocmsdk20251116-cp312-cp312-win_amd64.whl
pip install --no-cache-dir https://repo.radeon.com/rocm/windows/rocm-rel-7.1.1/torchaudio-2.9.0+rocmsdk20251116-cp312-cp312-win_amd64.whl
pip install --no-cache-dir https://repo.radeon.com/rocm/windows/rocm-rel-7.1.1/torchvision-0.24.0+rocmsdk20251116-cp312-cp312-win_amd64.whl

✅ 動作確認

Pythonを対話モードで起動。

python

以下のコードを入力

import torch
print(f"Torch Version: {torch.__version__}")
print(f"Is HIP available: {torch.cuda.is_available()}")
print(f"Device Name: {torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'N/A'}")

成功時の出力例: * Torch Version: 2.9.0+rocmsdk20251116 * Is HIP available: True * Device Name: AMD Radeon RX 9060 XT (またはGPU名)

Is HIP available: True となれば完了


PIP LIST

こうするとrocmSDK周りは0.1.dev0という特殊な番号になる

パッケージ名 バージョン
rocm 0.1.dev0
rocm-sdk-core 0.1.dev0
rocm-sdk-devel 0.1.dev0
rocm-sdk-libraries-custom 0.1.dev0
rocm-sdk-libraries-gfx120X-all 7.11.0a20251129
safetensors 0.7.0
scipy 1.16.3
sentencepiece 0.2.1
setuptools 70.2.0
six 1.17.0
spandrel 0.4.1
SQLAlchemy 2.0.44
sympy 1.14.0
tokenizers 0.22.1
torch 2.9.0+rocmsdk20251116
torchaudio 2.9.0+rocmsdk20251116
torchsde 0.2.6
torchvision 0.24.0+rocmsdk20251116

🚀 ComfyUI の起動

Stability Matrixから起動し、コンソールログを確認します。

AMD arch: gfx1200
ROCm version: (7, 1)
Device: cuda:0 AMD Radeon RX 9060 XT : native

このようにGPUが正しく認識されていれば成功です。 なおStability Matrixが入れてくれるCumfyUIはROCm version: (7, 2)であった事から、結果的にはわざわざ古いバージョンを入れたことに気づいたがこれも勉強なので。 一応このCumfyUIは画像を生成できたが、起動するたびに毎回「K-Sampler」をコンパイル(ビルド)してるなど、挙動が狂動になってしまった。

ComfyUIを実行したかった。

ComfyUIをWondows環境で動かす手段は複数ある。

  1. 公式のインストーラーを使う
  2. ポータブル版
  3. StableMatrix経由

公式ComfyUI

手順さえ正しければ最速、というのも手動でインストーラーしないといけないためだ。 少なくともPythonの仮想環境を作る方法とROCmから最新のTorchをpipする方法が必要だ、自分はこのブログの通り四苦八苦してきたのでなんとかなった。

ポータブル版

このバージョンのCumfyUIはROCm 6.4でコンパイルしたPyTorchでPyTorch 2.8.x/2.9.xを搭載しており安定性が高く途中でGPUがハングする可能性は低い、一方でサンプラー速度はROCm 7.Xと比べて半分くらい遅く、512サイズならともかく1024サイズだと50秒くらいは要する。Amuse使った方が良い

StableMatrix経由

こっちのComfyUIはnightly版(7.x)でありAdrenalineEdition25.11.1では動いたが、25.20.01.17では動作しなかったので、最新版が必要かもしれない。あとForce Floating Point Precisionを--force-fp16にattentionを--use-pytorch-cross-attention指定しないと動かない。 生成速度は速い、Amuseの0.9倍速くらいだろうか、1024サイズでもサクサク動いてくれるぞ。 メモリの管理が貧弱で、64スケールの正方形(512x512みたいな64で割れるもの)でなければサンプラーGPU メモリ確保に失敗し永遠に生成すら始まらない。 VAEに関してもGPUではどうしても動かないため(Tiled VAEも効果がない)ためCPU駆動で動かす、これも遅い。最終的な生成時間はポータブル版とイーブン。