Skip to content

ClasCat® AI Research

クラスキャット – 生成 AI, AI エージェント, MCP

Menu
  • ホーム
    • ClassCat® AI Research ホーム
    • クラスキャット・ホーム
  • OpenAI API
    • OpenAI Python ライブラリ 1.x : 概要
    • OpenAI ブログ
      • GPT の紹介
      • GPT ストアの紹介
      • ChatGPT Team の紹介
    • OpenAI platform 1.x
      • Get Started : イントロダクション
      • Get Started : クイックスタート (Python)
      • Get Started : クイックスタート (Node.js)
      • Get Started : モデル
      • 機能 : 埋め込み
      • 機能 : 埋め込み (ユースケース)
      • ChatGPT : アクション – イントロダクション
      • ChatGPT : アクション – Getting started
      • ChatGPT : アクション – アクション認証
    • OpenAI ヘルプ : ChatGPT
      • ChatGPTとは何ですか?
      • ChatGPT は真実を語っていますか?
      • GPT の作成
      • GPT FAQ
      • GPT vs アシスタント
      • GPT ビルダー
    • OpenAI ヘルプ : ChatGPT > メモリ
      • FAQ
    • OpenAI ヘルプ : GPT ストア
      • 貴方の GPT をフィーチャーする
    • OpenAI Python ライブラリ 0.27 : 概要
    • OpenAI platform
      • Get Started : イントロダクション
      • Get Started : クイックスタート
      • Get Started : モデル
      • ガイド : GPT モデル
      • ガイド : 画像生成 (DALL·E)
      • ガイド : GPT-3.5 Turbo 対応 微調整
      • ガイド : 微調整 1.イントロダクション
      • ガイド : 微調整 2. データセットの準備 / ケーススタディ
      • ガイド : 埋め込み
      • ガイド : 音声テキスト変換
      • ガイド : モデレーション
      • ChatGPT プラグイン : イントロダクション
    • OpenAI Cookbook
      • 概要
      • API 使用方法 : レート制限の操作
      • API 使用方法 : tiktoken でトークンを数える方法
      • GPT : ChatGPT モデルへの入力をフォーマットする方法
      • GPT : 補完をストリームする方法
      • GPT : 大規模言語モデルを扱う方法
      • 埋め込み : 埋め込みの取得
      • GPT-3 の微調整 : 分類サンプルの微調整
      • DALL-E : DALL·E で 画像を生成して編集する方法
      • DALL·E と Segment Anything で動的マスクを作成する方法
      • Whisper プロンプティング・ガイド
  • Gemini API
    • Tutorials : クイックスタート with Python (1) テキスト-to-テキスト生成
    • (2) マルチモーダル入力 / 日本語チャット
    • (3) 埋め込みの使用
    • (4) 高度なユースケース
    • クイックスタート with Node.js
    • クイックスタート with Dart or Flutter (1) 日本語動作確認
    • Gemma
      • 概要 (README)
      • Tutorials : サンプリング
      • Tutorials : KerasNLP による Getting Started
  • Keras 3
    • 新しいマルチバックエンド Keras
    • Keras 3 について
    • Getting Started : エンジニアのための Keras 入門
    • Google Colab 上のインストールと Stable Diffusion デモ
    • コンピュータビジョン – ゼロからの画像分類
    • コンピュータビジョン – 単純な MNIST convnet
    • コンピュータビジョン – EfficientNet を使用した微調整による画像分類
    • コンピュータビジョン – Vision Transformer による画像分類
    • コンピュータビジョン – 最新の MLPモデルによる画像分類
    • コンピュータビジョン – コンパクトな畳込み Transformer
    • Keras Core
      • Keras Core 0.1
        • 新しいマルチバックエンド Keras (README)
        • Keras for TensorFlow, JAX, & PyTorch
        • 開発者ガイド : Getting started with Keras Core
        • 開発者ガイド : 関数型 API
        • 開発者ガイド : シーケンシャル・モデル
        • 開発者ガイド : サブクラス化で新しい層とモデルを作成する
        • 開発者ガイド : 独自のコールバックを書く
      • Keras Core 0.1.1 & 0.1.2 : リリースノート
      • 開発者ガイド
      • Code examples
      • Keras Stable Diffusion
        • 概要
        • 基本的な使い方 (テキスト-to-画像 / 画像-to-画像変換)
        • 混合精度のパフォーマンス
        • インペインティングの簡易アプリケーション
        • (参考) KerasCV – Stable Diffusion を使用した高性能画像生成
  • TensorFlow
    • TF 2 : 初級チュートリアル
    • TF 2 : 上級チュートリアル
    • TF 2 : ガイド
    • TF 1 : チュートリアル
    • TF 1 : ガイド
  • その他
    • 🦜️🔗 LangChain ドキュメント / ユースケース
    • Stable Diffusion WebUI
      • Google Colab で Stable Diffusion WebUI 入門
      • HuggingFace モデル / VAE の導入
      • LoRA の利用
    • Diffusion Models / 拡散モデル
  • クラスキャット
    • 会社案内
    • お問合せ
    • Facebook
    • ClassCat® Blog
