【Novel AI】HyperNetworkをcolabの無料枠で行う方法【waifu diffusion】

タイトルではHyper Networkと言っていますが、AUTOMATIC 1111版web-uiを使用する機能であればtextual inversionでもDreamBoothでも、全てcolabで動かすことができます。

今回は、イラストAIに画風を学習させる技術、Hyper NetworkGoogle Colabsの無料枠で動かす方法を紹介します。

colab ノートブック

今回使うノートブックはこちらで用意しました。

hypernetwork_onlinegamernikki

なにか自分に合わせて編集したいという場合はご自分のGoogleドライブに保存してください。

このノートブックはAUTOMATIC1111版のweb-uiをcolabで動かすものです。基本的に上から順に実行していけばOKですが、次の項から順番に説明していきます。

web-uiの起動まで

0.~3.までは実行ボタンを押すだけでOKです。0.割り当てGPUの確認はしなくても良いです。

4.のweb uiの起動では少し書き換える部分があります。

セルの説明にも書いてありますが、使用するモデルデータが入っているGoogleドライブのフォルダパスを指定してください。 ここの注意点ですが、指定するパスは.ckptファイルではなく、.ckptファイルの入っているフォルダです。間違えないように注意しましょう。

4.のセルを実行し、少し待つとURLが2つ出てきます。

下の方の「Running on public URL:」に書かれたURLをクリックします。

これでweb-uiが起動します。

スポンサーリンク

Hyper Networkのやり方と参考サイト

Hypernetwork の使い方

[Diffusion Model] Hypernetworksのレイヤー構造を変えた際の変化を比較する
レイヤーごとの比較

 1, 1.5 1.5 1/ mish/xaviernormal/레이어x/드롭o/8e-06
実際のイラストレーターのイラストを学習させた際のレイヤーや関数設定の参考

momoko 하이퍼 공유
上記と同じ。

基本的には上記のページを参考に行えばOKです。

(必読)colabで学習する場合注意する点

これは絶対に読んでください。でなければ学習内容が全て消えてしまいます。

上記の項で説明しているやり方は、ローカルのやり方がメインになるので、この項で説明しているように設定の変更をしなければ時間をかけて行った学習が消えてしまいます。復元も出来ません。

それでは説明していきます。

web-uiのタブを「txt2img」から「Train」に切り替えて、その中から「Train」を開きます。

赤枠で囲んだ部分、上の方の「Dataset directory」は学習用の画像が入っているところなので、ここは学習用データの入っているドライブのファイルパスを指定すれば良いのですが、問題はその下の「Log directory」という学習済みのデータを保存するフォルダです。ここの設定を間違えてしまうと最悪学習したデータが消えます

デフォルトの設定ではcolab上のフォルダに保存されるのですが、このフォルダはcolabを終了させると消去されてしまいます。また、colabは一定時間使わないでいたり一定時間経過すると、自動的で終了しフォルダも削除されてしまいます。

なので保存フォルダを以下のようにGoogleドライブに変更する必要があります。

今回は.ckptファイルを保存しているフォルダに、新しく「learning」というフォルダを作成し、そこに保存することにしました。

ちなみに、パスのコピーは、colab画面に戻り以下の手順で行えます。

赤枠で囲んだ三本線のマークをクリックフォルダアイコンをクリック該当フォルダを右クリックし「パスをコピー」をクリック

これでcolab用の設定は完了です。

次は途中から学習を再開する方法です。

スポンサーリンク

学習を途中から再開する

colabの無料枠では時間制限があるので、1回で必要なところまで学習することが出来ないかもしれません。そのような場合は複数回に分けて学習することになります。

途中から学習を再開させる方法は以下の通りです。

先ほど「Log directory」で指定したフォルダに「○○○-xxx.pt」のような学習済みのデータが保存されていると思います。
そのデータを「/content/stable-diffusion-webui/models/hypernetworks」にD&Dなどで移動させてください。この時に念の為コピーを取っておくことをおすすめします。

またhypernetworksフォルダはデフォルトの状態では作成されていないので、フォルダを手動で作成するか、空のHyperNetwork用ファイルを1つ作ってください

そうすることで、Trainタブで使用するHyperNetworkファイルに、移動させたファイルを選択できるようになっています。

長時間放置で学習させる為に

ご飯を食べてる間。風呂に入っている間。寝ている間。出かけている間など、長時間放置してる間に学習させる場合は、この項の設定をしてください。

一定時間操作を行わないと自動で終了されてしまいます。

まずは以下のコードをコピーしてください。

function ClickConnect(){
 console.log("60sごとに再接続");
 document.querySelector("colab-connect-button").click()
}
setInterval(ClickConnect,1000*60);

次に、colabの画面を開き「F12」でコンソールを開いてください。

開いたら、上記のように張り付けてEnterを押して完了です。これで放置しても途切れることなく学習を続けさせられます。

スポンサーリンク

オマケ : 生成したイラストの保存方法

最後にオマケとして、生成したイラストの保存方法を書いておきます。

HyperNetworkはもう関係ないので、興味ないよって人は見なくても大丈夫です。

一応今回用意したノートブックでは、普通にイラスト生成も出来ます。なので生成したイラストを保存する方法を2種類用意しています。

.ZIPにしてダウンロードするか、生成したイラストの保存場所である「output」フォルダをGoogleドライブに保存するかの2種類です。

.ZIPで保存する場合はcolabのフォルダに保存されるので、colabの終了と同時に削除されます。ダウンロードするのを忘れないでください。fileNameで指定した名前がZIPのフォルダ名になります。

ダウンロード方法は以下通りです。

追加された.ZIPを右クリックしてダウンロードで保存です。

もう1つのGoogleドライブに保存するやり方は、saveFolderPathに保存したいフォルダパスを指定して実行すれば保存されます。

追記 定額制で学習し放題のクラウドGPUサービス

月8ドルでHyperNetworkやDreamBoothが学習し放題のサービス”Paperspace“について記事を書きました。もっと本格的に学習したい方は是非目を通してください。
【Novel AI】stable diffusionの追加学習をpaperspaceで月額たった8ドルで行う方法【DreamBooth】

 

それでは!

コメント

  1. すみません。
    こちらvae.ptの指定がされていないように思うのですが、みのがしだったらすみません‥

  2. 申し訳ございません。
    先ほどお送りしたのは勘違いでした。
    同名にして配置することで解決しました。

  3. .safetensorsには非対応かと思いますが、対応していただければ嬉しいです(´∇`)

    • 今試してみたところ、特に設定などを変更しなくても、safetensors形式モデルの読み込みと生成、どちらも出来ました。

      • ありがとうございます