5
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Stable Diffusionといえば文章から画像を生成するAIで、
なんか難しそうというイメージが僕にはあった。
名前からして複雑そうだし(安定拡散モデル)、綺麗な画像を生成している猛者はなんかめっちゃハックし倒してるイメージがあるし、WebUIもセットアップが大変そうである。
モデルも色々あってどれを使えばいいのか頭がクラクラしてくる。
というので1年ぐらいビビっていたのだが、

なんのことはない簡単である
pythonが使えれば簡単に使える。

これはガチ。
ということで感動的にシンプルなコードでの使い方。

シンプルな使い方

diffusersをインストール

pip install diffusers

チェックポイントを見つける

Web上からモデルのチェックポイントをダウンロードしてくる。
拡張子が.safetensorsとか.ckptになっている数GBあるファイルである。

HugginFace Model Hub
とか、チェックポイントがアップされているWEBページはいくつかある。

せっかくなので、一般的なStableDiffusionのチェックポイントではなく、
例としてアニメに特化したデータでトレーニングしたチェックポイントを使ってみる。

pipelineの初期化

チェックポイントファイルを渡して初期化する。

from diffusers import StableDiffusionXLPipeline

pipe = StableDiffusionXLPipeline.from_single_file("animagine-xl-3.0.safetensors")

実行

image = pipe('a machine learning boy').image[0]
image.save('mlboy.png')

boy.png

いわゆるひとつのこれだけである。

a boy, in the snow

boy_snow.png

StableDiffusionにはxlという大きいモデルと普通のStableDiffusionがあって、上記の例はxlの方である。
普通のStableDiffusionのチェックポイントを使いたい時はStableDiffusionPipelineを同様の使い方で使える。

あと、リポジトリの名前からpipelineを作れる

DiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-2-1")

というのもある。けどチェックポイントから初期化した方が簡単じゃない?と僕は思うんですけどどうでしょう。
色々使い方あるみたいだけどとりあえず。

🐣


フリーランスエンジニアです。
AIについて色々記事を書いていますのでよかったらプロフィールを見てみてください。

もし以下のようなご要望をお持ちでしたらお気軽にご相談ください。
AIサービスを開発したい、ビジネスにAIを組み込んで効率化したい、AIを使ったスマホアプリを開発したい、
ARを使ったアプリケーションを作りたい、スマホアプリを作りたいけどどこに相談したらいいかわからない…

いずれも中間コストを省いたリーズナブルな価格でお請けできます。

お仕事のご相談はこちらまで
rockyshikoku@gmail.com

機械学習やAR技術を使ったアプリケーションを作っています。
機械学習/AR関連の情報を発信しています。

5
7
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
5
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?