「roopのインストールに失敗する・・・」
「inswapper_128.onnxのダウンロードページを探している」
このような場合には、この記事の内容が参考になります。
この記事では、roopのインストールエラーを解消する方法を解説しています。
本記事の内容
- roopのインストールに失敗する原因
- roopのインストールエラーを解消する方法
それでは、上記に沿って解説していきます。
roopのインストールに失敗する原因
この記事におけるroopは、web UI拡張機能であるroop for StableDiffusionがその対象です。
現状、上記の通りにroopをインストールするとエラーになります。
web UI上にroopの機能が出てきません。
エラーと言っても、InsightFaceのインストールまで成功していることが前提です。
詳細は、上記記事をご覧ください。
エラーになる原因は、roopで利用するモデルがダウンロードできないことです。
モデルをダウンロードできず、それ以降のインストール処理が進みません。
このような場合は、一度web UIを停止します。
そして、web UIを起動しましょう。
そうすると、次のようなエラーをコンソールに確認できるはずです。
*** urllib.error.HTTPError: HTTP Error 401: Unauthorized
このエラーは、roopで利用するモデルにアクセスできないために発生しています。
そのモデルのURLは、次のファイルに記載されています。
install.py上の次の箇所です。
確かに、このURLにブラウザでアクセスするとモデルをダウンロードできません。
状況によって、画面に表示されるメッセージが異なります。
Hugging Faceに未ログイン
Invalid username or password.
Hugging Faceにログイン済み
Access to this resource is disabled.
いづれにしても、URLからモデルをダウンロードすることはできません。
そのURLは、次のページがトップページになります。
https://huggingface.co/deepinsight-unofficial/inswapper
このページでは、次のように表示されています。
「モデルが削除されて、アクセスできませんよ」という内容です。
モデルが削除された理由は、以下のページで詳細を確認できます。
https://huggingface.co/deepinsight-unofficial/inswapper/discussions/2
削除されたのは、2023年8月22日です。
それ以降は、roopのインストールに失敗するようになっています。
削除理由は、権利者からの削除要請に異議申し立てがなかったからです。
削除要請をしたのは、以下の関係者です。
https://github.com/deepinsight/insightface
正当な権利者ということになります。
ただし、「inswapper_128.onnx」はもともとGoogle Driveで無料公開されていたモデルです。
それに削除要請の理由が、以下というのが気になります。
The author of this page is fake, and the license is not set correctly.ライセンスを正しく設定していれば、良かったのでしょうかね?
また、削除要請を無視しなければ問題なかったのでしょうか?
その辺が、明確になっていません。
そのため、モヤモヤします。
何より、「inswapper_128.onnx」のライセンス内容を確認できません。
そのことがモヤモヤに拍車をかけています。
とにかく、モデルをダウンロードできないことが原因なのです。
あと、ここでのモヤモヤは後述する内容で解消されます。
以上、roopのインストールに失敗する原因を説明しました。
次は、roopのインストールエラーを解消する方法を説明します。
roopのインストールエラーを解消する方法
roopのインストールエラーは、モデルをダウンロードできないことがその原因でした。
したがって、モデルをダウンロードできればエラーが解消されます。
その際、大きく2つの対応方法が考えられます。
- アクセス可能なURLに書き換える
- モデルを手動でダウンロードして保存する
正直、どちらでも構いません。
それぞれの方法を以下で説明します。
その前に、ダウンロード可能なURLを見つける必要があります。
探せばいろいろとありますが、以下が信用できそうです。
ライセンスについては、次のページでちゃんと設定されています。
https://github.com/facefusion/facefusion-assets
このように設定してあれば、問題はないということなのでしょう。
ただ、商用利用不可ということには注意です。
おそらく、これで権利者の通報でも削除されないと思われます。
これは、これで勉強になりますね。
一応、これでモヤモヤした感じは解消されました。
では、対応方法の説明を進めます。
アクセス可能なURLに書き換える
ダウンロードページにアクセスします。
そこで、「inswapper_128.onnx」のリンクアドレスをコピーします。
https://github.com/facefusion/facefusion-assets/releases/download/models/inswapper_128.onnx
コピーしたURLを用いて、次のようにソースを変更します。
モデルを手動でダウンロードして保存する
ソースを修正するのが嫌だという場合は、こちらがオススメです。
まずは、ダウンロードページでファイルをダウンロードしましょう。
ダウンロードしたファイルを以下の「roop」ディレクトリに保存します。
「roop」ディレクトリは、roopをインストールした時点で作成されています。
このような状態であれば、URLが間違っていても問題はありません。
モデルが存在していれば、URLを利用することはありません。
まとめ
対応を実施したら、後はweb UIを起動するだけです。
そうすれば、roopのインストールが再開されます。
おそらく、それ以降でのエラーはないと思われます。
エラーがある場合は、依存ライブラリのバージョンがその原因の可能性があります。
その場合は、エラーメッセージを見て地道に対応するしかありません。
web UIが起動したら、roopの機能を確認できるはずです。
以上、roopのインストールエラーを解消する方法を説明しました。