日本語に特化した画像生成モデル Japanese Stable Diffusionをノートブックで動かす手順

ここで説明しているコードは、IBM Cloudで使えるWatson Studio (IBM Cloud Pak for Data)のノートブックで書いたものですが、Google Colaboratoryでも同じコードでStable Diffusionを動かすことができます。

目次

前提

使用環境

ここでは、IBM Cloud Pak for Data ( Watson Studio)を使います。IBM Cloud 以外の手段としては、Stable Diffusionで使われることの多いGoogle Colaboratoryもあります。Japanese Stable Diffusionでは、GPU環境が必須ですから、IBM Cloud Pak for Data ( Watson Studio ) や Google Colaboratory を使うことで、自前で独立GPU搭載パソコンがなくても、インターネット上のGPU環境を確保することができます。

必要知識と経験

画像生成AI (IBM Cloud 及び ローカル環境) における、「アクセストークンの取得」および「Watson Studioの環境構築」「プロジェクトの作成」について実施済みとします。

ライセンスへの同意

rinna社のJapanese Stable Diffusionのリポジトリにアクセスするため、ライセンスに同意します。

  1. Hugging Face にログインします。

  2. https://huggingface.co/rinna/japanese-stable-diffusion にアクセスします。

  3. 「Access Repository」をクリックします。

  4. 「I have read the License and agree with its terms」にチェックを入れ、「Access Repository」をクリックします。

Japanese Stable Diffusionのための、ノートブック作成

IBM Cloud Pak for Data、つまり、IBM Cloud上のWatson Studioを使用します。既にWatson Studio内にプロジェクトが作成済みとします。まだ作成していない場合は、画像生成AI (IBM Cloud 及び ローカル環境) をご確認ください。

ノートブックの作成

Watson Studio のプロジェクト管理画面で、「資産」の「新規作成」をクリックします。「新規資産」画面で、「コード・エディター」の「Jupyter ノートブック・エディター」をクリックします。「新規 Notebook」画面で、ノートブック名を入力し、「ランタイムの選択」では、GPUありのランタイムを選びます。「作成」をクリックします。

「Work with data your way」などのメッセージが表示された場合は、メッセージを閉じます。

Jupyter ノートブック・エディターが表示されます。これで環境構築は終わります。

コードの記述

Japanese Stable Diffusionを動かすために、コードを書いていきます。ノートブックでは、1つ1つの枠を「セル」といいます。⊕をクリックすることで、セルを増やすことができます。セルを削除したい場合は、「Edit」メニューから、セルの削除(Delete)を行うことができます。

 

各所(セル)を見ていきましょう。各セルにコードを打ち込んでいきます。

ライブラリのインストールに用いるpipをアップグレードします。

#pipのアップグレード !pip install --upgrade pip

ライブラリのインストールに関するコードは次のようになっています。実行すると、transformersのバージョンによっては、watson-nlpのライブラリとの依存性に関する警告が出ますが、Stable Diffusionではwatson-nlpは使わないので、無視しても動きます。

#ライブラリのインストール  !pip install --upgrade scipy ftfy Pillow !pip install git+https://github.com/rinnakk/japanese-stable-diffusion

Hugging Face で取得したアクセストークンの値をセットします。

#アクセストークン YOUR_TOKEN="Hugging Faceで発行した、あなたのアクセストークン値"

Japanese Stable Diffusionのパイプラインを準備するコードは下記です。

画像生成(描画)を行うための文章を、prompt = に記述します。promput = で指定した日本語の文章や単語をもとに画像を生成します。生成した画像は、「output.png」として一時的に保存されます。

一時的に保存した「output.png」をノートブック内に表示します。保存といっても、どこかのストレージに保管されるわけではないので、表示された画像上で右クリックして画像を任意の場所に保存しておきましょう。

各セルでは、上から順に「▶Run」をクリックします。特にパイプラインを準備するところで、モデルのダウンロードが行われますので、十数分ほど待つことがあります。

処理中は、In [ *]と表示されます。処理が完了すると、*(アスタリスク)の部分に数字が入りますので、数字が表示されているかどうかを目安にしましょう。

生成結果の確認

表示された画像の上で右クリックを行い、画像を任意の場所に保存します。