Menu

FLUX.1 : ComfyUI img2img & upscale 用ワークフロー詳細

Posted on 08/18/202409/01/2024 by Masashi Okumura

CivitAI で公開されている Simple & Effective Flux.1 img2img + upscale ComfyUI workflow で使用されているノードについて説明します。名前のとおり ComfyUI による Flux.1 を使用した img2img とアップスケールのタスクに対応しています。

FLUX.1 : ComfyUI img2img & upscale 用ワークフロー詳細

作成 : Masashi Okumura (@ClassCat)
作成日時 : 08/18/2024

* 本記事は ComfyUI Wiki を参考にしています :

  • ComfyUI WIKI Manual

* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。

 

クラスキャット 人工知能 研究開発支援サービス ⭐️ リニューアルしました 😉

◆ クラスキャット は人工知能に関する各種サービスを提供しています。お気軽にご相談ください :

  • 人工知能導入個別相談会(無償)実施中! [詳細]

  • 人工知能研究開発支援 [詳細]
    1. 自社特有情報を含むチャットボット構築支援
    2. 画像認識 (医療系含む) / 画像生成

  • PoC(概念実証)を失敗させないための支援 [詳細]

◆ お問合せ : 本件に関するお問合せは下記までお願いします。

  • クラスキャット セールス・インフォメーション
  • sales-info@classcat.com
  • ClassCatJP

 

 

FLUX.1 : ComfyUI img2img & upscale 用ワークフロー詳細

この記事では、CivitAI で公開されている Simple & Effective Flux.1 img2img + upscale ComfyUI workflow で使用されているノードについて説明します。名前のとおり ComfyUI による Flux.1 を使用した img2img とアップスケールのタスクに対応しており、ワークフロー定義も妥当です :

 
ComfyUI 公式の txt2img 用 FLUX.1 schnell ワークフロー や dev ワークフロー と大きな違いはありませんが、もちろん img2img や upscale 用のノードが組み込まれています。

 

ローダー・ノード

モデル本体、CLIP、そして VAE をロードするためのノード群に加えて、img2img 用にリファレンス画像をロードするノードも含みます。

 

Load Diffusion Model

Load Diffusion Model ノードは以前は UNET Loader ノードと呼称されていました。U-Net モデルを名前でロードするように設計されており、システム内で事前訓練済み U-Net アーキテクチャの使用を簡単にします。

モデルファイルは ComfyUI/models/unet に配置されている必要があります。

※ 出力 ‘MODEL’ は、BasicGuider と BasicScheduler ノードへの入力となります。

 

DualClipLoader

DualCLIPLoader ノードは、2 つの CLIP モデルを同時にロードするように設計されており、両方のモデルの機能の統合や比較を必要とする操作を簡単にします。

キッチンで料理を準備していて、塩と胡椒 (こしょう) の 2 つの異なるスパイスの瓶があるとします。それぞれのスパイスは料理に独特な風味を与えます。そして、両方の瓶を同時に使用して料理に味付けすることを可能にする特別なツールがあると想像してください。

これは DualCLIPLoader ノードに類似しています。2 つの異なる CLIP モデルを同時にロードして使用することを可能にしますので、それらの独自の機能とスタイルを組み合わせてより多用途で洗練された AI 生成アートを作成することができます。

