Quantcast
Channel: プログラミング
Viewing all articles
Browse latest Browse all 8191

【Intel Arc A770】【Diffusers】Intel Extension for PyTorchを使ってStableDiffusion による Text2Image を行う - パソコン関連もろもろ

$
0
0

はじめに

以前IPEX-LLMを使ってIntel Arc A770でText2Imageを行いました。
touch-sp.hatenablog.com
今回はIntel Extension for PyTorchを使ってみます。
github.com
IPEX-LLMと似たようなもので別物のようです。詳細な違いはよくわかりません。
今回使用するIntel Extension for PyTorchの方が開発が活発のようです。
IPEX-LLMの時より環境構築ははるかに簡単です。

PC

2個の環境で動作確認できています。
Ubuntu 22.04
Python 3.10
Intel Arc A770
Ubuntu 24.04
Python 3.11
Intel Arc A770

環境構築

Intel OneAPI Basekitのインストールは必要ないようです。

グラフィックドライバーのインストール

こちらに従いました。

PyTorchのインストール

こちらに従いました。

実行

pip install diffusers[torch]
pip install transformers peft
from diffusers import AutoPipelineForText2Image
import torch
import intel_extension_for_pytorch as ipex

pipeline = AutoPipelineForText2Image.from_pretrained(
    "stabilityai/stable-diffusion-xl-base-1.0",
    variant="fp16",
    torch_dtype=torch.bfloat16
).to("xpu")

prompt = "an insect robot preparing a delicious meal, anime style"

generator = torch.Generator(device="cpu").manual_seed(0)
image = pipeline(
    prompt=prompt,
    num_inference_steps=25,
    guidance_scale=7.0,
    generator=generator,
).images[0]
image.save("result.jpg")

結果

モデルのロードを含めて18秒程度で画像が生成されました。モデルのロードを除けば15秒程度でした。このエントリーをはてなブックマークに追加

Viewing all articles
Browse latest Browse all 8191

Trending Articles