【RunPod】で”Kohya_ss”を使用して”LoRA学習”をする方法【③応用編】

本記事では、クラウドGPUのRunPod内で、
”Kohya_ss”のテンプレートを使用して、”LoRA学習”をする方法を解説しています。
RunPodの基本的な使用方法については、こちらの記事で解説しています。
あわせて読みたい

【RunPodの使い方と料金】Stable Diffusionなどで画像生成やLoRA学習をする方法【②実践編】 Stable Diffusion系画像生成やLoRA学習をする方法 Stable DiffusionやLoRA学習では、長時間GPUをフル稼働させるため、発熱や電源の安定性が大きな課題になります。 そこ…
GPU指定のテンプレートを使用してLoRA学習をする場合
あわせて読みたい

RunPodテンプレート”Kohya_ss GUI RTX 5090”で”LoRA学習” … 本記事では、クラウドGPUのRunPod内で、 ”Kohya_ss GUI RTX 5090”というテンプレートを使用して、 JupiterLabのアップローダーを使用してファイルをアップロードする方…
LoRA(Low-Rank Adaptation)は、Stable Diffusionのような大規模モデルに対して、低コストで特定の情報(キャラ・作風など)を学習させる軽量なファインチューニング手法です。
元のモデルの重みはそのままに、一部の重みだけを小さな「差分パラメータ(LoRA層)」として学習・保存します。
Kohya_ssはLoRAを学習するためのツール(GUI付きスクリプト群)で、Stable Diffusionベースの画像生成モデルに対して、
- LoRA学習(Low-Rank Adaptation)
- DreamBooth学習
- Textual Inversion
- フルファインチューニング
などを行うための多機能なトレーニングツールです。
特に以下の点でLoRA学習に向いています
| 特徴 | 内容 |
|---|---|
| GUI対応 | Web UIで初心者でも操作しやすい(Gradioベース) |
| 柔軟な設定 | rank, alpha, learning rate, optimizerの選択など細かく設定可能 |
| 画像ラベリング機能 | キャプションの自動生成ツール(BLIP)などが統合されている |
| 複数形式の保存 | .safetensorsやDiffusers形式のLoRA保存に対応 |
| RunPodやGoogle Colab対応 | クラウドでも動作させやすい構造になっている |
Kohya_ssでLoRAを作る手順
LoRAを作成する流れ
- データセット(画像+キャプション)を用意
- Kohya_ssを起動(ローカル or クラウド(Pod Templates or My TemplatesでPython環境構築))
※今回はこのPod Templatesについてです。 - GUIまたはCLIでLoRA学習設定を調整
- 学習を実行し、LoRAモデル(
.safetensors)を出力 - 生成ツール(AUTOMATIC1111など)でLoRAを使って画像生成
目次
【RunPod】で”Kohya_ss”を使用して”LoRA学習”をする方法は2通りある
- RunPodでKohyaを 使用できるテンプレートを選ぶ方法 ← 今回の方法はこちら
- 自分でDocker環境を構築する方法
➊ RunPodでKohyaを 使用できるテンプレートを選ぶ方法 ※今回はこの方法についてです。
RunPodのPod TemplatesからKohya_ssなど絞り込み選択して選びます。
SAKASA AI

RunPod×Kohya_ss GUI|GPU非対応の原因・互換表まとめ【⓪基礎 2.GPU編】 | SAKASA AI RunPodでKohya_ssを使ってLoRAを学習する際のポイントを初心者向けに解説!テンプレート選びや画像アップロード、WebUI操作から永続ストレージ管理まで、迷わず学べる手順…

