「Inkpunk Diffusionの利用方法がわからない・・・」
「Stable Diffusionでカラフルなパンク風画像を生成したい」
このような場合には、この記事の内容が参考になります。
この記事では、Inkpunk DiffusionをDiffusersで利用する方法を解説しています。
本記事の内容
- Inkpunk Diffusionとは?
- Inkpunk Diffusionの利用方法
- Inkpunk Diffusionの動作検証
それでは、上記に沿って解説していきます。
Inkpunk Diffusionとは?
Inkpunk Diffusionとは、ファインチューニングされたStable Diffusionの学習済みモデルになります。
モデルの開発者によると、以下から影響を受けているようです。
- Gorillaz(バンド)
- FLCL(漫画)
- Yoji Shinkawa(新川洋司)
これらに関連する画像をもとに学習を繰り返したのでしょう。
学習の際には、DreamBoothが用いられているようです。
公式ページでは、次の画像が作成例として公開されています。
確かに、メタルギアソリッドのような感じもします。
新川氏は、以前にコナミでスネークを描いていたようです。
また、キャラクター以外の画像も公式で公開されています。
これらを見ると、新川氏の画風にGorillazとFLCLの色使いをミックスしている印象です。
画風と色使い(配色)の組み合わせ次第で、可能性は広がりますね。
以上、Inkpunk Diffusionについて説明しました。
次は、Inkpunk Diffusionの利用方法を説明します。
Inkpunk Diffusionの利用方法
Stable Diffusionを動かせる環境が、必要です。
Google Colabではなくローカル環境で動かす場合は、次の記事が参考になります。
Stable Diffusionが動くなら、公式に載っているコードでInkpunk Diffusionを利用できます。
from diffusers import StableDiffusionPipeline import torch model_id = "Envvi/Inkpunk-Diffusion" pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16) pipe = pipe.to("cuda") prompt = "nvinkpunk, a girl" image = pipe(prompt).images[0] image.save("./test.png")
ポイントは、「nvinkpunk」をプロンプトに含むことです。
それ以外は、普通にStable Diffusionを利用するのと変わりません。
また、GPUに余裕があれば、「float16」を「float32」に変更してもよいでしょう。
初めてInkpunk Diffusionを利用する場合は、モデルのダウンロードが始まります。
そのファイル容量は、全部で5.1GBほどです。
上記コードを実行すると、test.pngが作成されます。
test.png
以上、Inkpunk Diffusionの利用方法を説明しました。
次は、Inkpunk Diffusionの動作検証を説明します。
Inkpunk Diffusionの動作検証
Inkpunk Diffusionの動作検証として、検証した結果を載せるつもりでした。
しかし、Inkpunk Diffusionはそれ以前の問題として動かない可能性が多いにあります。
Inkpunk Diffusionを試すと、次のようなエラーが出ていませんか?
AttributeError: module transformers has no attribute CLIPImageProcessor
このエラーが出る原因は、次の記述にあります。
この記述は、特徴抽出に関する設定ファイルで確認できます。
他のモデルの場合は、次のように「image_processor_type」項目自体が記載されていません。
「image_processor_type」が気になる方は、各自で調べてみてください。
ここでは、エラーの解決方法を記載しておきます。
その解決方法とは、Transformersのバージョンを4.25.0以降にすることです。
Transformersについては、次の記事で説明しています。
現時点(2022年12月初旬)では、4.24.0が最新バージョンとなっています。
これが早くバージョンアップすれば、問題は簡単に解決します。
とりあえず、現時点ではGitHubから開発中の最新バージョンをインストールしましょう。
GitHubからインストールするには、次のコマンドを実行します。
pip install git+https://github.com/huggingface/transformers.git
これにより、エラーが解消されます。
そして、Inkpunk Diffusionで画像を生成できるはずです。