LoginSignup
0
2

Diffusers: 拡散モデルで画像生成

Last updated at Posted at 2024-01-13

この記事では,Diffusersについて紹介します.

参考文献

この記事は以下の情報を参考にして執筆しました.

Diffusersとは?

Diffusersは,Hugging Faceが開発した拡散モデルのためのライブラリです.

Diffusersを使うと,拡散モデルで画像を生成することができます.

拡散モデルでの画像生成

拡散モデルとは,ランダムなガウスノイズを段階的に除去するように訓練された機械学習システムです.

拡散モデルの訓練では,各ステップにおいてノイズを除去する方法を予測するように訓練されます.推論では,あるステップ数の後、画像サンプルが得られます(下図参照).

image.png

出典:diffusers_intro.ipynb

Diffusersを使った画像生成

以下のコードは,Google Colab(GPU: T4)で実行しました.

Diffusersのインストール

!pip install diffusers==0.11.1

DDPMPipeline

DDPMPipelineをインポートすることで,数行のコードで推論を行うことができます.

from diffusers import DDPMPipeline

from_pretrained()は,コミュニティによって共有された60,000以上のモデルのリポジトリであるthe Hugging Face Hubからモデルとコンフィギュレーションをダウンロードすることができます.

下記のコードでは,GoogleとU.C.Berkeleyが共同で構築したgoogle/ddpm-celebahq-256モデルをダウンロードしています.これは,Denoising Diffusion Probabilistic Models (DDPM) に従ったモデルで,有名人の画像のデータセットで学習されています.

image_pipe = DDPMPipeline.from_pretrained("google/ddpm-celebahq-256")
image_pipe.to("cuda")

DDPMPipelineはランダムな初期ノイズサンプルを生成し,拡散処理を繰り返すことによって画像を生成します.

images = image_pipe().images

生成された画像を表示させてみます.

images[0]

image.png

まとめ

この記事では,Diffusersについて紹介しました.
特に,Diffusersを使った拡散モデルでの画像生成についての簡単な使い方を紹介しました.
Diffusersの色々な使い方については,以下を参照してください.

0
2
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
0
2