※ 出力 CLIP は、CLIPTextEncodeFlux ノードへの入力になります。

 

Load VAE

Load VAE ノードは、変分オートエンコーダ (VAE) モデルをロードするために設計されており、標準 VAE と近似 VAE の両方を処理できるように特にカスタマイズされています。

名前による VAE のロードをサポートし、’taesd’ と ‘taesdxl’ モデルに特化された処理も含み、VAE の特定の設定に基づいて動的に調整します。

※ 出力 VAE は、”VAE Encode” と “VAE Decode” ノードへの入力になります。”VAE Encode” ノードは img2img タスク用です。

 

Load Image

img2img タスクに必須のノードです。

LoadImage ノードは、指定されたパスからの画像をロードして前処理するように設計されています。複数のフレームを含む画像形式を処理し、EXIF データに基づいて回転などの必要な変換を適用し、ピクセル値を正規化し、そしてオプションでアルファチャネルを持つ画像用にマスクも生成します。このノードは、パイプライン内で更に処理や分析を行うための画像の準備に不可欠です。

※ この出力 IMAGE は、”VAE Encode” ノードへの入力 pixels になります。

 

補助的ノード (出力のみを持つノード)

(変更可能なプロパティは持ちますが、) 他のノードからの入力はなく、他のノードへの出力のみを持つノード群です :

RandomNoise

RandomNoise ノードは与えられたシードに基づいてランダムノイズを生成します。シード値 (noise_seed) を使用して一貫して再生成可能なランダム化された要素を提供することで、変動性をプロセスに導入するように設計されています。

※ この出力 NOISE は、SamplerCustomAdvanced ノードへの入力 noise になります。

 

KSampler Select

KSamplerSelect ノードは、euler のような指定されたサンプラー名に基づいて特定のサンプラーを選択するように設計されています。サンプラー選択の複雑さを抽象化し、ユーザがタスクに合わせて様々なサンプリング・ストラテジー間で簡単に切り替えることを可能にします。

※ この出力 SAMPLER は、SamplerCustomAdvanced への入力 sampler になります。

 

主要ノード (入力と出力の両方を持つノード)

他のノードからの入力と、他のノードへの出力の両方を持つノード群について説明します。

 

VAE Encode

img2img タスクに必要なノードです。

VAE Encode ノードは、指定された VAE モデルを使用して画像を潜在空間表現にエンコードするように設計されています。エンコーディング過程の複雑さを抽象化し、画像を潜在表現に変換する簡単な方法を提供します。

* 入力は “Load VAE” ノードからの vae と、”Load Image” ノードからの pixels です
* 出力 LATENT は “Upscale Latent By” ノードへの入力になります。

 

Upscale Latent By

upscale タスクに必要なノードです。

“Upscale Latent” ノードは、潜在 (latent) 画像をリサイズするために使用できます。

* 入力は “VAE Encode” ノードからの samples です。
* 出力 LATENT は SamplerCustomAdvanced ノードへの入力になります。

 

Clip Text Encode Flux

Clip Text Encode Flux ノードの直接的な説明は、現時点では Reddit の この質疑応答 くらいしか見つかりませんでしたが、後述の “Clip Text Encode” ノードを Flux にカスタマイズし、ガイダンス値を設定可能にしたノードでしょう。

* 入力は DualClipLoader ノードからの CLIP です。
* 出力は BasicGuider ノードへの入力になります。

 
参考までに Reddit の該当箇所を簡単に訳しておきますと :

Flux は 2 つのテキストモデル、clip (タグのようなもの) と T5 (自然言語) を持っています。SDXL も同様ですが、ベストな結果のためには両方に同じテキストを送るだけで済みました。

T5 に自然言語プロンプトを入力してから clip にいくつかのタグ (e.g. flat shaded, pixelart, illustration) を入力することを試すことはできますが、AFAIK それほど価値はありません。

ガイダンスはモデルが異なる CFG 値で訓練されている場合に使用されます。これは一種のチート技術で、たとえば “guidance 2” の場合、モデルは 2 に設定された CFG で訓練中に生成した画像のような画像を生成しようとします (しかし実際には CFG は 1 のままです)。

