この記事の内容
- 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の不具合が修正されてから行うようにしましょう。
コメント