Exploreを選択➡検索窓で絞り込み➡テンプレートの種類(Official or Community)を選択できまます。
❷ 自分でDocker環境を構築する方法
- Ubuntu + Python + kohya_ss を自分でセットアップ
- ただし、この場合は依存ライブラリ、CUDAバージョン、xformers、bitsandbytes などの調整が必要
自分でDocker環境を構築する方法はこちらの”RunPod上で一度作ったら安定して LoRA学習できる Kohya_ss 環境を作る”で書いています。
※難易度高め。テンプレートの方が早い。
Kohya_ss GUIなどのテンプレートを使っているRunPodのPod内でも、Pythonがインストールされていれば仮想環境(venv)を作成・使用することが可能です。
比較 【テンプレート+venv】 vs 【自前Docker環境】
| 比較項目 | テンプレート + venv | 自前でDocker構築 |
|---|---|---|
| 手軽さ | ◎ GUIで起動・セットアップが簡単 | △ Dockerfile作成・ビルドが必要で敷居が高い |
| 初期環境構築の速さ | ◎ ほぼ即使える | ✕ 数時間〜半日以上かかることも |
| カスタマイズ性 | △ テンプレートの中身を変えるのは難しい | ◎ 依存ライブラリ・Python・CUDA等も自由 |
| 安定性 / 再現性 | △ テンプレートにバグや仕様変更があることも | ◎ 自分で固定したバージョンで保てる |
| 更新・管理 | ✕ テンプレートの仕様が変わることがある | ◎ Dockerfileで再現可能 |
| LoRAなどの学習 | ◎ すぐにできる(設定済み) | ◯ 自分で環境構築必要だが柔軟 |
| 学習コスト(操作難易度) | ◎ Linux初心者でもGUI操作可 | ✕ Docker・Linuxの知識が必須 |
| トラブル発生時の対処 | △ GUIや内部設定がブラックボックス化しやすい | ◎ ログやDockerfileで直接把握できる |
| コストパフォーマンス | ◯ 共通ライブラリが最適化されていることも多い | △ 自作環境の最適化は工夫が必要 |
避けた方が無難なテンプレート
ComfyUI + Kohya 両方入りテンプレート(例:Ultimate系)→ Kohya側が動かない、WebUI不具合などありInvokeAIなどが同梱されたテンプレート → Kohyaの動作に不要な要素が多く、不安定
Webターミナル(コマンド)が必要な時
基本動作は、GUIですが、以下の場合にはコマンド操作が必要になります。
| 必要な場合 | 具体例 |
|---|---|
rcloneの初期セットアップ | rclone config をターミナルで打ってGoogle Drive認証を行うとき |
| ディレクトリの確認や手動操作 | データセットを所定の場所に移動させたいとき(例:mv や cp コマンド) |
| 追加ライブラリのインストール | 何かカスタムPythonスクリプトや依存関係を追加したいとき |
| エラー時の調査 | Web UIでうまく動かないときにログを確認したり、手動で起動を試みたり |
- Kohya GUI を開く
- 学習用データセット(リサイズ済み+タグ付け済)を指定
- 必要であれば使用したいBaseモデル(例:SD1.5など)を読み込む
- 設定(学習率・epoch・出力先など)をGUIで入力
- Start Training!
テンプレートの中には、あらかじめ数種類のモデルが入っているものもあります。詳細は、各テンプレートのページで確認できます。
例:
下の画像は、ULTIMATE Stable Diffusion Kohya ComfyUI InvokeAIというテンプレートの内容です。

必要なもの(基本)
アップロードしたい画像が少ないもしくは、ファイルサイズが小さい場合などは、Pod内の、JupiterLabやRunPod File Uploaderというツールを使用して、直接アップロードする事も可能ですが、
RunPodのテンプレートには、ファイル転送ツールの”rclone”が予め入っている事が多い為、rcloneの設定しておくのも便利です。
rcloneを使用してファイルを転送する場合は、以下のファイルを、予めGoogleDriveなどのクラウドツールにアップロードしておきます。
rcloneでファイルをアップロードする方法は、こちらの記事をご覧ください。
SAKASA AI

