「Stable Diffusion web UI」で使用するモデルは、ファイルの拡張子が「.safetensors」となっているものが今では主流になっています。
その一方で「.ckpt」という拡張子のファイルもまだ一部で使われています。これと同じように「VAE」ファイルもまたファイルの拡張子が「.safetensors」ではなく「.pt」となっているものがあります。
このような古いファイル形式から新しい標準のファイル形式への変換はとても簡単にできるようです。このページでは、誰でも使いやすい GUI ツールを利用してファイル形式を変換する方法を画像付きで紹介しています。
「.ckpt」形式のファイルを「.safetensors」形式のファイルに変換する
WindowsDefenderによる検知・誤検知の事例
2023年3月20日頃、「VAE」ファイルの一部が Microsoft のウイルス対策ソフトである WindowsDefender によって脅威「Trojan:Win32/Casdet!rfn」等として検知されて、自動的に隔離・削除されるという問題が一部で起こっていました。実はその数日前にも WindowsDefender が、あるモデルに対して反応していました。
こちらのページにもリアルタイムで注意書きを記載していました。
これは結果的には誤検知であったようで数日後(24日頃)には、WindowsDefender を最新の定義ファイルに更新することによって検知されなくなりました。
しかし、このような問題は今後も発生する恐れがあり、その度に一部の「モデル」や「VAE」が自動的に隔離・削除されてしまってはひじょうに面倒です。もちろん、「Stable Diffusion web UI」の全部または一部のフォルダを除外する手もありますがそれもどうかと思います。
そこで、「任意のコード(悪意のあるコード)」が実行されない(されにくい)ように、または WindowsDefender に再び誤検知されないように(今回はこちらが目的)、「.ckpt」形式のファイルを「.safetensors」形式のファイルに変換して、安全性を高めておくと少しは安心できるかもしれません。
ここではその具体的な手順について紹介しています。大した作業ではありませんが、ファイル形式の変換やアプリの利用は自己の責任に基づいて行ってください。
(3月25日現在は無関係かも)WindowsDefender が反応する場合
この項目が関係なければ飛ばして次の項目へ移動してください。この文章は同じような出来事が今後もあったときのためにまとめています。
ファイル形式を変換することを前提として、「.ckpt」形式や「.pt」形式のファイルを再びダウンロードするときに、ファイル自体に問題がない、または誤検知であることが濃厚にも関わらず、ファイルが自動的に隔離・削除されてしまうという場合は、自己の責任に基づいて WindowsDefender をオフにします。
Windows 10 における手順は、タスクバー右下に表示されている WindowsDefender のアイコンをクリックして、「ウイルスと脅威の防止」→「設定の管理」→「リアルタイム保護」のチェックを「オン」から「オフ」に切り替えます。
または「スタート」ボタン→「設定」→「交信とセキュリティ」→「Windows セキュリティ」→「ウイルスと脅威の防止」→「設定の管理」→「リアルタイム保護」のチェックを「オン」から「オフ」に切り替えます。どちらもまったく同じことです。
すべての作業が終わった段階で「リアルタイム保護」を再度「オン」にしてください。
変換したいファイルを確認する
今回は「モデル」ファイルを「.ckpt」形式から「.safetensors」形式に、また「VAE」ファイルを「.cp」形式から「.safetensors」形式に変換してみます。
具体的には「anything-v4.0.ckpt」と「anything-v4.0.vae.pt」の二つのファイル形式を変換しようと思います。
どちらも手順はほぼ同じですが、ここでは拡張子を変更する手順のある「VAE」ファイルのやり方を取り上げます。「モデル」ファイルを変換するだけの場合はこの項目を飛ばして次の項目に移動してください。
「Stable Diffusion web UI」がインストールされたフォルダを開いていって「VAE」の保存されたフォルダを開きます。そうすると自分が使っている「VAE」ファイルが以下のように一覧で表示されます。その中でまだ「.safetensors」形式になっていないものを選びます。
ここでは「anything-v4.0.vae.pt」を選択しています。
ファイル形式の変換に使用するアプリ(後述)は「.ckpt」形式と「.safetensors」形式のファイルしか読み込めないため、「VAE」ファイルの拡張子を「.cp」から「.ckpt」に手動(=単純にファイル名を変更)で変更しておきます。
ファイル名称を「anything-v4.0.vae.pt」から「anything-v4.0.vae.ckpt」に変更します。こうすることでファイルを変換用のアプリに読み込ませることができます。
なお、ファイルの拡張子が表示されていない場合は、適当なフォルダを開いてメニューバーのタブを「表示」に切り替え、右上にある「ファイル名拡張子」にチェックを入れてください。
GUIのコンバーターを利用してファイル形式を変換する
ファイル形式を変換するためのアプリが公開されています。ここでは「Safe and Stable Ckpt2Safetensors Conversion Tool GUI」というアプリを使わせてもらいます。
このアプリは自分のパソコンにダウンロードして使います。GUI(Graphical User Interface)のアプリは誰でも簡単に操作できて使い勝手も抜群に良いです。こういうアプリが使えることに感謝です。
「GitHub」の以下のページにアクセスしてください。
そして、ページを中程までスクロールして下がっていくと、Windows アプリのダウンロードリンクがあります。
下の「Zip」ファイルをダウンロードして、適当な場所で展開してください。このアプリはインストールを必要としませんので、デスクトップでもドキュメントでも適当なところに配置してください。
フォルダを開くと下の方に「run_app_gui.exe」という実行ファイルがあります。そちらをダブルクリックして開きます。すると以下の画面が表示されます。
画面は至ってシンプルです。
この画面でファイルの入っている「フォルダ」を指定します。画面右上の「Browse」をクリックするとフォルダを選択するための窓が出てきます。 最初は「C:\」が表示されているため、Cドライブ直下のファイルが左側に青文字で表示されています。
「VAE」ファイルを変換するためには、先ほどの「VAE」フォルダを選択します。ファイルではなくフォルダを選択します。
そうすると、指定したフォルダの中にある「VAE」ファイルの一覧が左側に表示されます。
ただし、こういうツールで変換する場合には「.ckpt」のデータが読み込まれますので、出所の分からない怪しいファイルは変換すること自体が危険かもしれません。このツールの説明欄にも安全なモデルで使用するようにといった案内があります。
ファイルの変換は自己の責任に基づいて行ってください。
その中から変換したいファイルを選んで変換します。
ここでは「anything-v4.0.vae.ckpt」を選択します。すると選択中のファイルが青色で表示されます。
選択したファイルに間違いがなければ、その上にある「CONVERT FILE(ファイルを変換する)」をクリックしてください。すぐに変換が始まります。ファイルサイズの小さいものは変換が即完了します。
しかし、「モデル」のようにファイルサイズが数GBあるようなものは変換が完了するまでに少し時間を要します。
元のファイルは同じフォルダに残ったままです。しばらくどこかに保存しておいて、変換後のファイルに不具合がないことを確認してから(もう不要であれば)削除してください。
ファイル形式を変換した「anything-v4.0.vae.safetensors」は今まで通りに使えているようです。「VAE」が上手く適用されていないときのような灰色っぽい表現になることも今のところありません。生成された画像は前と同じように綺麗に表現されています。
なお、複数のファイルをまとめて(フォルダごと)変換する場合は、フォルダを選択した後に「CONVERT DIRECTORY(フォルダを変換する)」をクリックするようです。こちらは使っていないので何ともいえません。
アプリを終了する場合は右上の「×」ボタンをクリックしてください。
ファイルの変換はとても簡単
このように「Safe and Stable Ckpt2Safetensors Conversion Tool GUI」を利用することで、「.ckpt」形式のファイルを「.safetensors」形式のファイルに手軽に変換することができます。
逆に「.safetensors」形式から「.ckpt」形式のファイルに変換することもできるようです。「CONVERT FILE」の右側にある「ckpt2safetensors」をクリックするとプルダウンメニューが開きますので、下の「safetensors2ckpt」を選択して「CONVERT FILE」をクリックします。
このアプリはGUI環境で誰でも簡単に操作することができる点が何よりも優れています。困っている方は利用を検討してみてください。
このほかにも拡張機能をインストールすることでファイル形式を変換するという方法もあるようです。「Stable Diffusion web UI」内で完結したいという方はそちらを調べてみてください。
なお、ウイルス対策ソフトが不要(=WindowsDefender で十分)といわれてから随分経ちますが、別に入れるのであれば「ESET」がおすすめです。他のパソコンで昔から愛用していますが動作がとても軽くて信頼性も高いです。
画像はSafe and Stable Ckpt2Safetensors Conversion Tool GUIより引用