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')
いわゆるひとつのこれだけである。
a boy, in the snow
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関連の情報を発信しています。