【rclone(アールクローン)】の使い方・クラウド×ローカル【ファイル転送・同期・バックアップ】方法 | SA… RunPodやクラウドAI環境でのLoRAモデル管理に便利なrcloneの導入方法を初心者向けに解説。「rclone 入らない」「rclone パスが通らない」「rclone version が効かない」な…
アップロードするもの
| 種類 | 内容 | 保存場所(Pod内)例 |
|---|---|---|
| ベースモデル (必要であれば) | 例:sd-v1-5-pruned.safetensors | /workspace/stable-diffusion-webui/models/Stable-diffusion/ |
| 学習用画像フォルダ | リサイズ+タグ付け済 | /workspace/dataset/ など |
| テキストタグ(必要な場合) | .txtまたは.csv形式 | 画像と同じフォルダ内 |
学習用画像フォルダ【画像とテキストタグ(必要な場合)】の作成方法については、こちらの記事をご覧ください。
あわせて読みたい

【自作イラストをLoRA化】画像とテキストタグ(キャプション)の準備からフォルダ構成まで徹底解説 学習用データセットの作り方 LoRA(Low-Rank Adaptation)は、既存のAIモデルに対して、自分のイラストや作風を学習させられる技術です。でもいざ始めようとすると── 「…
アップロード方法
Web UI に直接アップロード(対応しているテンプレートの場合)
例:学習用画像などは、File Uploaderや、JupterLabから直接アップロード
Kohya_ss の train フォルダへ画像を指定アップロード(GUI内から選択、対応している場合)
通常、Workspaceへ保存されるので、ファイルを指定フォルダに移動img2img や inpaint モードなどでは、画像をドラッグ&ドロップで直接アップロード
rcloneでGoogle Driveと連携してアップロード
Google Drive連携に必要なものGoogleアカウント(Gmailなど)← これだけでOK!
Google Driveをrcloneでマウントして、Pod内へファイルコピーする手順です。
永続ストレージ(Network Volume)を /workspace にマウント済みであることを確認してください。
workspaceターミナル、Web Terminal または SSHターミナル を開く
ターミナルの開き方
Podを起動 →Connect
→ 接続するタブWeb Terminalもしくは、JipiterLabや、workspaceで開けます。

こちらは、workspaceポート:7777のターミナル

workspaceポート:7777のターミナルで作業すると、ファイル転送なども反映が見渡せて使いやすい。
対して、Webターミナルの画面は、広くて見やすい。
JupiterLabのターミナルも使える。
※後の解説では、Webターミナル内のスクショで解説します。

初回セットアップ
初回のみ、以下のように rclone config を実行してDriveをマウントする必要があります
rclone configウィザード形式で進みますので、「Google Drive」→「認証」→「リモート名の設定(例:gdrive)」といった流れになります。
- ターミナルで
rclone configを実行 - New remote(新しいリモート)を選択 →
nを入力してEnter - 名前(例:
gdrive)を入力 → Enter - ストレージタイプを選択:「Google Drive」を選択(リストから番号で選ぶ)入力してEnter
- クライアントIDなどは基本「空Enter」でOK(デフォルトで問題なし)
scopeは1(Full access)を選択- 「Use auto config?」→
nnoと答える(RunPod内からはブラウザ開けないため) - URLが表示されたら、それをブラウザで開く(URLが表示されない場合については後ほど解説。)
- Googleアカウントでログインして、アクセス許可を与える
- 認可が完了すると「認証コード」が表示される → それをPodのターミナルにコピペしてEnter
- Team Driveを使っていなければ「No」を選択(
n) - 設定内容の確認 →
y(Yes)で保存


