記事内に広告が表示されます

「.ckpt」を「.safetensors」に変換する方法【Stable Diffusion web UI】

sd-image スマホ・PC
スポンサーリンク

 「Stable Diffusion web UI」で使用するモデルは、ファイルの拡張子が「.safetensors」となっているものが今では主流になっています。

 その一方で「.ckpt」という拡張子のファイルもまだ一部で使われています。これと同じように「VAE」ファイルもまたファイルの拡張子が「.safetensors」ではなく「.pt」となっているものがあります。

 このような古いファイル形式から新しい標準のファイル形式への変換はとても簡単にできるようです。このページでは、誰でも使いやすい GUI ツールを利用してファイル形式を変換する方法を画像付きで紹介しています。

バイリンガル設定の導入【Stable Diffusion web UI】
「Stable Diffusion web UI」のインターフェースを日本語と英語の「2ヶ国語同時表示(バイリンガル表示)」にする方法を紹介しています。
Stable Diffusion web UI の更新手順【Stable Diffusion web UI】
「Stable Diffusion web UI」をアップデートする手順について、誰でも分かるように簡単にまとめています。
スポンサーリンク

「.ckpt」形式のファイルを「.safetensors」形式のファイルに変換する

WindowsDefenderによる検知・誤検知の事例

 2023年3月20日頃、「VAE」ファイルの一部が Microsoft のウイルス対策ソフトである WindowsDefender によって脅威「Trojan:Win32/Casdet!rfn」等として検知されて、自動的に隔離・削除されるという問題が一部で起こっていました。実はその数日前にも WindowsDefender が、あるモデルに対して反応していました

 こちらのページにもリアルタイムで注意書きを記載していました。

Stable Diffusion web UI を利用してAIイラストを生成する
AIイラストを作成するために「Stable Diffusion」をパソコンにインストールしてローカル環境を構築してみました。導入直後に生成したサンプル画像もあります。

 これは結果的には誤検知であったようで数日後(24日頃)には、WindowsDefender を最新の定義ファイルに更新することによって検知されなくなりました。

 しかし、このような問題は今後も発生する恐れがあり、その度に一部の「モデル」や「VAE」が自動的に隔離・削除されてしまってはひじょうに面倒です。もちろん、「Stable Diffusion web UI」の全部または一部のフォルダを除外する手もありますがそれもどうかと思います。

 そこで、「任意のコード(悪意のあるコード)」が実行されない(されにくい)ように、または WindowsDefender に再び誤検知されないように(今回はこちらが目的)、「.ckpt」形式のファイルを「.safetensors」形式のファイルに変換して、安全性を高めておくと少しは安心できるかもしれません。

 ここではその具体的な手順について紹介しています。大した作業ではありませんが、ファイル形式の変換やアプリの利用は自己の責任に基づいて行ってください

拡張機能のインストール【Stable Diffusion web UI】
Stable Diffusion web UI を最近使い始めた方が確認しておくべき拡張機能リストとリストからのインストール方法について簡単にまとめています。

(3月25日現在は無関係かも)WindowsDefender が反応する場合

WindowsDefenderの一時停止

 この項目が関係なければ飛ばして次の項目へ移動してください。この文章は同じような出来事が今後もあったときのためにまとめています。

 ファイル形式を変換することを前提として、「.ckpt」形式や「.pt」形式のファイルを再びダウンロードするときに、ファイル自体に問題がない、または誤検知であることが濃厚にも関わらず、ファイルが自動的に隔離・削除されてしまうという場合は、自己の責任に基づいて WindowsDefender をオフにします。

リアルタイム保護をオフ

 Windows 10 における手順は、タスクバー右下に表示されている WindowsDefender のアイコンをクリックして、「ウイルスと脅威の防止」→「設定の管理」→「リアルタイム保護」のチェックを「オン」から「オフ」に切り替えます。

 または「スタート」ボタン→「設定」→「交信とセキュリティ」→「Windows セキュリティ」→「ウイルスと脅威の防止」→「設定の管理」→「リアルタイム保護」のチェックを「オン」から「オフ」に切り替えます。どちらもまったく同じことです。

 すべての作業が終わった段階で「リアルタイム保護」を再度「オン」にしてください。

変換したいファイルを確認する

VAEファイルの確認

 今回は「モデル」ファイルを「.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のコンバーターを利用してファイル形式を変換する

Ckpt25safetensors-Conversion Tool

 ファイル形式を変換するためのアプリが公開されています。ここでは「Safe and Stable Ckpt2Safetensors Conversion Tool GUI」というアプリを使わせてもらいます。

 このアプリは自分のパソコンにダウンロードして使います。GUI(Graphical User Interface)のアプリは誰でも簡単に操作できて使い勝手も抜群に良いです。こういうアプリが使えることに感謝です。

 「GitHub」の以下のページにアクセスしてください。

 そして、ページを中程までスクロールして下がっていくと、Windows アプリのダウンロードリンクがあります。

