画像生成(DALL・E 系)

AI

前回は Stable Diffusion で画像を生成しました。しかし、最近(2023年4月)は、Bing Image Creator が使用している DALL・E が優秀過ぎるので、今回は DALL・E 系で画像生成してみます。

プログラミングと出力結果

事前学習データのダウンロード

学習済みデータをダウンロードします。以下では、3つのモデルを読み込んでいます。

1つ目は「kuprel/min-dalle」です。

from huggingface_hub import snapshot_download
download_path = snapshot_download(repo_id="kuprel/min-dalle", local_dir="/home/ユーザー/model/kuprel/min-dalle", local_dir_use_symlinks=False)

2つ目は「dalle-mini/dalle-mini」です。

from huggingface_hub import snapshot_download
download_path = snapshot_download(repo_id="dalle-mini/dalle-mini", local_dir="/home/ユーザー/model/dalle-mini/dalle-mini", local_dir_use_symlinks=False)

3つ目は「dalle-mini/dalle-mega」です。

from huggingface_hub import snapshot_download
download_path = snapshot_download(repo_id="dalle-mini/dalle-mega", local_dir="/home/ユーザー/model/dalle-mini/dalle-mega", local_dir_use_symlinks=False)

local_dir には保存先のディレクトリを指定します。

学習データの読み込み

まずは、読み込み用の関数を pip でインストールします。

!pip install min-dalle

続いて、MinDalle 関数でパラメータを設定します。
models_rootで使用モデルを指定します。

from min_dalle import MinDalle
import torch

model = MinDalle(
    models_root='/home/ユーザー/model/kuprel/min-dalle',
    dtype=torch.float32,
    #device='cuda',
    device='cpu',
    is_mega=True, 
    is_reusable=True
)

画像の生成

text にキーワードを入力すると、画像が生成されます。

image = model.generate_image(
    text='The ocean floor is filled with tiny particles of yellow light. A rainbow-colored dolphin is swimming quietly',
    seed=-1,
    grid_size=4,
    is_seamless=False,
    temperature=1,
    top_k=256,
    supercondition_factor=32,
    is_verbose=False
)

display(image)

アイキャッチ画像は「kuprel/min-dalle」を用いて、プロンプト「Blue sky, white clouds, splashing sea waves, Double exposure, 1/1000 sec shutter speed」で計算した結果

コメント