Use auto config? ではなく、
Use web browser to automatically authenticate rclone with remote?
Say Y if the machine running rclone has a web browser you can use
Say N if running rclone on a (remote) machine without web browser access
If not sure try Y. If Y failed, try N.
y) Yes (default)
n) No
この問いについてRunPodのようにブラウザが使えない環境では「n(No)」を選ぶ必要があります。
Execute the following on the machine with the web browser (same rclone version recommended):
rclone authorize “drive” “eyJzY29wZSI6ImRyaXZlIn0”
この様なメッセージが表示された場合は、
【ステップ1】ローカルPCで rclone を実行する
ローカル環境(Windows/Mac/Linux) で、下のコマンドを実行してください
rclone authorize "drive" "eyJzY29wZSI6ImRyaXZlIn0"- この
"eyJzY29wZSI6ImRyaXZlIn0"は RunPod 側から表示されたものを そのままコピーして使います。 - 実行すると、ブラウザが開いて Google 認証が求められます。
- 認証後、トークン(
config_token)が返されます。
【ステップ2】RunPod側に戻って貼り付ける
ローカルで表示された config_token をコピーして、RunPod 上のconfig_tokenに そのまま貼り付けて Enter します。これで Google Drive との連携が完了します!
ポイント
- 認証の際に「rclone」があなたのGoogle Driveへのアクセス権限を一時的にもらう形です
- 一度認証しておけば、Podの環境内で
gdrive:のようにDriveへアクセスできます - 特別なAPIキーなどは 不要です。(上級者向けの手動設定時以外)
/workspace フォルダを開く方法
方法1:Web Terminal(ウェブターミナル)で開く方法
- RunPodのコンソールにログイン
- 対象のPodを開く
- 「 Terminal」を開く(※「Full access all files」でOK)
- ターミナルが開いたら、以下のコマンドを入力
cd /workspace
lsこれで /workspace ディレクトリの中身(アップロードされた画像など)が確認できます。
さらに階層がある場合は、
ls -lなどでフォルダを調べて、中に入っていけます。
方法2:ComfyUI や Kohya の UI 内で確認する方法
テンプレートによっては、UI上からファイル一覧を確認できるようになっています。
- Kohya UI:一部のバージョンでは、データセット選択時に
/workspace配下をたどって選べます。 - ComfyUI:ノードのファイル選択時に
/workspaceをルートにたどれる場合があります
注意点
/workspaceは Network Volume(永続ストレージ)をマウントしている場所であることが多い。- Podを削除しても
/workspaceにデータがあれば残るので、ここをうまく活用するのがポイントです。
アップロード用コマンド例
Google Drive → Pod(学習データgdrive:dataset/my-lora-dataset/を /workspace/dataset/ にコピーする場合)
rclone copy gdrive:dataset/my-lora-dataset/ /workspace/dataset/ -P-P はコピー進行状況を表示するオプション
Google Drive内のパスはあなたのDrive構造に合わせてください。
Google Drive → Pod(ベースモデルをコピー(例:sd-v1-5-pruned.safetensors))
rclone copy gdrive:ai-models/sd-v1-5-pruned.safetensors /workspace/stable-diffusion-webui/models/Stable-diffusion/ -PPod → Google Drive(保存・バックアップなどに)
rclone copy /workspace/output gdrive:LoRA_results -Pテンプレート内のターミナル(Terminal)でそのまま
rclone config← Google Driveと接続するrclone copy← DriveとPod間でファイルコピーrclone ls← Drive内のファイル確認
といったコマンドがそのまま使えます。
- Kohya GUIを使えば、フォルダパスをGUI上で選ぶだけでOKです
- InvokeAI や ComfyUI は「生成用UI」なので、LoRA学習時は基本的に Kohya の機能だけを使う形になります。
確認コマンド
rclone version↑これを打つと、バージョンが表示されて rclone が入っていることが確認できます。
- 設定ファイルにあるリモート名を正しく使うことが重要です。
rclone listremotesコマンドでも、登録済みリモート名一覧が見られます。
rclone listremotesKohya GUIでの LoRA Training の始め方
Pod内のブラウザからアクセスするタイプか、ローカルのブラウザで http://<PodのIP>:<ポート番号>/ にアクセスしてGUIを開きます。
Kohya_ss 起動後にまず確認しておくと良いこと
まずは、GUIが正しく表示されているか確認します。
- メニューがすべて表示されているか(LoRA Training、Dreambooth、Data preparation など)
- ボタンがクリックできるか
起動時におかしいと思ったら
- Podを再起動(Stop → Start)で改善されることも多いです。
- KohyaのGUIが崩れていたら、ブラウザをリロードまたはシークレットウィンドウで開き直すのも効果的です。
Web Terminalでnvidia-smiを実行して、GPUが認識されているか確認もできます。
ワークスペース内で保存すべきファイルの種類
| フォルダ | 入れるべき内容 |
|---|---|
/workspace/train_data/ | 学習用画像とキャプション(.png + .txt) |
/workspace/models/ | .safetensorsなどのStable Diffusionモデル |
/workspace/outputs/ | 学習結果(LoRAなど) |
/workspace/kohya_ss/ | Kohya GUI本体・設定ファイルなど |
推奨フォルダ構成(例)
/workspace/
├── kohya_ss/ ← Kohyaの本体
├── traindata/15_cat2025 ← 学習用画像フォルダ(ここをImage folderに指定)
│ ├── dog_001.png
│ ├── dog_001.txt
│ └── ...
├── models/ ← Stable Diffusionなどのベースモデル
│ ├── anything_v3.safetensors
│ └── ...
├── outputs/ ← 学習結果の出力先(LoRAファイルなど)
│ ├── lora_dog.safetensors
│ └── ...詳細はこちらの記事でご確認ください。
あわせて読みたい

