Civitai HelperでLyCORISを管理 プログラム修正方法を伝授

AIイラスト

この記事の内容

  • Stable Diffusion Web UI バージョン1.6.0で、最新のCivitai Helper バージョン1.8.2を利用すると、LyCORISのトリガーワードが入力されないなどの不具合があります。
  • 今回はCivitai Helperのプログラムを修正し、LyCORISを利用できるようにします。

前提

  • Stable Diffusion WebUIのバージョン
    1.6.0(Commit hash: 5ef669de080814067961f28357256e8fe27544f4)
  • Civitai-Helperのバージョン:
    1.8.2(commit dc76c0c68880338185adca16e5fc4ea522e95e4d)

はじめに

Stable Diffusion Web UI バージョン1.6.0 且つ Civitai Helper バージョン1.8.2を利用している場合、LyCORISをクリックしても何も反応しません。このため、トリガーワードの入力やCivitaiのダウンロードページへ飛ぶことが出来ません。

今回はこの不具合を修正してみます。

Civitai Helperのプログラムを修正

プログラムの修正は自己責任でお願いします。
最悪の場合はStable Diffusionが起動しなくなる可能性もあるため、十分に注意して行ってください。

civitai.pyの修正

まず初めに、プログラムの修正に失敗しても復旧できるよう、civitai.pyのバックアップを取得します。Stable Diffusionをインストールしたフォルダ配下の”extensions\Stable-Diffusion-Webui-Civitai-Helper\scripts\ch_lib”を開き、civitai.pyを別名でコピーしておきましょう。

次にcivitai.pyをテキストエディタなどで開き、214行目のif文内に赤字部分を追加します。改行やスペースにも意味があるので、以下をそのままコピペしてください。

◆修正前
    if not os.path.isfile(model_info_filepath):
        util.printD("Can not find model info file: " + model_info_filepath)
        return
    
    return model.load_model_info(model_info_filepath)

◆修正後
    if not os.path.isfile(model_info_filepath):
        # LyCORISの可能性を考慮してmodel_info_filepathを書き換え
        model_lycoris_folder = model_folder.replace('Lora', 'LyCORIS')
        model_info_filepath = os.path.join(model_lycoris_folder, model_info_filename)

        if not os.path.isfile(model_info_filepath):
            util.printD("Can not find model info file: " + model_info_filepath)
            return
    
    return model.load_model_info(model_info_filepath)

model.py

次はmodel.pyの修正を行います。civitai.pyの修正時と同様に事前にバックアップを取ってから、20行目を以下の通り修正します。

◆修正前
folders = {
    "ti": os.path.join(root_path, "embeddings"),
    "hyper": os.path.join(root_path, "models", "hypernetworks"),
    "ckp": os.path.join(root_path, "models", "Stable-diffusion"),
    "lora": os.path.join(root_path, "models", "Lora"),
}

◆修正後
folders = {
    "ti": os.path.join(root_path, "embeddings"),
    "hyper": os.path.join(root_path, "models", "hypernetworks"),
    "ckp": os.path.join(root_path, "models", "Stable-diffusion"),
    "lora": os.path.join(root_path, "models", "Lora"),
    # Lycorisを追加
    "lycoris": os.path.join(root_path, "models", "LyCORIS"),
}

動作確認

プログラムの修正はこれだけですので、Stable Diffusionを再起動してLyCORISのアイコンを押してみます。トリガーワードが入力出来るようになり、Civitaiのページへ飛ぶことも出来るようになっています。

また、Scan対象のモデルにLyCORISが追加されており、Scanボタンを押すとLyCORISのプレビュー画像などをCivitaiからダウンロードしてくれるようになります。

最後に

プログラムの修正に失敗してStable Diffusionが起動しないなどの症状に陥った場合は、事前にバックアップしていたファイルで上書きしましょう。これで元通りに復旧するはずです。

また、Civitai Helperのアップデートを行ってしまうとプログラムが書き換わってしまうため、今回の修正では対処できなくなってしまいます。このため、アップデートはLyCORISの不具合が修正されてから行うようにしましょう。

コメント

タイトルとURLをコピーしました