Japanese Stable CLIP を試してみた

SDXL Turboを試してみた


推論が速いモデル、SDXL Turbo が公開されました。

要約

  • GeForce 2070 (VRAM 8GB) でも動作した
  • 画像の生成が早い

準備

いつもの Docker イメージで起動します。
docker run -it --gpus=all --rm -v /work:/work nvidia/cuda:11.8.0-base-ubuntu22.04 /bin/bash

必要なツールをインストールします。
apt update
apt install -y git git-lfs python3-pip libgl1-mesa-dev libglib2.0-0 ffmpeg
pip install diffusers transformers accelerate gradio --upgrade

生成

せっかく生成が速いとのことなので、テキストを入力すると順次画像生成がされるように gradio で WebUI を作ってみます。
from diffusers import AutoPipelineForText2Image
import torch
import gradio as gr

pipe = AutoPipelineForText2Image.from_pretrained("stabilityai/sdxl-turbo", torch_dtype=torch.float16, variant="fp16")
pipe.to("cuda")

def greet(name):
    image = pipe(prompt=name, num_inference_steps=1, guidance_scale=0.0).images[0]
    return image

with gr.Blocks() as app:
    out = gr.Image()
    textbox = gr.Textbox(elem_id = 'prompt')
    textbox.change(fn = greet, inputs = [textbox], outputs = [out])

app.launch()


これを実行すると、以下のように URL が表示されます。
この URL を開くと、以下のようなテキスト入力欄が表示されます。ここにプロンプトを入力すると、順次画像が生成されます。

実際にやってみましたが、さすがにデモのようにテキストの入力に間に合わないほどの速度では生成されていませんね。
ただ、コンソールを見ると画像の生成は一瞬で終わっているようにも見えるので、もしかしたらそれをブラウザに表示するのに時間がかかっているのかもしれません。

まだ商用利用を目的としていないようですが、生成が速い方がいろいろ試せていいですね。

コメント