これは奇妙に思えますが、1 より大きい CFG は生成時間が長くなるので、ガイダンスの使用はより高速になります。欠点は、どのようなガイダンス値でもネガティブプロンプトを持てないことです、それが機能するためには実際には CFG > 1 が必要です (そして生成時間の増加を引き起こすのがネガティブです)。

 
既存の “Clip Text Encode” ノードの説明も記載しておきます :

Clip Text Encode (Prompt)

CLIPTextEncode ノードは、CLIP モデルを使用してテキスト入力をエンコードし、テキストを生成タスクで条件付けに利用できるような形式に変換する ように設計されています。それはテキストのトークン化とエンコーディングの複雑さを抽象化し、テキストベースの条件付けベクトルを生成するための合理的なインターフェイスを提供します。

入力

  • ‘text’ パラメータはエンコードされるテキスト入力です。これはエンコーディング・プロセスの情報の主要ソースであるため、出力条件付けベクトルを決定する上で重要な役割を果たします。

  • ‘clip’ パラメータはテキストのトークン化とエンコーディングに使用される CLIP モデルを表します。これはテキスト入力を条件付けベクトルに変換するために不可欠で、生成出力の品質と関連性に影響します。

出力

  • 出力 ‘conditioning’ は CLIP モデルによりエンコードされた、入力テキストのベクトル表現です。関連性と一貫性のある出力を生成するために生成モデルをガイドするための重要なコンポーネントとして機能します。

 

BasicGuider

BasicGuider ノードは、モデルと条件付け入力を利用して、AI アート生成におけるガイダンス・プロセスを簡単にするように設計されています。その主目的は、モデルへの条件付けの適用を効率化することで、生成されたアートが指定された条件に従うことを確実にします。このノードは、特定のプロンプトや条件を使用して AI モデルの出力に影響を与え、創造プロセスをより制御された予測可能なものしたいアーティストに特に役立ちます。BasicGuider の使用により、条件付けをモデルに簡単に設定し適用することができて、生成されたアートワークの品質と関連性を強化できます。

* 入力は (Load Diffusion Model ノードの出力) ‘model’ と (ClipTextEncodeFlux ノードの出力) ‘conditioning’ です。
* 出力は SamplerCustomAdvanced への ‘guider’ です。

 

BasicScheduler

BasicScheduler ノードは、提供されるスケジューラ、モデルとノイズ除去パラメータに基づいて、拡散モデル用のシグマ値のシークエンスを計算するように設計されています。拡散過程を調整するためにノイズ除去因子に基づいて合計ステップ数を動的に調整します。

* デフォルトは 25 ステップです。
* 入力は (“Load Diffusion Model” ノードの出力) ‘model’ です。
* 出力は SamplerCustomAdvanced ノードへの ‘sigmas’ です。

 

SamplerCustomAdvanced

SamplerCustom ノードは、柔軟でカスタマイズ可能なサンプリング機構を提供するように設計されています。特定のニーズに合わせて、ユーザが様々なサンプリング・ストラテジーを選択して構成することを可能にし、サンプリング過程の適応性や効率性を強化します

そして SamplerCustomAdvanced ノードは、生成モデル・フレームワーク内でのサンプリング過程のための高度なカスタマイズ・オプションを提供します。特定の要件や実験的なセットアップに対して調整可能な洗練されたサンプリング・ストラテジーの実装を可能にし、生成モデリングのタスクの柔軟性と効果性を強化します。

入力

  • ‘noise’ パラメータは、サンプリングプロセスを摂動させるために使用されるノイズで、変動を導入して生成モデルの空間をより徹底的に探索する方法を提供します。
    ※ このケースでは、RandomNoise ノードの出力が該当します。

  • ‘guider’ パラメータは、生成を望ましい結果に向けるか、望ましくないものから遠ざけるような、サンプリング過程のためのガイディング (誘導) 機構を指定します。
    * BasicGuider ノード出力。

  • ‘sampler’ パラメータは、使用される特定のサンプリング・アルゴリズムやストラテジーを定義し、サンプリング過程のカスタマイズを可能にします。
    * KSamplerSelect ノード出力。

  • ‘sigmas’ パラメータは、サンプリング過程の異なるステップで適用されるノイズレベルを表し、変動の導入に対する制御の微調整を可能にします。
    * BasicScheduler ノード出力。

  • ‘latent_image’ パラメータは、サンプリング過程用の初期状態あるいはコンテキストを提供し、生成のための基底 (basis) として機能します。
    * “Upscale Latent By” ノード出力。