【自作イラストをLoRA化】画像とテキストタグ(キャプション)の準備からフォルダ構成まで徹底解説 学習用データセットの作り方 LoRA(Low-Rank Adaptation)は、既存のAIモデルに対して、自分のイラストや作風を学習させられる技術です。でもいざ始めようとすると── 「…
1. LoRA Training タブを選択
- Kohya GUIのメニューで「LoRA」または「LoRA Training」タブをクリック。
2. 基本設定を入力
| 項目 | チェック内容 |
|---|---|
学習画像のパス(/workspace/your_dataset など) | |
ベースモデル(例:/workspace/stable-diffusion/v1-5-pruned.safetensors) | |
Output directory | /workspace/outputs など永続化できる場所 |
Epoch や Batch size | 最小値でテスト(例:Epoch: 1、Batch: 1)もアリ |
| 項目 | 説明 |
|---|---|
Pretrained model name or path | ベースモデル(例:/workspace/stable-diffusion/v1-5-pruned.safetensors) |
Training data directory | 学習用画像のフォルダパス(例:/workspace/train_data)※画像の入っているフォルダの親フォルダ |
Output directory | 出力先(例:/workspace/output/lora_model/) |
Output name | 任意の名前(例:15_cat2025学習回数_outoput名) |
Epochs | 学習回数(例:10〜20) |
Batch size | 例:2〜4(VRAMに応じて調整) |
Learning rate | 例:0.0001〜0.0005 |
- 出力フォルダ(Output directory)
→ モデルや学習済みのファイルの保存先パスを指定します。
→/workspace/outputや/runpod-volume/modelsなど永続化される場所がおすすめ。 - エポック数(Epochs)
→ ここに希望のエポック数を入力します(例:10や20など)。 - バッチサイズ(Batch size)
→ GPU VRAMに合わせて調整(例:4や8)。
→ 大きいほど高速ですがメモリ消費が増えます。 - 学習率(Learning rate)
→ 通常は 0.0001〜0.0005あたりから試すことが多いです。 - その他
→ 学習ステップ数、保存間隔、ログ出力フォルダなども設定可能な場合があります。
設定項目に関する詳細はこちらの記事をご覧ください。
あわせて読みたい

