Stable Diffusion2での画像生成に挑戦してみます。以前のv1に比べて、高解像度の768×768に対応した新しい安定拡散モデルを用いて、高画質の画像生成が可能になっているそうです。
Stable Diffusion2について
Stable Diffusionについてはテキストから簡単に高画質の画像を生成できるAIで、それがオープンソースとなって誰でも使えるようになったことでとても話題になりました。Stable Diffusion2はv1をベースに改良が加えられ、さらに使いやすくなっています。
主な改良点
・LAION-5Bというサブセットで学習した新しいモデルで学習しなおし、少ないステップ数でより高画質な画像(512pxから768pxに進化)を提供できる。
・フィルタによって危険性の低い画像を生成するようになった。(賛否はありますが。。。)
・プロンプトの改善により、有名人や固有のアーティストのインパクトが小さくなった。
・テキストベースで画像を修復するinpaintingが進化した。
全体的に従来モデルで問題となっていた部分を緩和させ、より健全な形に進化したといえます。
前準備
前準備として、GPU搭載のPCを用いて、GPUのPyTorch環境を構築します。GPUのメモリではうまく実行できない可能性があります。もし、そうしたPCがない場合は、Google Colabを使えば、実行できると思います。今回は、ローカル環境で実行してみます。GPUを使ったPyTorchの環境構築については、下のまとめ記事をご参照ください。
GPU環境構築
WindowsへのNVIDIA CUDAのGPU環境構築
WindowsネイティブへのCUDA, PyTorchの環境構築
パソコン選び
生成系AIを使うためのGPU搭載おすすめパソコン
PCの構成(参考)
OS:Windows11HOME(22H2)
CPU:12thGen Intel Core i5-12400F (2.5GHz)
GPU: NVIDIA GeForce RTX 3080(10GB)
RAM: 32GB
diffusers2のインストール
開発者のGithubサイトの説明を参考にインストールしていきます。
PyTorchを導入している環境で、下記のように入力してStable Difuusion2の対応したdiffusersをインストールします。
pip install diffusers[torch]==0.9 transformers
pip install --upgrade scipy
Stable Diffusion2で画像を生成
それでは、上記ページのサンプルコードを参考に画像生成してみます。初回のみモデルの読み込みで時間がかかりますが、数秒で1枚の画像が生成します。
import torch
from diffusers import DiffusionPipeline, DPMSolverMultistepScheduler
repo_id = "stabilityai/stable-diffusion-2"
pipe = DiffusionPipeline.from_pretrained(repo_id, torch_dtype=torch.float16, revision="fp16")
pipe.scheduler = DPMSolverMultistepScheduler.from_config(pipe.scheduler.config)
pipe = pipe.to("cuda")
prompt = "CG artwork of Fantastic Northern Lights and polar bears, very high quality, high detail"
image = pipe(prompt, guidance_scale=7.5, num_inference_steps=50).images[0]
file_name = "polar_bears.png"
image.save(file_name)
> python demo.py
他にも関連記事をあげているので、ぜひご覧ください。わからないことがあれば、投稿フォームからご質問していただければと思います。
関連記事
【広告】Stable Diffusionをするなら、GPU搭載のPCがおススメです。自作もよいけど、難しい人はBTOのPCもおすすめです。
コメント
venvでのPython3.9の仮想環境構築
venvでPython3.9の仮想環境を作っていきます。今回は「torch_env」という名前で仮想環境を立ち上げます。次いで、よく使うライブラリをインストールします。
> py -3.9 -m venv ./torch_env
> cd .\torch_env\
> .\Scripts\Activate.ps1
(torch_env) > python -V
Python 3.9.13
(torch_env) > python -m pip install -U pip setuptools
(torch_env) > python -m pip install pandas
(torch_env) > python -m pip install matplotlib
(torch_env) > python -m pip install jupyterlab
PyTorchのインストール
まったくわかりません・・・・
Stable Diffusionを使うなら、GPU環境じゃないときついから、CUDA Toolkitもあらかじめ入れておく必要があります。
それができていて、Python3.9を公式ホームページからインストールしていたら、ターミナルでコマンドを入れていけば、PyTorchの環境が作れると思います。
もし、NVIDEAのGPUを積んでいないPCの場合は、Google Colabでやった方がよいかも。
絵を出したいだけなら、自分はやったことがないけど、Google Colab+AUTOMATIC1111の環境が楽だと思います。(検索したらノートブックを公開しているページも結構あるみたい)