6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

KDDIテクノロジーAdvent Calendar 2023

Day 5

初学者向けGoogleColab上でのJapanese Stable Diffusion XL(JapaneseSDXL)実行環境爆速構築

Last updated at Posted at 2023-12-04

この投稿はKDDIテクノロジーアドベントカレンダーの5日目の記事となります。
SDXLの日本語版が公開されていたのでGoogleColabo上で試してみました。

前提条件

・Googleアカウント
・HuggingFaceアカウント
※2023/12時点では日本語版SDXLはHuggingFaceへのログインが必要になります。

環境情報

・GoogleColabo Pro (A100 GPU および ハイメモリ設定)
※実行時にシステムRAM上限を超過してしまったため有料プランで契約しています…。ほかにいい方法が無いか模索中。

バージョン情報

・diffusers 0.24.0
・transformers 4.35.2
・accelerate 0.25.0
・sentencepiece 0.1.99

準備

①HuggingFaceのアカウントが無い場合はHuggingFaceの「Sign Up」よりHuggingFaceアカウントを作成する。


②HuggingFaceにログイン後、右上のアイコンを押下し「Settings」を選択する。
image.png


③「Access Tokens」⇒「New token」を選択しHuggingFace Hubにログインするためのトークンを取得する。
image.png

実行手順

①以下URLを開き「ノートブックを新規作成」を選択する。
https://colab.research.google.com
image.png

②メニューより「ランタイム」⇒「ランタイムのタイプを変更」を選択し、ランタイムの設定を「A100 GPU」「ハイメモリ」に変更する。
※T4 GPUやV100 GPUでも問題無いと思いますが速度優先でA100にしています。
ランタイム①.png

image.png


③下記コマンドを入力し画像の赤枠の矢印を押下してコマンドを実行する。
「diffusers」「transformers」「accelerate」「sentencepiece」がインストールされる。

!pip install diffusers transformers accelerate sentencepiece

image.png


④下記コマンドを実行しHuggingFace Hubにログインする。
「Token」の欄に先ほどHuggingFace公式ページより入手したトークンを入力し「Login」を押下する。

from huggingface_hub import login
login()

HFログイン①.png
※ログインに成功した場合は下記の画像のように「Login successful」と表示される。
HFログイン②.png

⑤下記コマンドを実行し日本語版SDXLをダウンロードする。

from diffusers import DiffusionPipeline
import torch

model_id = "stabilityai/japanese-stable-diffusion-xl"
pipeline = DiffusionPipeline.from_pretrained(model_id, trust_remote_code=True)
pipeline.to("cuda")

※HTTPError: 401となり「OSError: Cannot load model stabilityai/japanese-stable-diffusion-xl: model is not cached locally and an error occured while trying to fetch metadata from the Hub. Please check out the root cause in the stacktrace above.」と出た場合はHuggingFace Hubにログイン出来ていないため再度④を実行すること。

⑥下記コマンドを実行し画像を出力する。
※promptの部分を出力したい任意の文字列に変更する。

prompt = "侍 アート"
image = pipeline(prompt=prompt).images[0]
image

実行例.png

以上です。

次回はLCM LoRAも試してみます。

6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?