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

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

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

運動のために歩いているが常備薬の作用で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駆動で動かす、これも遅い。最終的な生成時間はポータブル版とイーブン。

えぇ!?いまからブログを書くんだって!?

 

いいか?AIが文章を書ける今、ニンゲンが手書きで文章を書く敷居は極端になった

太刀打ちできないクオリティを書くこともできれば、どんだけ下手くそでもAIの補完が効く・・・あぁ、このページはAIではない、100%自力で書いている

一人のクリエイターとして

自分が文章を書くのは、試閃風鈴-しせんふうりん-の軌跡を残すためだ

小川で片手に無線を持って走り回り、偶然に信号をキャッチする、こういう事が好きだ。


アンテナの感度を上げるより、アンテナを生やしまくる方が楽しいタイプな訳だな
故になにか特化した成果を生み出せてない葛藤があるんだが(笑)

ニンゲンもAIも訪問する時代に対して

いまネットの情報はAIが縦横無尽に動いており、誰もがこれまでにない情報収集力を手にした、ゆえに1つの情報に、テキストと個人を結びつける手段が重要だと考えている

書く場所はNoteやZennもあるが、文体が主流でカロリーの高い価値を作るのが難しい。ミライのAIは画像や動画も一瞬で飲み込めるくらいの性能になるはずだ。

そのときにはパーソナリティとコンテクストをハイブリッドした情報発信媒体を備えておくべきだと想像している。

現状これに近いのがブログということだが、もし代替の効くサービスが登場したら(日本で誕生してほしいと切に願う)その流れに乗ってみたい、きっと新世代でも流行するはずだ。

ブログはじめました

クリエイターとして活動できる人生は自分が思ったより短いかもしれない
だから書く、窓紙 椿跳(まどかみ つばと)として生きた事を書く
良くも悪くも宝物にしたい