メインコンテンツへスキップ
見出し画像

マカーのためのHomebrewでComfyUIインストール入門

    元々Stable Diffusion派でしたが、調べていくうちにComfyUIでしかできないことがいくつかあったので試してみることにしました。

    モデルを節約する小ネタ、Stable Diffusion WebUIみたいに他のMacやiPadのブラウザから見る方法や簡単な動作確認も最後に紹介しています!ので、よろしければご覧ください🙏

    今回はマカー御用達のHomebrewを使ってComfyUIをインストールします。
    以前の記事はこちらです。

    この記事だけでも完結しておりますが、こちらもお読みいただけると理解が深まると思います!

    Homebrewについて

    Homebrewとはひとことで言うと、macOS(またはLinux)用パッケージマネージャーです。

    インストーラーのダウンロードとか開いてアプリにドラックアンドドロップとかせずにコマンド入力だけでインストールできるので、手間も少なく手順の再現性も高いので便利です。

    最近、Linuxでも使えるらしいですが、私以外に使っている人を見たことがありません!!

    Homebrewのインストール

    Homebrewはエンジニア系のマカーならインストールしている!?と思いますが、入れてない人は下記のコマンドでインストールできます。ターミナルを開いて貼り付けて実行してください。管理者権限を要求されたらパスワードを入力するかTourch IDで許可しましょう。

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

    ComfyUIのインストール

    次にインストールしたHomebrewを使って、ComfyUIをインストールします。
    ComfyUIには、`brew install`コマンドを使います。`brew install`コマンドはbrewを使ってパッケージ(アプリなど)をインストールします。

    brew install --cask comfyui

    少し時間はかかりますが、このコマンドを実行するだけでComfyUIがインストールされます。

    実行後、下記の表示がされれば完了です。

    🍺  comfyui was successfully installed!

    アプリは「/Applications/ComfyUI.app」にインストールされています。

    ComfyUIを開く

    次にComfyUIを開きましょう。アプリケーションの中にComfyUIがあるのでそれを起動します。

    画像
    ComfyUIのアイコン

    また、アプリをインストールしたときのようにランチャーにもいるので、そこから起動しても構いません。

    開こうとするとインターネットからダウンロードしたアプリケーションをインストールしたときのように、以下のウィンドウが出るので許可してください。

    画像
    開く時に表示される確認、気にせず開いて良い

    あとは指示にしたがって、ぽちぽちと入力して残りの設定を完了してください。

    画像
    起動直後の画面
    画像
    Apple Metalを選ぶ
    画像
    インストール先を選択、デフォルトで良い
    画像
    Automatic Updatesは有効、Usage Metricsは無効に
    画像
    Pythonや必要なライブラリのインストールが始まる
    画像
    完了するとテンプレートの選択が出てくる

    これでインストール完了です。これから試しに画像を作るので、テンプレートを選びましょう。テンプレートは画像生成の設計図やレシピのようなものです。

    ComfyUIのテンプレートを選択

    最初は複雑なテンプレートだと戸惑ってしまうので、「はじめに」の「画像生成(瓶のような画像)」を選択します。

    画像
    左から二番目の一つ下を選ぶ

    以下のような「モデルが見つかりません」という警告が表示されますが、そのままダウンロードしても、キャンセルしてお好みのStable Diffusionで使ってたモデルを使うでも良いです。

    ダウンロードする場合は「ダウンロード (1.99GB)」をクリックしましょう。

    画像
    ダウンロードにするとしばらく時間がかかる

    「キャンセル」または「ダウンロード」が完了すると、次のようにワークフローが開きます。

    画像

    これで、テンプレートの選択が完了です。

    ComfyUIの設定(WebUI公開)

    この設定をすると、他のMacやiPadのブラウザから見ることができます。
    (ネットワーク環境により難しいこともあります)

    まず、左にあるサイドバーの下の「設定」を選びます。

    画像
    設定ボタンの場所

    サーバー設定を開いて、「ホスト:リッスンするIPアドレス」に「0.0.0.0」を入力します。
    (ポートはデフォルトの「8,000」のままで良いです)

    画像
    サーバー設定を開く

    あとはターミナルを開き、ComfyUIに繋ぐためのホスト名を下記のコマンドで取得します。

    scutil --get LocalHostName

    コマンドで取得したホスト名が xxxs-MacBook-Pro.local ならば、他のMacやiPadから http://xxxs-MacBook-Pro.local:8000 でComfyUIにアクセスできます。
    (xxxはユーザ名であることが多いが一概には言えません。)

    画像
    Safariで開いたComfyUI

    ComfyUIにStable Diffusionのモデルを追加

    ComfyUIのノード設定、モデルやアウトプットが格納されるディレクトリは、/Users/(ユーザ名)/Documents/ComfyUI です。

    フォルダへの移動によるコピー

    コマンドで慣れている人は、cpコマンド等でダウンロードしたモデルを移動しても良いですが、慣れない人はFinderを開いて、メニューバーの「移動」→「フォルダへ移動...」で /Users/(ユーザ名)/Documents/ComfyUI を入力すると、そのフォルダがFinderで開くので、あとは好きにダウンロードフォルダやStable Diffusionのモデルフォルダからドラック&ドロップでコピーができます。

    フォルダへ移動はShift+Cmd+Gでも開くので、よく使う人はショートカットを覚えておきましょう。
    (私はなかなか覚えられない、、、😭)

    シンボリックリンクで容量を節約する

    また、Stable Diffusion WebUIとモデルを共用していてSSDの容量が少ないので節約したい!という人は、以下のようにlnコマンドでシンボリックリンクを作るとStable Diffusion WebUIのモデルとComfyUIのモデルを共用させることができます。

    Stable Diffusion WebUIで読み込んでいる waiIllustriousSDXL_v150.safetensors というモデルをComfyUIでも使えるようにする例:

    # リンクの作成
    ln -s (Stable Diffution WebUIのパス)/models/Stable-diffusion/waiIllustriousSDXL_v150.safetensors /Users/(ユーザ名)/Documents/ComfyUI/models/checkpoints/waiIllustriousSDXL_v150.safetensors

    シンボリックリンクとは、ファイルをコピーしなくてもあたかもリンク先にそのファイルがあるように見せかけることができる機能です。

    (MacなどのOSにある標準機能です)

    これだと見せかけるだけでファイルコピーしないので、モデルをStable Diffusion WebUIと共用していても
    SSDの容量を2倍消費しないのでオススメです。

    ただし、リンクを削除する場合は以下のunlinkコマンドを使わないと元のファイルも消してしまうので注意が必要です。

    # リンクの削除
    unlink /Users/(ユーザ名)/Documents/ComfyUI/models/checkpoints/waiIllustriousSDXL_v150.safetensors

    試しにComfyUIで画像を生成してみる

    用意したプロンプトを使って画像生成する

    モデルを新しく置いたあとはアプリを再起動、またはブラウザをリロード(再読み込み)する方が安全です。

    再起動またはブラウザをリロードしないと、モデル名がモデルライブラリに表示されますが、ワークフローで選べないことがあります。

    ComfyUIのワークフローを見て、まずは「チェックポイントを読み込む」の「ckpt名」を先ほどダウンロードして配置したモデルに変えましょう。

    画像
    「waiIllustriousSDXL_v150.safetensors」に変えます

    ここでは「waiIllustriousSDXL_v150.safetensors」を使います。

    そのあと、上のプロンプト(ポジティブプロンプト)を以下のように設定します。

    1girl,masterpiece,best quality,ultra high resolution
    
    Meguro Nichidai style winter uniform,
    
    navy blue blazer,well-fitted blazer,
    white dress shirt,slightly loosened collar,
    red ribbon tie,slightly relaxed ribbon,
    plaid pleated skirt,accurate pleats,
    black tights,sheer tights,winter outfit,
    
    medium-length dark brown hair,
    natural hair flow,
    
    after school atmosphere,
    quiet hallway,empty classroom,
    warm evening light through windows,

    下のプロンプト(ネガティブプロンプト)も以下のように設定します。

    low quality, worst quality, blurry,
    jpeg artifacts, noise,
    
    bad anatomy, bad proportions,
    extra fingers, extra limbs,
    deformed hands,
    
    sailor uniform, fantasy outfit,
    incorrect uniform design,

    プロンプトを設定したあとは以下のようなワークフローになります。

    画像
    モデルやプロンプト入力後のイメージ

    最後に「実行」ボタンを押します。

    画像

    するとワークフローが動き始めて(実行中のノードは青い枠になります)、最終的に画像を保存に画像が生成されます。

    画像

    画像を作成中のときのワークフローの動画

    ComfyUIの画像を生成した結果

    実際に作成された画像は下記の画像です。

    画像


    画像

    ここまででComfyUIの動作確認ができました!!

    これで完了です、お疲れ様でした🙌


     
     
    こんにちは、ひよりあかねラボです。 このnoteでは、Macで規制解除を前提としたローカルAIでのイラスト制作過程や実験の記録などを書いていきます。特に記事内に記載が無ければ規制解除されたモデルやツールが前提です。 文章には補助的にAIを使用してます。

    あなたへのおすすめ