HyperNetwork学習結果

Last-modified: 2023-01-10 (火) 20:02:10

Hypernetworkの学習結果や設定・学習メモなどを投稿できます。

無題

(2022-10-28 (金) 00:52:39)

HNレポート
キャラ121枚+一部顔アップ処理91枚の系192枚
絵師は作風コピーを避けるために80名近くから広く採取した
iPhoneで切り抜きした上でペイントで展開して上書き保存して背景を白に
その後512×512に処理してDeepDanbooruで命名
その際にキャラ名、髪色、髪型、目の色、どくろの髪飾りタグを削除して学習タブへ
モジュールはすべてチェックして1,2,1 swish
ノーマライズはなし
NAIベースだがNAIのHNはNone
0.000005で3万ステップで学習を行いました
生成物はHN強度1,2,3で比較し、3はかなり早いステップから絵として崩壊したが、1は3万ステップでもっとも再現率が高く
2は17000が最高値で、その後は衣装がモザイクっぽく崩れてしまった
スクリーンショット 2022-10-27 234735.png


としあき

(2022-10-26 (水) 19:55:36)

条件
・データセット:同一作者同一キャラで殆ど前を向いた絵85枚
・ネットワーク構造:2Layer(1,1)、ReLuのみで正規化等はなし

学習
・LR5e-5で始める。Lossが上がっていて絵が崩れ始めたので2000Stepで止める。
・続いてLR5e-6で学習。Lossがきれいに下がっていたので67000Stepまで行った。

結果
・真正面はほぼ完璧。学習データに無かった精子の表現もよかった。
・一方少しでもポーズを取らせると途端に崩れる。一面ケツになって顔が映らなかったりなど。
・汎用性が足りないと思われるので次は3LayerDropOut正規化ありでやってみる

【追記】
条件
・3Layer(1,2,1)、Relu、正規化、DropOut
・データセットは同じ

学習
・5e-4で2500Step、2e-4で5000Step、1e-5で50000Step
・Lossのみ監視。Loss上がり始めたら最低値のptを取り出して学習率下げて学習再開の繰り返し。

結果
・2layerと3layerを比較したところ、姿勢を変えた場合3layer(DPLN)の方が破綻が少ない。
・3layerはまだ学習の余地があるので時間があれば進めたいが、swishも試してみたいので先にswishやる。


自分の結果

(2022-10-24 (月) 18:36:40)

画像36枚 タグ付けはDeepbooru使用
layer structure = 1,2, 1 function = relulayer  normalize = OFF use dropout = OFF
learinig rate = 0.00005 でhypernetwork.txtを使用する 確認用の画像では6500stepで発散
5500stepのものを利用しlearinig rate = 0.000005でさらに学習を行う 26000stepで発散
22500stepからさらにlearinig rate = 0.0000005で学習を行った
結果として28000の時点で汎用性が失われていた?普通に使うと砂嵐になった
HNの出来の確認をxy-plot2回くらいで行っていたためかもしれない
結局learinig rate = 0.00005の4000stepが使いやすかった
出来の確認が難しいことが改めてわかった
難しすぎ


スレより転載20221023

(2022-10-23 (日) 23:21:20)

(1/4)
作風のHN学習 前スレのとしのやり方を参考に自分もうまくいったんで参考に

学習用画像の選択
・体の描き方も再現したかったんで画像は裸のもので統一
・目や髪の色は特に揃えずバラバラ
・ポーズや構図も統一はしてないけど学習したい部分(顔とか乳とか)が映っているものを選ぶ
・画像は反転なしで15枚用意

学習用画像の下準備
・背景は全て白一色に修正
・寝ている絵は回転させて頭が上に来るように、立ち絵っぽく揃える
・画像ファイル名.txtを用意して中に学習させたい要素のタグを記述
今回は作風なんでloli,nude,nipples,cameltoe,navelと体のパーツを指定
タグの順序はランダムの方がいいようなので適当にシャッフル


  • (2/4)Train→Processing imageタブ必要ならここで512x512にリサイズExisting Caption txt Actionをcopyにしておくと下準備で作ったtxtを画像の出力先に一緒にコピーしてくれるTrain→Create hypernetworkタブlayer structure = 1, 1function = relulayer normalize = OFFuse dropout = OFFでCreateimg2txtタブ学習経過出力用のプロンプトを設定しておくRestore Face、Highres fixなどは念のためOFFにして学習させたい部分が良く見えるようなものを探して決まったらseedを固定 -- 2022-10-23 (日) 23:21:34
  • (3/4)Train→Trainタブlearinig rate = 0.00005prompt template fileは中に[filewords]とだけ書いたtxtを作成してそれを指定max step = 30000Read parameters...from txt2img tab = ONこれでスタートすると2000stepあたりからもう学習画像の作風が出てくる出力画像を見ながら絵が崩れた(目の形が変わってきた、乳が変形した)と感じたら1つか2つ前の絵を確認してもっと似ているものが見つかったら学習をストップ、似ているもののptファイルをmodels\hypernetworksフォルダに入れてTrain→Trainタブの青ボタンでリロードして追加されたptファイルを選択learinig rate = 0.000005と0を一つ追加してまたトレーニング開始あとはまた出力画像をチェックして崩れが見えたら手前のptを探してそれを指定してlearinig rate = 0.0000005でトレーニング自分の場合は20000stepで終了(この先はまた微妙に崩れてきた) -- 2022-10-23 (日) 23:21:42
  • (4/4)最終的にxx-4000-8000-20000.ptってファイルになった全部裸で学習してるけどもちろん服も着せられるし背景も指定できる今回やったことを全部入れたんで学習画像の下処理なんかは不要な工程も入ってると思うけど同じ学習 -- 2022-10-23 (日) 23:21:50
  • あれ? 学習素材と同じ名前の .txtって 学ばせたくない要素 を書き込むんじゃなかったっけ? TIとかだとそんな感じだったよな? -- 2023-01-10 (火) 20:02:10