【Stable Diffusion】シンボリックリンクを作成してモデルデータを1つのフォルダで管理する方法【WebUI複数環境】

こんにちは!悠です!

 

以前最新版のxformersを導入する記事でも紹介しましたが、「Stable Diffusion WebUI」の環境を更新したり、何か新機能を導入したりする際はテスト環境を事前に構築しておくと、万が一エラーが生じたときでもこれまで使っていた環境に影響を与えないため安心できます。

 

ただこのテスト環境を使う際の問題点として、普段使っている「Stable Diffusion WebUI」のフォルダに入れてあるモデルデータやLoRAをテスト環境にまでコピーすると、PCのストレージの容量が足りなくなってしまう危険性があります。

モデルデータは1つで2GB~5GBありますからね…

 

そこで今回紹介する「シンボリックリンク」という機能を使って、モデルデータを複製することなくテスト環境から本番(メイン)環境のモデルを読み込む方法を紹介していきます。

アイキャッチ画像は「NeverEnding Dream」で生成しています!
スポンサーリンク
スポンサーリンク

シンボリックリンクとは?

シンボリックリンクとは、PC上に保存した特定のファイルやフォルダなどを、本来の位置とは別の場所に作成したファイルまたはフォルダを通じてアクセスできるようにする仕組みのことを指します。

シンボリックリンク自体はショートカットと同じく数KB程度しかないため、ファイルを複製するよりも遥かにストレージを節約できるんですね。

 

今回の「Stable Diffusion WebUI」の例だと、テスト環境内に作成したシンボリックリンクを通じて、メイン環境に保存してあるフォルダを参照することができます。

 

「シンボリックリンク」の作成方法

ではまず例として、テスト環境の中にあるモデル格納フォルダ

C:\Users\name\Desktop\SD_Test_Version\webui\models\Stable-diffusion

 

をシンボリックリンクに置き換えて、メイン環境の

C:\Users\name\Desktop\Stable_Diffusion\webui\models\Stable-diffusion

 

の中にあるモデルデータを読み込むように設定していきます。

パスの前半部分は各々の環境によって違うと思いますので、適宜置き換えてください。

 

まずコマンドプロンプトを管理者として実行します。

 

次に下記の要領でmklinkコマンドを入力します。

mklink /D (シンボリックリンクを作成する場所) (シンボリックリンクで読み込むデータが保存された場所)

 

今回の場合は下記のようになります。

mklink /D C:\Users\name\Desktop\SD_Test_Version\webui\models\Stable-diffusion C:\Users\name\Desktop\Stable_Diffusion\webui\models\Stable-diffusion

 

なお、シンボリックリンクを作成する場所に同名のフォルダあるとダメなので、テスト環境にあるStable-diffusionのフォルダは削除しておきましょう。

 

これでテスト環境にモデルデータを複製することなく、メイン環境のフォルダ内に格納したモデルを読み込むことができます。

同じ操作をLoRA、embeddings、hypernetworks、VAEでも行うと、一切ファイルを複製しなくてもメインと同じようにテスト環境を動かせるようになります。

 

まとめ

以上が「Stable Diffusion」で、「シンボリックリンク」という機能を使ってモデルデータを複製することなく、テスト環境から本番(メイン)環境のモデルを読み込む方法についての紹介でした。

SSDの容量を大幅に節約できる非常に便利な機能ですので、ぜひ試してみてくださいね!

では、ここまで読んでいただきありがとうございました。

コメント