LoRAとは?仕組み・学習・使い方・学習パラメータまで完全ガイド LoRAとは何か? LoRAとは、Low-Rank Adaptation(低ランク適応)の略で、大規模なモデル(例:Stable Diffusion)の重みをすべて再学習するのではなく、一部だけを効率…
3. 拡張設定(必要に応じて)
- Text Encoderの有無(絵柄重視ならONが多い)
- 学習ログ保存先
- 正則化画像の設定など
4. スタート!
- 最後に「Start Training」や「Train」ボタンを押すと開始されます。
4. 設定を保存・反映
- GUIによっては「Apply」や「Save Settings」ボタンがあります。
- 設定を変えたら、必ず「Start Training」など学習開始ボタンを押して反映させてください。
テンプレートの更新やPod削除時に備えて
- 永続ストレージ(/runpod-volume)に移動しておけば、次回も使い回せます。
- 一時保存のままだとPod削除時に消えるので、必要なファイルは手動コピーしておくと安心です
cp -r /workspace/models /runpod-volume/
cp -r /workspace/outputs /runpod-volume/→ /workspace/models フォルダを、/runpod-volume/ に再帰的(-r)にコピーします。
→/workspace/outputs フォルダを /runpod-volume/ にコピーします。
コピー完了後の構成(永続ストレージ内)
/runpod-volume/
├── models/
│ ├── anything_v3.safetensors
│ └── ...
├── outputs/
│ ├── lora_dog.safetensors
│ └── ...毎回コピーするのが面倒な場合の対策
方法①:最初から /runpod-volume/ に保存するように設定を変更
- KohyaのGUIで「出力フォルダ(output directory)」を
/workspace/outputsではなく/runpod-volume/outputsにする。 - モデルの保存先や設定ファイルの読み込み元を
/runpod-volume/にする。
こうすれば、毎回コピーせずに「最初から永続領域に保存される」状態になります。
方法②:コピー処理をシェルスクリプトにして使い回す
#!/bin/bash
cp -r /workspace/models /runpod-volume/
cp -r /workspace/outputs /runpod-volume/↑こんな内容を save_to_volume.sh のような名前で保存しておけば、次回からは
bash save_to_volume.shと1コマンドで実行できます。
| フォルダ名 | 特徴 |
|---|---|
/workspace | Pod停止・削除時に中身が消える(一時領域) |
/runpod-volume | 永続ストレージ。Podを再起動しても残る |
動かない場合
- Volumeがいっぱいになっていないか確認
- config.yamlなどのaccelerate設定ファイルが壊れていないか
- ブラウザのキャッシュやVPNも確認(WebUIが出ない原因)
| ポイント | 内容 |
|---|---|
| 絶対パスで指定する | 相対パス(例:../imagesなど)より安定します。 |
| パスにスペースがないことを確認 | スペースがあると読み込みエラーになることがあります。 |
| 画像とcaption(.txt)がペアになっているか確認 | LoRA学習では .png または .jpg に対して .txt のキャプションが必要な場合があります(学習形式による)。 |
【⓪-1Podの見方と使い方】

RunPodの【Podの見方と使い方】と【接続オプションの使い方】【⓪基礎・1.Pod編】 RunPodの大まかな使用方法、流れは こちらの記事でまとめています。 ”RunPodの使用方法と手順”については、上の記事でかなり細かくまとめたつもりでいました。しかし、…
【⓪-3JupiterLabの使い方】

「RunPodでのJupyterLabの使い方:workspaceとの違いも解説」【⓪基礎・3.JupyterLab編】 | SAKASA AI RunPodのテンプレート内の「Jupyter Notebook」。そもそも何のために使うのか?workspaceとの違い、GPUとの関係、画像生成で使う必要があるのか?など…初心者にもわかりや…
【① 解説編】

クラウドGPU”RunPod”とは?画像生成・LoRA学習の最適解?!個人利用の効率よいクラウド環境【①解説編】 Stable Diffusionなどの画像生成も使いやすい Stable Diffusionで「思う存分、画像,動画生成がしたい」「自分の作風を学習させたい」「LoRAやDreamBoothを試してみたい…
【② 実践編】

【RunPodの使い方と料金】Stable Diffusionなどで画像生成やLoRA学習をする方法【②実践編】 Stable Diffusion系画像生成やLoRA学習をする方法 Stable DiffusionやLoRA学習では、長時間GPUをフル稼働させるため、発熱や電源の安定性が大きな課題になります。 そこ…
あわせて読みたい

RunPodテンプレート”Kohya_ss GUI RTX 5090”で”LoRA学習” … 本記事では、クラウドGPUのRunPod内で、 ”Kohya_ss GUI RTX 5090”というテンプレートを使用して、 JupiterLabのアップローダーを使用してファイルをアップロードする方…
