データセット & スケジュール
目標から逆算(任意)
狙いのstep数を入れると、到達に必要なエポック数を表示します。
総step数
- 目安
- —
- 1エポックのstep数
- —
- 実効バッチ
- —
- のべ画像提示回数
- —
- 目標到達に必要なエポック
- —
総step=画像枚数 × repeat × エポック ÷(batch × gradient accumulation)で、kohya_ss の数え方と一致します。目安バンド(1000〜4000)は経験則の概算で、最適値は素材・学習率・題材で変わります。
LoRA を学習するときに毎回つまずく「総step数=画像枚数 × repeat × エポック ÷ batch size」を一発で出す計算ツールです。kohya_ss(sd-scripts)や OneTrainer で学習を回す前に、フォルダ名の repeat 数・データセットの枚数・エポック数・train batch size を入れると、最大学習ステップ数(max train steps)と1エポックあたりのstep数をその場で表示します。gradient accumulation steps を使うと実効バッチが batch × grad accum になり総stepが変わりますが、本ツールはそれも織り込んで計算します。あわせて「のべ画像提示回数(枚数×repeat×エポック)」も出すので、各画像がモデルに何回見せられるかも把握できます。さらに、狙いの総step数を入れると、その step 数に到達するのに必要なエポック数を逆算するので、エポックの過多・不足のあたりを付けられます。総step数には「不足気味/標準域/過学習注意」のざっくりした目安バンドも表示しますが、これは経験則の概算であり、最適なstep数は素材の枚数・学習率・題材(キャラ/画風/概念)によって変わります。あくまで当たりを付けるための目安として使ってください。外部のAPIもデータも使わない純粋な計算なので、入力した数値が送信されることは一切なく、すべて端末内(ブラウザ)で完結します。
使い方
- 学習データの画像枚数と、1枚あたりの repeat 数(kohya のフォルダ名の数字)を入力します。
- エポック数と train batch size を入力します(gradient accumulation を使う場合はその値も)。
- 表示された総step数・1エポックのstep数を確認します。狙いの総step数を入れれば、到達に必要なエポック数も逆算できます。
よくある質問
総step数はどうやって計算していますか?
kohya_ss と同じ数え方で、総step数 = ceil(画像枚数 × repeat ÷(batch size × gradient accumulation))× エポック数 で計算します。1エポックは「画像枚数 × repeat」枚を実効バッチ単位で回すので、1エポックのstep数を出してからエポック数を掛けています。
入力した数値はサーバーに送信されますか?
いいえ。計算はすべてブラウザ内で行われ、外部のAPIやデータにもアクセスしません。入力した枚数・repeat・エポック・batch size はアップロード・保存・送信されず、あなたの端末内だけで処理されます。
repeat とは何ですか?どこの数字ですか?
kohya_ss ではデータセットのフォルダ名を「10_キャラ名」のように付け、先頭の数字(この例なら10)が1枚あたりの repeat 数になります。1エポックの中で各画像を何回見せるかを表し、枚数 × repeat が1エポックの実質的な画像数になります。
gradient accumulation を使うと総stepはどう変わりますか?
gradient accumulation steps を上げると、実効バッチが batch size × grad accum になります。例えば batch 2・grad accum 2 なら実効バッチは4で、1エポックのstep数(=枚数×repeat÷実効バッチ)が半分になり、総stepも減ります。本ツールはこれを織り込んで計算します。
LoRA の step 数はどれくらいが目安ですか?
題材や学習率で大きく変わるため一概には言えませんが、キャラ/画風 LoRA では総step 1000〜4000 あたりが一つの目安帯です。本ツールも総stepがこの帯より少なければ「不足気味」、多ければ「過学習注意」と表示しますが、これは経験則の概算です。最終的にはエポックごとに保存して出力を見比べ、最適な step を選ぶのが確実です。
目標のstep数から必要なエポック数を逆算できますか?
はい。「目標から逆算」に狙いの総step数を入力すると、現在の枚数・repeat・batch から計算した「1エポックのstep数」で割って、到達に必要なエポック数を表示します。エポックの過多・不足のあたりを付けるのに使えます。