オリジナルキャラクターLoRAの作り方【準備編】[Kohya SS GUI]のインストールと基本操作
![オリジナルキャラクターLoRAの作り方【準備編】[Kohya SS GUI]のインストールと基本操作のメイン画像](/_next/image?url=https%3A%2F%2Fdca.data-hub-center.com%2Fcontent%2Fuploads%2F2025%2F03%2Feye_catch_kohya-ss-gui-installation-basic-operations-ja.jpg&w=3840&q=80)
AIイラスト生成に慣れてきたらオリジナルのキャラクターや衣装を生成して、自分のオリジナルLoRAを作りたくなりませんか?今回から複数回に渡りオリジナルキャラクターLoRAの制作方法を解説します。LoRAを自作するには機械学習を理解していたほうが習得が早くなります。詳しい機械学習については解説しませんが、LoRAの学習を通して浅い部分だけでも理解していきましょう。






![Sweet & Natural手描きでかわいいイラストとフォントの素材集[第2版] 水彩・色鉛筆・パステル・クレヨン・線画の商品画像](https://m.media-amazon.com/images/I/51rq8MFu2kL._SL160_.jpg)



LoRAとは
LoRAを自作するにあたって簡単にですがLoRAについて解説します。
LoRA(Low-Rank Adaptation)はStable DiffusionやFlux.1等の画像生成AIやLlamaやGPTシリーズの大規模言語モデル(LLM)を効率的に微調整する為の技術です。ベースモデルを保持しつつ、追加された小さなレイヤーを訓練することにより元のモデルを壊さずに必要部分だけを学習できます。これによりベースモデルと比べると非常に小さなデータとリソースでモデル特有のスタイルや特徴を学習させることができます。
また、少ないリソースで学習できるので、設定次第では8GBのVRAMマシンでも学習させることができます。
詳しく知りたい方は下記のリンクを参照してください。(英語)
Kohya SSについて
まずは【準備編】として学習スクリプトの「kohya-ss/sd-scripts」から紹介します。
kohya-ss氏が開発しているkohya-ss/sd-scriptsは学習スクリプトの1つでLoRA、LyCORIS、DreamBoothを使って学習することができるCLIベースの学習スクリプトです。
このスクリプトはCLI(コマンドラインインターフェース)で操作が必要なため、慣れていない方にとっては敷居が高いと思われがちですが、慣れてしまえばそれ程難しいものではありません。
学習スクリプトはsd-scripts以外にもHuggingfaceの🔗diffusersやinvoke-aiの🔗InvokeAIなどがあります。
そして今回インストールするのが、kohya-ss/sd-scriptsをGUI(グラフィックユーザーインターフェース)で操作できる「Kohya’s GUI」になります。
Kohya SS GUIのインストール
これまでに、「A1111 WebUI」や「ComfyUI」をインストールしてきた方には、ほとんど同じなので簡単にインストールできます。順を追って確実にインストールしましょう。
Kohya SS GUIのインストール前に必要な環境
Kohya SS GUIを動作させるには下記の環境があらかじめ必要になります。
- 🔗Python 3.10.11 ※インストール時に
Add Python 3.10 to PATH
にチェックを入れましょう。 - 🔗CUDA 11.8 toolkit
- 🔗Git
- 🔗Visual Studio 2015, 2017, 2019, and 2022 redistributable
A1111 WebUIではPython 3.10.6を推奨していますが、今回紹介したPython 3.10.11でもマイクロバージョン違いの為、問題なく動作します。
Kohya SS GUI本体のインストール
いつも通りですが、GitHubリポジトリからクローンを作っていきます。
クローンの準備
コマンドプロンプトを開き、以下のコマンドを使用してホームフォルダー(例:C:\Users\あなたのユーザー名)に移動します。お好みの場所に設定しても構いません。
cd %userprofile%
リポジトリのクローン
次に、以下のコマンドを実行してbmaltais/kohya_ssのリポジトリをクローンします。
git clone --recursive https://github.com/bmaltais/kohya_ss.git

kohya_ssディレクトリに移動
クローンが完了したら、以下のコマンドを実行してリポジトリのディレクトリに移動します。
cd kohya_ss
セットアップの実行
ディレクトリに移動したら、以下のコマンドを実行してセットアップを開始します。(要Python3.10.11)
.\setup.bat
Python3.10以外にも別バージョンのPythonがインストールされている場合は、以下のコマンドでバージョンを指定してセットアップを開始します。
.\setup-3.10.bat
Kohya ss GUIのインストール
Kohya ss setup menuが表示されればSelect an optionに1
と入力してKohya ss GUIをインストールします。インストールには数分かかります。

(オプション)CUDNN 8.9.6.50のインストール
GPUがNVIDIA 30X0/40X0系をお使いの方はSelect an optionに2
と入力してCUDNN 8.9.6.50をインストールしましょう。パフォーマンスが少し上がります。
セットアップの終了
Select an optionに7
と入力してセットアップを終了します。終了したらコマンドプロンプトを閉じても問題ありません。以上でKohya SS GUIのインストールが完了しました。
Kohya SS GUIの起動方法
Kohya SS GUIの起動にはエクスプローラーでKohya SS GUIをインストールしたフォルダーを開きます。
フォルダー内にあるgui.bat
を実行します。

しばらくすると下記の画像の様にRunning on local URL: http://127.0.0.1:7860
と表示されるのでキーボードのCtrl
を押しながらクリックするとKohya SS GUIがブラウザで起動します。


Kohya SS GUIの終了方法
Kohya SS GUIを終了する為にはブラウザを閉じるだけでは終了しません。実行中のコマンドプロンプトを開きCtrl + c
と入力してサーバーを終了します。
サーバーを終了したらコマンドプロンプトが仮想環境(venv)にいます。直接コマンドプロンプトを閉じても大丈夫ですが、丁寧に閉じたいならdeactivate
とコマンドを入力して仮想環境を抜けてから、コマンドプロンプトを閉じましょう。
Kohya SS GUIのアップデート方法
Kohya SS GUIをアップデートするにはリポジトリをpullコマンドするだけです。
Kohya SS GUIディレクトリを開く
コマンドプロンプトを開き、以下のコマンドをKohya SS GUIディレクトリを開きます。※お好みの場所にインストールした場合は下記のコマンドは使えません。
cd %userprofile%\kohya_ss
Kohya SS GUIリポジトリをPullする
ディレクトリに移動したら下記のコマンドでpullコマンドを実行しましょう。
git pull
Kohya SS GUIの再セットアップ
pullコマンドが完了したら下記のコマンドで再セットアップします。
.\setup.bat
Kohya SS GUIの再インストール
セットアップメニューが表示されたらSelect an optionに1
と入力してKohya ss GUIを再インストールします。
(オプション)CUDNN 8.9.6.50の再インストール
再インストールが完了したらCUDNNが古いバージョン戻されるので、Select an optionに2
と入力してCUDNN 8.9.6.50をインストールしましょう。
以上でKohya SS GUIのアップデートが完了します。
Kohya SS GUIの任意のバージョンをインストールする方法
Kohya SS GUIの任意のバージョンをインストールするには希望するバージョンのハッシュコードを使ってチェックアウトコマンドを実行します。
リポジトリのリリースページを開く
bmaltais/kohya_ssのリリースページに行きます。
戻したいバージョンを探す
一覧より希望するバージョンを見つけ右にあるハッシュコード(赤枠)をクリックします。

ブラウザで開いたページのアドレスにあるgithub.com/bmaltais/kohya_ss/commit/後のハッシュコードをコピーします。

Kohya SS GUIディレクトリを開く
コマンドプロンプトを開き、以下のコマンドをKohya SS GUIディレクトリを開きます。※お好みの場所インストールした場合は下記のコマンドは使えません。
cd %userprofile%\kohya_ss
チェックアウトコマンドの実行
ディレクトリに移動したら先ほどコピーしたハッシュコードを使ってチェックアウトコマンドを実行します。
git checkout df0c81db560ac139cd7ebd0bf471ef58f72a962f
Kohya SS GUIの再セットアップ
チェックアウトコマンドが完了したら下記のコマンドで再セットアップします。
.\setup.bat
Kohya SS GUIの再インストール
セットアップメニューが表示されたらSelect an optionに1
と入力してKohya ss GUIを再インストールします。
(オプション)CUDNN 8.9.6.50の再インストール
再インストールが完了したらCUDNNが古いバージョン戻されるので、Select an optionに2
と入力してCUDNN 8.9.6.50をインストールしましょう。
最新版に戻す場合
最新版に戻したい時は以下のコマンドでマスターブランチに戻します。
git checkout master
.\setup.bat
を実行してアップデート時と同様にKohya SS GUIを再インストールします。
.\setup.bat
以上でKohya SS GUIが任意のバージョンへの変更が完了します。
Kohya SS GUIのバックアップとアンインストール方法
Kohya SS GUIのバックアップは以下のフォルダーをバックアップしておきましょう。
- models:学習ベースモデルが入っています。残しておきたい場合はこのフォルダーをバックアップをしましょう。
- presets:プリセットファイルが入っています。ユーザープリセットのみ残したい場合はfinetuneとloraフォルダーに入っている
user_presets
をバックアップしましょう。
アンインストール方法はクローンしたフォルダーkohya_ss
を削除するだけです。
Kohya SS GUIの使用方法
今回はLoRA学習のみの解説となります。DreamboothやTextual Inversionも基本は同じです。
インターフェイスの説明

- モード切替タブ:Dreambooth、LoRAやTextual Inversion等のモードを切り替えます。
- ページ切替タブ:ツールなどのページを切り替えます。
- コンフィグ・パラメーターエリア:コンフィグや学習パラメーターを入力します。
- トレーニング開始ボタン:トレーニングを開始する時に使います。
- 設定ファイル書き出しボタン:設定ファイル(.toml)をmodelフォルダーに書き出します。sd-scriptsで設定ファイルとして使用できます。
- TensorBord開始ボタン:学習ログの確認ができます。確認にはlogフォルダーを指定する必要があります。
LoRA学習の基本操作
具体例として軽量なSD1.5で学習してみましょう。SDXLと比べるとSD1.5の品質に満足出来ないかもしれませんが、短時間で学習できるSD1.5で色々な設定を試して覚えましょう。
データセットのダウンロード
学習するには学習画像と画像のキャプションが入ったデータセットが必要になります。今回は🔗ずんずんPJイラスト/3Dデータの「AI画像モデル用学習データ」をダウンロードして学習してみましょう。リンク先のページ下部にある「画像学習用のデータをダウンロード」からグーグル ドライブに行くことができます。
データセットは「02_LoRA学習用データ_B氏提供版_背景透過 > zunko」を使用しますが、キャプションにインスタンス(znk)が入っていなかったので今回の学習用に修正したデータセットとサンプルのLoRAをDCAIのドライブに置いておきます。
学習フォルダーの作成
任意の場所に「zunko-sd15」の様にあとで分かりやすい名前で作成してください。
作成したら先ほどダウンロードした東北ずん子のZipファイルを解凍してデータセット元フォルダーとして「zunko-sd15」フォルダーに入れます。
続いて、フォルダー内にlog
とmodel
と言う名前で空のフォルダーを作ります。

データセットフォルダーの作成
Kohya SS GUIを起動してモードをLoRAに切り替えます。(※この切り替えを忘れて、「Dreambooth」タグで作業してしまう事があるのでご注意を)
切り替えたらコンフィグ・パラメーターエリアの「Dataset Preparation」に下記の様に入力します。

- Instance prompt:インスタンスを入力します。インスタンスは他に使われていない固有な名称を入力します。今回は
znk
にしました。 - Class prompt:クラスを入力します。クラスは一般的な名称を入力します。今回はキャラクターなので
1girl
にしました。 - Training images (directory containing…):データセット元フォルダーを指定します。📂ボタンを押して学習フォルダー「zunko-sd15」の中にある
zunko
を選択します。 - Repeats:学習画像を何回繰り返すかを入力します。今回は
10
としました。 - Destination training directory (where formatted…):学習フォルダーを指定します。📂ボタンを押して学習フォルダー
zunko-sd15
を選択します。
入力が終われば「Prepare training data」ボタンでデータセットを作成します。「zunko-sd15」フォルダーにimgと言うデータセットフォルダーが作成されその中にデータセットのコピー「10_znk 1girl」が作成されます。
続いて「Copy info to respective fields」ボタンでコンフィグ・パラメーターエリアの「Folders」や「Model」にパラメーターを反映させましょう。
学習ベースモデルの選択およびLoRAモデル名の入力
続いて、順番は前後しますが「Model」に学習ベースモデルやLoRAの名前などを入力します。インストールには学習ベースモデルが含まれていないので下記のリンクよりモデルをダウンロードして\kohya_ss\models\
に配置します。
学習ベースモデルの準備ができたら、下記の様に入力しましょう。

- Pretrained model name or path:学習ベースモデルを選択します。📄ボタンを押して、先ほどダウンロードしたモデルを選びましょう。
- Trained Model output name:LoRAのファイル名を指定します。ファイル名は自由に指定しても大丈夫ですが、
DCAI_Zunko_V1
とします。
Image folder (containing…)は前のステップで「Copy info to respective fields」ボタンを押した時に自動的に入力されています。
パラメーター(Basic)の入力
モデル情報の設定が終わればパラメーターの入力に移りましょう。「Parameters」の「Basic」を下記の様に入力します。

入力項目がたくさんあって最初は戸惑うかもしれませんが、今回は、はじめての方にも解りやすいようにできるだけデフォルトを維持しながらLoRA学習に重要な部分のみ設定します。
- Epoch:エポックはデータセット1周分(学習画像数 x 繰り返し数)にBatch数(Train batch size)で割った数を繰り返す値になります。今回の1エポックは{(学習画像数51枚 x 繰り返し数10回)/ Batch数1回}となり510ステップにります。総ステップ数を2500辺りにしたいので
5
と指定すれば(510 x 5)で総ステップ数が2550になります。また、学習画像の繰り返し数よりエポック数が小さい方が安定します。(❌繰り返し=5・エポック=10に指定)今回のLoRAのloss/average比較 シアン:繰り返し=10・エポック=5 オレンジ:繰り返し=5・エポック=10 - Max train steps:学習ステップの上限を指定します。今回はエポックで総ステップ数を算出しているので
0
にします。 - Save every N epochs:指定したエポック数ごとにLoRAを保存します。これにより学習の最適なステップ数を見ることができます。今回は必要ないので
0
にして途中経過は保存しません。途中経過を見てみたい方は1のままにしておきましょう。 - Seed:学習のシード値の入力。0だとランダムになります。ランダムだと同じ設定でも毎回微妙に違う結果になるので設定を色々試したい場合はランダム以外にしましょう。サンプルLoRAと同じにしたい時は
123
にしましょう。 - LR Scheduler:LR(学習率)のスケジューラーを指定します。今回はデフォルトの
cosine
を使います。cosineはLRがなだらかに収束していくので安定した学習をします。cosine LRスケジューラー図 LR warmupを指定しているので始まりはゆっくりと上昇しています。 - Optimizer:オプティマイザーを指定します。今回は
AdamW
を使います。VRAMが少ない方はデフォルトのAdamW8bit
を使いましょう。

- Learning rate:基本学習率を指定します。Text Encoder learning rateとUnet learning rateが指定されている場合はそちらが優先されます。しかし、Unet learning rateが使用されても微妙に(同じ設定で0.0001と0.0003で学習した結果)影響は出てくるのでUnet LRと同じ
0.0003
または、E表記の3e-4
にします。 - LR warmup (% of total steps):学習ステップの初期段階でLRをゆっくり指定値まで上げます。今回はデフォルトより少し早く上げたいので
5
にします。 - Text Encoder learning rate:テキストエンコーダー(TE)のLRを指定します。この値は学習の品質に関わる非常に重要な値で、AIが生成時にプロンプトをどの様に解釈するかを制御します。一般的にはUnet learning rateの1/2か1/10が良いとされています。今回は少し低めの
0.00003
または3e-5
にしましょう。 - Unet learning rate:UnetのLRを指定します。この値も学習の品質に関わる非常に重要な値で、学習画像の要素の関係性や構造における位置づけを学習します。今回は
0.0003
または、3e-4
にします。 - Network Rank (Dimension):UnetとTEの情報量を指定します。一般的には大きければ良いとされていますが、大きすぎると余計な情報まで学習されてしまうのでAIイラスト場合は8/16/32/64辺りを使いましょう。
- Network Alpha:学習不足にならないようにブレーキの様な役割をします。一般的にはNetwork Rank (Dimension)と同じか半分の値が使われます。Rankより高い数値は使わないようにしましょう。今回はRankの半分の
16
にします。この値が低いと学習不足になりやすくなりますが、高すぎるとAIイラスト生成時にポーズなどが学習したポーズや表情が固定されたりします。 - Scale weight norms:この値は学習したLoRAを他のLoRAと併用時に影響が大きくなり過ぎないようにウェイトを平均化します。今回はおススメ値の
1
にします。影響が強い場合はこの値を上げます。
パラメーター(Advanced)の入力
パラメーター(Basic)の入力が終わればパラメーター(Advanced)の入力に移りましょう。「Parameters」の「Advanced」を下記の様に入力します。

- Additional parameters:Kohya ss GUIで設定出来ないパラメーターを追加する事ができます。今回の学習画像がPNGの透過データなのでmasked lossを使って透過部分を学習しないようにできます。Kohya ss GUIでは画像に埋め込まれた透過データ直接を利用するGUIがない(マスクデータを参照する方法はあります)のでココで
--alpha_mask
と記入して有効化させます。 - Clip skip:Clip skip値を指定します。今回はイラスト系なので
2
に指定します。 - Max Token Length:キャプションデータの最大トークン数を指定します。今回のデータはデフォルトの75以上あるので
150
にします。 - CrossAttention:クロスアテンションを指定します。デフォルトの
xformers
でも問題ありませんがお使いのGPUがNVIDIA 30X0/40X0系の場合はsdpa
の方がパフォーマンスが高くなります。

- Min SNR gamma:アベレージロス(学習元画像との差の平均)をスムーズにして学習を安定させます。今回は論文のおススメ値の
5
にします。
学習結果

学習したLoRAを使ってAIイラストを生成してみました。生成モデルは「anyorangemixAnything_mint」を使っています。プロンプト・パラメーターは下記の様になっています。
ポジティブプロンプトznk, 1girl, solo, smile, open mouth, yellow_eyes, long_hair, ahoge, hairband, green_hairband, furisode, mini_kimono, sash, obi, tasuki,(muneate:1.1), zettai_ryouiki,
masterpiece, best quality, upper body, standing, sky, mountains, arms behind back<lora:DCAI_Zunko_V1:0.95>
EasyNegativeV2,( low quality, worst quality, normal quality:1.1), bad anatomy
Steps:20
Schedule type:Automatic
CFG scale:9.1
Seed:415943952
Size:768×512
Model:anyorangemixAnything_mint
Clip skip:2
ADetailer:true
Hires upscaler:4x-UltraSharp
Hires steps:10
Hires upscale:2
Denoising strength:0.25
LoRAメタデータビューアーの紹介

完成したLoRAや他の人が公開しているLoRAのメタデータを閲覧するツール「🔗LoRAインスペクター 🧐」を公開しました。
ネット上にはLoRAのメタデータを閲覧できるツールはいくつかありますが、情報が分かりづらかったのでツールを作りました。良ければLoRA学習のお供にご使用ください。
まとめ
いかがでしょうか。今回はKohya ss GUIのインストールと基本操作について解説しました。【準備編】なので基本操作の解説はとりあえずLoRAを作ってみる程度の解説でしたが、別の記事にてパラメーターについて詳しく解説したいと思います。また、著作権のある画像を学習する場合は作家の権利を守るために趣味や研究の範囲までに留めておきましょう。


MSI GeForce RTX 3050 LP 6G OC PCIe4.0 ロープロファイルサイズ 補助電源不要 デュアルファン搭載 グラフィックスボード VD8790
ASIN:B0CTJZCJH1


玄人志向 NVIDIA GeForce RTX3060 搭載 グラフィックボード GDDR6 12GB GALAKURO GAMINGシリーズ 【国内正規代理店品】 GG-RTX3060-E12GB/OC/DF
ASIN:B08XMC4QJ1

玄人志向 NVIDIA RTX4060 搭載 グラフィックボード GDDR6 8GB【国内正規代理店品】 GK-RTX4060-E8GB/WHITE/DF2
ASIN:B0DPPC7NHX

GIGABYTE NVIDIA GeForce RTX4060搭載 グラフィックボード GDDR6 8GB【国内正規代理店品】 GV-N4060OC-8GL
ASIN:B0CG69PH11

ASUS GeForce RTX 3050 LP BRK OC Edition 6GB GDDR6 ビデオカード / RTX3050-O6G-LP-BRK 国内正規流通品
ASIN:B0CXPBVJD3

ASUS Dual GeForce RTX 3050 OC Edition 6GB GDDR6 ビデオカード/DUAL-RTX3050-O6G 国内正規流通品
ASIN:B0CVQMD2DF


玄人志向 NVIDIA GeForce RTX2060 搭載 グラフィックボード GDDR6 12GB GALAKURO GAMINGモデル GG-RTX2060-E12GB/DF ブラック
ASIN:B09Q66CLY2