見出し画像

Google Colab で FLUX.1 を試す

「Google Colab」で「FLUX.1」を試したので、まとめました。

【注意】Google Colab Pro/Pro+のA100で動作確認しています。


1. FLUX.1

「FLUX.1」は、「Stable Diffusion」の開発者たちが立ち上げた「Black Forest Labs」が発表した最新の画像生成AIモデルです。

・FLUX.1 [pro] : APIから利用可能な最高品質のモデル。
・FLUX.1 [dev] : 非商用アプリ向けのオープンなガイダンス蒸留モデル
・FLUX.1 [schnell] : 最速のタイムステップ蒸留モデル。

2. FLUX.1 [dev]

「Google Colab」でのFLUX.1 [dev] (ガイダンス蒸留モデル) の実行手順は、次のとおりです。

・ガイダンス蒸留モデルでは、高品質の生成に約50のサンプリングステップが必要。
・max_sequence_length に関する制限はない。

(1) パッケージのインストール。

# パッケージのインストール
!pip install git+https://github.com/huggingface/diffusers.git

(2) パイプラインの準備。
black-forest-labs/FLUX.1-dev」をダウンロードします。

import torch
from diffusers import  FluxPipeline

# パイプラインの準備
pipe = FluxPipeline.from_pretrained(
    "black-forest-labs/FLUX.1-dev", 
    torch_dtype=torch.bfloat16
)
pipe.enable_model_cpu_offload()

(3) プロンプトの準備と画像生成の実行。

# プロンプトの準備
prompt = "cute cat ear maid of japanese anime style"

# 画像生成の実行
out = pipe(
    prompt=prompt, 
    guidance_scale=3.5, 
    width=1024, 
    height=1024, 
    num_inference_steps=50,
).images[0]
out.save("image.png")

50ステップで56秒かかりました。消費メモリは次の通り。

3. FLUX.1 [schnell]

「Google Colab」でのFLUX.1 [schnell] (タイムステップ蒸留モデル) の実行手順は、次のとおりです。

・max_sequence_length は 256 を超えることはできない。
・guidance_scale は 0 である必要がある。
・タイムステップ蒸留モデルであるため、サンプリング ステップが少ないほど有利。

(1) パッケージのインストール。

# パッケージのインストール
!pip install git+https://github.com/huggingface/diffusers.git

(2) パイプラインの準備。
black-forest-labs/FLUX.1-schnell」をダウンロードします。

import torch
from diffusers import  FluxPipeline

# パイプラインの準備
pipe = FluxPipeline.from_pretrained(
    "black-forest-labs/FLUX.1-schnell", 
    torch_dtype=torch.bfloat16
)
pipe.enable_model_cpu_offload()

(3) プロンプトの準備と画像生成の実行。

# プロンプトの準備
prompt = "cute cat ear maid of japanese anime style"

# 画像生成の実行
out = pipe(
    prompt=prompt, 
    guidance_scale=0., 
    width=1024, 
    height=1024, 
    num_inference_steps=4, 
    max_sequence_length=256,
).images[0]
out.save("image.png")

4ステップで34秒かかりました。消費メモリは次の通り。



この記事が気に入ったらサポートをしてみませんか?