ファイルのダウンロード

 下の「Zip」ファイルをダウンロードして、適当な場所で展開してください。このアプリはインストールを必要としませんので、デスクトップでもドキュメントでも適当なところに配置してください。

アプリの起動

 フォルダを開くと下の方に「run_app_gui.exe」という実行ファイルがあります。そちらをダブルクリックして開きます。すると以下の画面が表示されます。

アプリのメイン画面

 画面は至ってシンプルです。

 この画面でファイルの入っているフォルダ」を指定します。画面右上の「Browse」をクリックするとフォルダを選択するための窓が出てきます。 最初は「C:\」が表示されているため、Cドライブ直下のファイルが左側に青文字で表示されています。

フォルダの指定

 「VAE」ファイルを変換するためには、先ほどの「VAE」フォルダを選択します。ファイルではなくフォルダを選択します。

 そうすると、指定したフォルダの中にある「VAE」ファイルの一覧が左側に表示されます。

 「モデル」ファイルを変換する場合は、当然に「モデル」が格納されている「Stable-diffusion」フォルダを選択します。
 ただし、こういうツールで変換する場合には「.ckpt」のデータが読み込まれますので、出所の分からない怪しいファイルは変換すること自体が危険かもしれません。このツールの説明欄にも安全なモデルで使用するようにといった案内があります。
 ファイルの変換は自己の責任に基づいて行ってください。

ファイルの指定

 その中から変換したいファイルを選んで変換します。

 ここでは「anything-v4.0.vae.ckpt」を選択します。すると選択中のファイルが青色で表示されます。

 選択したファイルに間違いがなければ、その上にある「CONVERT FILE(ファイルを変換する)」をクリックしてください。すぐに変換が始まります。ファイルサイズの小さいものは変換が即完了します。

 しかし、「モデル」のようにファイルサイズが数GBあるようなものは変換が完了するまでに少し時間を要します。

 元のファイルは同じフォルダに残ったままです。しばらくどこかに保存しておいて、変換後のファイルに不具合がないことを確認してから(もう不要であれば)削除してください。

 ファイル形式を変換した「anything-v4.0.vae.safetensors」は今まで通りに使えているようです。「VAE」が上手く適用されていないときのような灰色っぽい表現になることも今のところありません。生成された画像は前と同じように綺麗に表現されています。

 なお、複数のファイルをまとめて(フォルダごと)変換する場合は、フォルダを選択した後に「CONVERT DIRECTORY(フォルダを変換する)」をクリックするようです。こちらは使っていないので何ともいえません。

 アプリを終了する場合は右上の「×」ボタンをクリックしてください。

「ControlNet」の導入とその使い方【Stable Diffusion web UI】
ControlNet の導入方法と使い方を初心者向けに紹介しています。ControlNet を導入することでAI画像の構図や人物のポーズを自由に設定できます。

ファイルの変換はとても簡単

 このように「Safe and Stable Ckpt2Safetensors Conversion Tool GUI」を利用することで、「.ckpt」形式のファイルを「.safetensors」形式のファイルに手軽に変換することができます。

 逆に「.safetensors」形式から「.ckpt」形式のファイルに変換することもできるようです。「CONVERT FILE」の右側にある「ckpt2safetensors」をクリックするとプルダウンメニューが開きますので、下の「safetensors2ckpt」を選択して「CONVERT FILE」をクリックします。

 このアプリはGUI環境で誰でも簡単に操作することができる点が何よりも優れています。困っている方は利用を検討してみてください。

 このほかにも拡張機能をインストールすることでファイル形式を変換するという方法もあるようです。「Stable Diffusion web UI」内で完結したいという方はそちらを調べてみてください。

 なお、ウイルス対策ソフトが不要(=WindowsDefender で十分)といわれてから随分経ちますが、別に入れるのであれば「ESET」がおすすめです。他のパソコンで昔から愛用していますが動作がとても軽くて信頼性も高いです。

AI画像の生成はグラフィックボードの交換で超快適になる!
グラフィックボードを「GTX 1660 Super」から「RTX 3060」に換装しました。その結果、AI画像生成の処理において画像生成にかかる時間が大幅に短縮されました。
AIイラストの画像生成におすすめのグラフィックボード
「Stable Diffusion」のようなAI画像生成に最適なグラフィックボードを選ぶ際の注意点を簡潔にまとめています。
画像の品質を規定するプロンプト【Stable Diffusion web UI】
多くの画像に使われている品質向上系のプロンプトをまとめて掲載しています。画像の品質を規定するプロンプトは思いどおりの画像を生成するために欠かせません。
ネガティブプロンプトの重要性【Stable Diffusion web UI】
ネガティブプロンプトに関する表現をまとめて掲載しています。ネガティブプロンプトは意図しない表現を抑止するために必要不可欠な要素といえます。

画像はSafe and Stable Ckpt2Safetensors Conversion Tool GUIより引用