目次
はじめに
前回の記事では、画像生成AIの仕組みについてご紹介しました。
本記事ではGoogleColabを用いた方法で実際に画像生成を行っていきます。
本記事の目的
ローカルで実際に画像を生成する方法について解説していきます。
想定読者
・プログラミング未経験の方
・前編を読んでStable Diffusionに興味を持った方
GoogleColabとは
WEBサービスを利用することなく、画像生成AIを動かすにはある程度の性能を持ったPCが必要です。
ですが、そのようなPCを用意するのはハードルが高いと思います。
そこで活用したいのがGoogleColabです。
Google ColabはGoogleが無料で提供しているクラウド上の開発環境でPythonでコードを実行することが可能です。また、最大の特徴はGPUを無料で使える 点です。
PCがない場合でも画像生成を行うことが可能です。
GoogleColabの設定
GPUの設定
①ツールバーのランタイムを押下
②ランタイムのタイプを変更の「 T4GPU」を選択
③保存ボタン押下
画像生成用コードの設定
Colaboの画面には「セル」と呼ばれるテキストエリアがあります。
そこに以下のコードをコピペしてください。
「▶」ボタンを押下すると記載されたコードが実行されます。
# ============================================================ # 【Step 1】必要なライブラリのインストール # ============================================================ # pip installコマンドでPythonのパッケージをインストールします # diffusers: Stable Diffusionを扱うためのメインライブラリ # transformers: 機械学習モデルを扱うためのライブラリ # accelerate: 処理を高速化するためのライブラリ
!pip install diffusers transformers accelerate # ============================================================ # 【Step 2】必要なライブラリをインポート # ============================================================ # torch: PyTorchという機械学習フレームワーク # StableDiffusionXLPipeline: 画像生成のための専用クラス # display, Image: 生成した画像を表示するためのツール import torch from diffusers import StableDiffusionXLPipeline from IPython.display import display, Image # ============================================================ # 【Step 3】画像生成モデルのセットアップ # ============================================================ # from_pretrained(): 事前学習済みのモデルをダウンロード # stabilityai/stable-diffusion-xl-base-1.0: 使用するモデルの名前 # torch_dtype=torch.float16: 16ビット精度で計算(メモリ節約のため) # variant="fp16": 16ビット精度のバージョンを使用 # use_safetensors=True: より安全なモデル形式を使用
pipe = StableDiffusionXLPipeline.from_pretrained( "stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16, variant="fp16", use_safetensors=True ) # ============================================================ # 【Step 4】GPUの設定 # ============================================================ # Google Colabで提供されるGPUを使用するための設定 # to("cuda"): モデルをGPUメモリに転送
pipe = pipe.to("cuda") # ============================================================ # 【Step 5】画像生成のパラメータ設定 # ============================================================ # prompt: 生成したい画像の説明(英語で指定) # negative_prompt: 避けたい要素の指定
prompt = "a beautiful landscape with mountains and lake, cat, hyperrealistic, 8k" negative_prompt = "ugly, blurry, bad quality" # ============================================================ # 【Step 6】画像の生成 # ============================================================ # num_inference_steps: 画像生成の精密さ(大きいほど高品質だが時間がかかる) # height, width: 生成する画像のサイズ(ピクセル単位)
image = pipe( prompt=prompt, negative_prompt=negative_prompt, num_inference_steps=30, # 30回のステップで生成(20-50が一般的) height=1024, # 縦1024ピクセル width=1024 # 横1024ピクセル ).images[0] # 生成された最初の画像を取得 # ============================================================ # 【Step 7】画像の保存と表示 # ============================================================ # save(): 生成した画像をPNG形式で保存 # display(): Colabのノートブック上に画像を表示
image.save("generated_image.png") display(Image("generated_image.png"))
さいごに
ここまでお読みいただき、ありがとうございました。
本記事ではStable Diffusionという画像生成AIを実際に動かしてみる方法を解説しました。



