【Counterfeit-V2.5】【Diffusers】VAEを使用して画質をよくする(暗い画像が明るくなります)

最終更新日:2023年7月22日

この記事の内容は古くなっています。
最新情報はこちらを見てください。

一応記事は残しておきます。

左がそのままの画像、右が専用のVAEを適応した画像

はじめに

huggingface.co
Counterfeit-V2.5はDiffusersでそのまま使用できる形式で公開されています。

ただし専用のVAEを使用しないと画質が悪い(全体的に暗い)です。

専用のVAEを使用する方法を紹介します。

今回は例としてCounterfeit-V2.5を使っていますが他のモデルも基本的に方法は一緒です。

方法

「Counterfeit-V2.5.vae.pt」のダウンロード

Counterfeit-V2.5のhuggingfaceから「Counterfeit-V2.5.vae.pt」をダウンロードします。

「Counterfeit-V2.5.vae.pt」の変換

DiffusersのGitHubで変換ツール「convert_vae_pt_to_diffusers.py」が公開されています。
こちらです。

python convert_vae_pt_to_diffusers.py ^
  --vae_pt_path Counterfeit-V2.5.vae.pt ^
  --dump_path counterfeit_vae

これで「counterfeit_vae」フォルダが作成され、中には「config.json」と「diffusion_pytorch_model.bin」が入っています。

「vae」を使用する

ここからは方法が2つあります。

方法①

もともとあった「vae」ファルダ内の「config.json」と「diffusion_pytorch_model.bin」を新規に作成されたものに置き換える。

方法②

Pythonスクリプトから読み込む。

from diffusers import AutoencoderKL
vae = AutoencoderKL.from_pretrained("counterfeit_vae").to("cuda")
pipe = StableDiffusionImg2ImgPipeline.from_pretrained(
    model_id, 
    vae=vae,
    torch_dtype=torch.float32)