PythonでStable Diffusionを使用して画像を生成してみます。
Stable Diffusionは、テキストに基づいてグラフィックを生成できる機械学習ベースの Text-to-Image モデルです。
今回はReplicateライブラリとReplicateのAPI トークンを用います。ReplicateライブラリはPythonの標準ライブラリ、モジュールではありませんので事前にインストールする必要があります。またAPI トークンを事前にReplicateに登録し取得しておく必要があります。
■今回の環境(Python)
今回のPythonは、バージョン3.10.11を用いる。(なお、Google Colaboratory(Google Colab)を使用。)
■Google Colabでノートブックの新規作成
まずは、Google Colab(https://colab.research.google.com/)にアクセスします。アクセス後、お持ちのGoogleアカウントでログインされているか確認しておきましょう。
確認後、Google Colab上部の「ファイル」から「ノートブックを新規作成」をクリックします。
クリックすると「ノートブック」が作成されます。
作成後、Replicate用Pythonクライアントのインストールを行います。(すでに完了している場合はインストール不要です。)
■環境変数の設定
import os os.environ['REPLICATE_API_TOKEN'] = 'API トークン'
インストール後、新しいコードセルを追加し、上記のコードを入力し、「APIトークン」に取得したトークンを入力し、実行ボタンをクリックします。
■ReplicateとStable Diffusionを使用して画像を生成する
クリック後、新しいコードセルを追加し、ReplicateとStable Diffusionを使用して画像を生成するスクリプトを書いていきます。
■コード
import replicate import webbrowser model = replicate.models.get("stability-ai/stable-diffusion") version = model.versions.get("db21e45d3f7023abc2a46ee38a23973f6dce16bb082a930b0c49861f96d1e5bf") output_url = version.predict(prompt="猫")[0] print(output_url)
まずはreplicateモジュールとwebbrowserモジュールをインポートします。次にreplicateモジュールを使用して、AIモデルを取得します。replicate.models.get()メソッドは、指定されたモデルの識別子を使用して、モデルオブジェクトを取得します。今回は”stability-ai/stable-diffusion”というモデルを使用します。
取得したモデルオブジェクトを使用して、特定のバージョンのモデルを取得します。model.versions.get()メソッドは、指定されたバージョンのモデルオブジェクトを取得します。今回は、”db21e45d3f7023abc2a46ee38a23973f6dce16bb082a930b0c49861f96d1e5bf”というバージョンを使用します。
取得したモデルバージョンを使用して、指定したプロンプト(今回は”猫”)に基づいて予測を行います。version.predict()メソッドは、指定されたプロンプトに対してモデルを実行し、予測結果を取得します。この例では、予測結果のリストの最初の要素をoutput_url変数に代入しています。
output_urlを表示します。print()関数を使用して、output_urlの値を表示します。
■実行・検証
コードセルにコードを記述後、実行ボタンをクリックします。
実行してみると、「https://replicate.delivery/pbxt/******/***.png」というURLが表示されます。このURLをWebブラウザのアドレスバーに貼り付けてアクセスしてみます。
アクセスしてみると、指定した日本語のプロンプトに基づいて予測が行われ、画像が生成されていることを確認できました。
コメント