出力

  • ‘output’ は、サンプリング過程の結果を提供します、これは指定されたサンプリング・ストラテジーを提供した後の生成されたデータを反映しています。
    ※ このケースでは、VAE Decoder ノードへの入力 ‘samples’ になります。

  • ‘denoised_output’ は、ノイズ削減された生成データを提供し、よりクリアで洗練された結果の実現におけるサンプリング・ストラテジーの有効性を示します。
    ※ このケースでは使用しません。

 

VAE Decode

VAEDecode ノードは、指定された変分オートエンコーダ (VAE) を使用して潜在表現を画像にデコードするように設計されています。
圧縮されたデータ表現から画像を生成し、潜在空間エンコーディングから画像の再構築を簡単にするような目的で機能します。

入力

  • ‘samples’ パラメータは、画像にデコードされる潜在表現を表します。これは (そこから) 画像が再構築される圧縮データを提供しますので、デコーディング処理に対して重要です。
    ※ このケースでは、SamplerCustomAdvanced ノードの出力です。

  • ‘vae’ パラメータは潜在表現を画像にデコードするために使用される変分オートエンコーダ・モデルを指定します。それはデコーディング機構と再構築された画像の品質を決定するために不可欠です。

出力

  • ‘image’ 出力は、指定された VAE モデルを使用して、提供された潜在表現から再構築された画像です。

 

画像保存ノード

Save Image

SaveImage ノードは、画像をディスクに保存するように設計されています。テンソルから適切な画像形式に画像を変換し、オプションのメタデータを適用し、そして設定可能な圧縮レベルで画像を指定された位置に書き込むプロセスを処理します。

 

以上



クラスキャット

最近の投稿

  • LangGraph on Colab : マルチエージェント・スーパーバイザー
  • LangGraph on Colab : エージェント型 RAG
  • LangGraph : 例題 : エージェント型 RAG
  • LangGraph Platform : Get started : クイックスタート
  • LangGraph Platform : 概要

タグ

AutoGen (13) ClassCat Press Release (20) ClassCat TF/ONNX Hub (11) DGL 0.5 (14) Eager Execution (7) Edward (17) FLUX.1 (16) Gemini (20) HuggingFace Transformers 4.5 (10) HuggingFace Transformers 4.6 (7) HuggingFace Transformers 4.29 (9) Keras 2 Examples (98) Keras 2 Guide (16) Keras 3 (10) Keras Release Note (17) Kubeflow 1.0 (10) LangChain (45) LangGraph (23) MediaPipe 0.8 (11) Model Context Protocol (16) NNI 1.5 (16) OpenAI Agents SDK (8) OpenAI Cookbook (13) OpenAI platform (10) OpenAI platform 1.x (10) OpenAI ヘルプ (8) TensorFlow 2.0 Advanced Tutorials (33) TensorFlow 2.0 Advanced Tutorials (Alpha) (15) TensorFlow 2.0 Advanced Tutorials (Beta) (16) TensorFlow 2.0 Guide (10) TensorFlow 2.0 Guide (Alpha) (16) TensorFlow 2.0 Guide (Beta) (9) TensorFlow 2.0 Release Note (12) TensorFlow 2.0 Tutorials (20) TensorFlow 2.0 Tutorials (Alpha) (14) TensorFlow 2.0 Tutorials (Beta) (12) TensorFlow 2.4 Guide (24) TensorFlow Deploy (8) TensorFlow Get Started (7) TensorFlow Graphics (7) TensorFlow Probability (9) TensorFlow Programmer's Guide (22) TensorFlow Release Note (18) TensorFlow Tutorials (33) TF-Agents 0.4 (11)
2024年8月
月 火 水 木 金 土 日
 1234
567891011
12131415161718
19202122232425
262728293031  
« 7月   9月 »
© 2025 ClasCat® AI Research | Powered by Minimalist Blog WordPress Theme