【初心者向け】自作LoRAの作り方|LoRAをKohya_ssで学習する方法|Anaconda + CUDAでローカル環境構築【Windows】

LoRA学習環境構築 Anaconda+CUDA Kohya_ssをローカル導入する方法

当記事は、LoRAをKohya_ssで学習する為の環境構築について書いています。LoRAの使用方法や設定に関しては、以下のリンク記事で書いています。

クラウドGPUで”LoRAをKohya_ssで学習する方法”についてはこちらの記事をご覧ください

近年、イラストや写真などのスタイルをAIに学習させる「LoRA(Low-Rank Adaptation)」が注目を集めています。
中でも、人気の学習ツール「Kohya_ss」は、最低限のコマンド操作と、細かな設定が可能なWebUI(ブラウザ型GUI)で、多くの生成AIユーザーに支持されています。

この記事では、初心者の方でも安心してLoRA学習を始められるように、Kohya_ssをWindowsローカル環境(自身のPC)に導入する手順を1つずつ丁寧に解説しています。Anacondaのセットアップから、CUDA・PyTorchの対応バージョン確認方法まで網羅しているので、この記事を参考にすれば自分のPCでもLoRA学習ができるようになります!

目次

Anaconda+CUDAでKohya_ssをローカル導入する方法

前提条件

*使用するPyTorchバージョンに対応するCUDAバージョンを調べる方法
PyTorchは、バージョンごとに対応するCUDAのバージョンが決まっています。
PyTorch公式ページにアクセスしますhttps://pytorch.org/get-started/locally/

CUDAバージョン

使用する条件の選択
PyTorchビルド(例:2.1.0)➡通常は安定版を選びます。
あなたのOS ➡(例:Windows)
パッケージ ➡(通常は「Pip」または「Conda」)
言語➡(Python)
CUDAバージョン(ここに対応するCUDAが表示されます)
選択に応じて、下にインストール用コマンドと一緒に、推奨されるCUDAのバージョンが表示されます。

ポイント
PyTorchとCUDAのバージョンが合っていないと、エラーになることがあります。
CUDA 11.8 を使いたい場合は、PyTorch 2.1 までが対応しています。
最新のPyTorch(2.2以降)では、CUDA 12.x系が主流になっています。

*NVIDIA AppでStudioドライバの確認
NVIDIA App(旧:GeForce Experience)を開く
左メニューまたは上部の「Drivers」タブを選択
「Studio Driver」になっているか確認(必要に応じて切り替え可能)
無い場合は、ダウンロードしておきますNVIDIA公式サイト内/ドライバ:ダウンロードページ

Kohya_ssは依存関係が多いツール

Kohya_ss(LoRA学習GUI)は以下のような依存ライブラリが複雑に絡んでいます

  • PyTorch(バージョンやCUDAとの整合性がシビア)
  • xformers(PyTorchのバージョンに敏感)
  • bitsandbytes(GPU構成によって挙動が変わる)
  • Hugging Face Transformers / diffusers
  • TensorBoard、WandB などのオプションツール

これらをpip + venvだけで揃えるのは、かなり経験者向けの作業です。
一方、Anacondaならこうした依存関係のバージョン調整が比較的簡単になります。

Kohya_ssのように「PyTorch + CUDA + 特殊ライブラリ」が絡む環境では、Anacondaで仮想環境を切っておくのが一番安全です。

比較項目venv(Python標準)Anaconda(またはMiniconda)
環境構築の簡単さ自分でPython・CUDA・PyTorchのバージョン整合をとる必要ありcondaが自動で依存関係を解決
パッケージの管理基本はpip頼り。複雑な依存関係で詰まりやすいconda + pip両方使えて柔軟&強力
CUDAの扱いCUDA Toolkitを手動インストールしてパス設定が必要PyTorch+CUDAをconda install pytorchだけで完結できることが多い
初心者への安心感エラー時の自己解決力が必要失敗しにくい構成。エラーも少ない
仮想環境の切り替えsource venv/bin/activate などconda activate 環境名 で統一

この項のまとめです。(以下の項目をチェックしてOKでしたら、次の項目へ進んで下さい。)

GPUのCompute Capabilityを確認NVIDIA公式サイトで自身のGPUのCCを調べる。
CUDAバージョンの選定:使用するPyTorchバージョンが対応するCUDAバージョンを選ぶ。
ドライバの更新:CUDAバージョンに対応するNVIDIAドライバをインストールする。
目的:仮想環境の活用:Anacondaやvenvを使用して、異なる環境を簡単に切り替えられるようにする。

AnacondaでLoRA学習環境を作る

Anacondaのインストール

anacondaのインストール①

任意のアカウントでログインします。

anacondaのインストール②

Anacondaの公式ダウンロードページから、お使いのOSに対応したインストーラーをダウンロードできます。

anacondaのインストール③

① Anacondaの準備

インストール手順(Windowsの場合)

  1. ダウンロードしたインストーラー(例: Anaconda3-2024.10-1-Windows-x86_64.exe)をダブルクリックして実行します。
anacondaのインストール④

2. インストーラーが起動したら、「Next」をクリックします。
3. ライセンス契約画面で「I Agree」を選択します。
4. インストールタイプの選択では、「Just Me(推奨)」を選び、「Next」をクリックします。
5. インストール先フォルダを確認し、必要に応じて変更後、「Next」をクリックします。
6. 追加タスクの選択では、特に変更がなければそのまま「Install」をクリックします。
7. インストールが完了したら、「Next」をクリックし、最後に「Finish」をクリックしてインストールを終了します。

インストール後、スタートメニューから「Anaconda Prompt」や「Anaconda Navigator」を起動できます。

※Anaconda Navigator(GUI)からアップデートを求められた場合は、基本的にはそのまま「更新」してOKです。ただし、すでに構築済みの仮想環境内でパッケージを更新する場合は、conda updatepipのバージョン管理に注意が必要です。

インストール確認

Anaconda Promptを開き、以下のコマンドを入力してPythonのバージョンを確認します。
Anaconda Promptは、WindowsでAnacondaをインストールした後、以下の手順で起動できます。

  1. スタートメニューを開く
  2. 「Anaconda Prompt」と検索
  3. アイコンをクリックして起動

※黒いウィンドウが開き、(base) と表示されていれば、Anacondaの「base」環境が有効になっています。
もしくは、Windowsターミナルを開き、
タブから””下矢印をクリックで、Anaconda Promptを選択(Anacondaインストール後に追加されます。)

ターミナル(Windows Terminal)コマンドプロンプト、PowerShell、の開き方

Windowsの場合は、(※Windows Terminal)を開きます。

Windows Terminal(ウィンドウズターミナルの起動方法…

コマンドの実行は、Windows標準の「Windows Terminal」を使って行います。
(※コマンドプロンプト(cmd)やPowerShellでも同様に動作しますが、Windows Terminalの方が操作しやすくおすすめです。)
コマンドプロンプト(Command Prompt)とは、Windowsに搭載されているテキストベースのインターフェースです。マウス操作ではなく、キーボードからコマンド(指示)を入力することで、パソコンを操作できます。

Windows Terminal起動方法

  1. スタートメニューで、左クリック➡ターミナルを起動もしくは、「Windows Terminal」と検索して起動
  2. デフォルトでは PowerShell または Command Prompt(cmd)(又は、WindowsPowerShell)が開きます

画像生成用途の場合は、Command Prompt コマンドプロンプト(CMD)と相性が良いです。

pip installconda などのモダン開発向けコマンドは、PowerShellと相性が良いです。

※詳しい使用方法や、Windows Terminalの設定方法は、こちらの記事をご覧ください。

Windows Terminalは、タブを切り替えて複数のシェルを使う事が出来ます

  • 上部の ボタンから新しいタブを開けます
  • をクリックすると以下の選択肢があります
    • PowerShell
    • Command Prompt
    • WSL(Linuxサブシステム)※インストール済みなら
    • Azure Cloud Shell(必要な場合)

※Microsoft 公式も「Windows Terminal」を推奨しているため、当サイトでも記載するWindowsのコマンド実行場所を、コマンドプロンプト(cmd)から「Windows Terminal」に変更致しました。

コマンド入力は間違えるとエラーになることもありますが、慣れると素早く作業ができる便利なツールです。

Macの場合は、(※ターミナル)を開きます。

ターミナル(Terminal)の起動方法…

Macにはターミナル(Terminal)というアプリがあり、これを使うことで、コマンドを入力してシステムを操作できます。

ターミナル起動方法

  1. **「Command ⌘ + Space」を押して、「Spotlight検索」**を開く
  2. 検索バーに「ターミナル」と入力してEnter

または、以下の手順でも開けます:

アプリケーションユーティリティターミナル

Linux のターミナルの起動方法…

Linuxでは「ターミナル」が、コマンド操作の基本です。ウィンドウの中でキーボード入力によりシステムを操作します。

Linuxターミナル起動方法

  • 1,:Ctrl + Alt + T を同時に押す(多くのLinuxディストリビューションで共通)
  • 2,:アプリケーション一覧から「ターミナル」または「Terminal」で検索して開く

Ubuntu、Fedora、Debianなど、ほとんどのLinux環境に標準で搭載されています。
Macのターミナルと似た雰囲気で、コマンドの使い方もほぼ共通です。

PowerShell の起動方法…(Windows)

PowerShell(パワーシェル)**は、Windowsに標準搭載されている、より高度な操作ができるコマンドラインツールです。見た目はコマンドプロンプトと似ていますが、より多機能で、プログラミング的な処理も得意です。

PowerShell起動方法

1,スタートメニューで「PowerShell」と検索してクリック

2,Windowsキー + R を押して「powershell」と入力 → Enter

コマンドプロンプトと同様、キーボードからコマンドを入力して操作します。
たとえば Get-ChildItem(=フォルダの中身を見る)など、PowerShell独自のコマンドもありますが、通常のコマンド(例:cdpythonなど)も使えます。

※コマンドプロンプト(cmd)の起動方法…(Windows)

Windowsキー + Rを押す

cmd」と入力してEnterを押す
または、スタートメニューで「コマンドプロンプト」と検索してもOK!

ターミナル(Windows Terminal)を開き、”○○○(ツール名)”と打ち込むと呼び出してくれます。

アナコンダプロンプト
python --version

また、Anaconda Navigatorを起動して、GUI上で環境やパッケージの管理ができることを確認してください。

Anaconda Prompt を開いて以下を実行(仮想環境を有効化

conda create -n kohya python=3.10 -y
conda activate kohya

※このコマンドを実行する事で、kohya_ss 内で仮想環境を使った作業ができる状態になります。

② Git & GitHub からKohya_ssを取得

Gitがインストールされていることを確認
git --version でバージョンが表示されればOK
※インストールされていなければ、公式サイトから入手してください。

Anaconda Prompt または コマンドプロンプトを開く

以下のコマンドでクローンします

git clone https://github.com/bmaltais/kohya_ss.git

kohya_ss フォルダに移動

cd kohya_ss

cdkohya_ssフォルダのパス。
※たとえば、kohya_ssという名前のフォルダが C:\Users\あなたの名前\Documents\ にあるとします。
その場合、Anaconda Promptで以下のように入力して移動します。

cd C:\Users\あなたの名前\Documents\kohya_ss

※クローン先のディレクトリに注意(cdmkdir を使って管理)
仮想環境を使う場合は、先に Anaconda Prompt で仮想環境を有効化しておく

状況の確認

(base) C:\Users\あなたの名前>cd C:\Users\あなたの名前\kohya_ss

(base) C:\Users\あなたの名前\kohya_ss>

このように表示されていれば、今あなたは C:\Users\あなたの名前\kohya_ss フォルダの中にいます。

③ 依存ライブラリのインストール

pip install -r requirements.txt を実行

pip install -r requirements.txt

CUDA 11.8 に対応した PyTorch 2.1.0 と torchvision 0.16.0 のインストール
は、以下のコマンドを実行してください

pip install torch==2.1.0 torchvision==0.16.0 --extra-index-url https://download.pytorch.org/whl/cu118

CUDA 11.8 に対応した PyTorch 2.2.0 と torchvision 0.16.0 のインストール(バージョンは2.2.0の場合)
は、以下のコマンドを実行してください

pip install torch==2.2.0+cu118 torchvision==0.16.0+cu118 --extra-index-url https://download.pytorch.org/whl/cu118

CUDAPyTorch torchvisionのそれぞれのバージョンを指定してください。

④ CUDAとPyTorchの対応確認(重要)

インストールが完了したら、以下の Python コマンドで動作確認できます。

Pythonコードを実行する正しい方法

  1. Pythonインタプリタを起動する
python

と入力してEnterすると、Pythonの対話モード(>>>)になります。

  1. そこでPythonコードを入力してください
import torch
print("PyTorchバージョン:", torch.__version__)
print("CUDAが使えるか:", torch.cuda.is_available())
print("使用中のCUDAバージョン:", torch.version.cuda)
  1. 確認が終わったら、exit() または Ctrl+Z(Windows)でPythonを終了できます。

True が返ってきたらOK。

GUIの起動(ローカルブラウザで操作:Anaconda Prompt

※GUIで作業をする際には、以下のコマンドを実行してGUIを開きます。

KohyaGUI

仮想環境のアクティベート(必要に応じて)

conda activate kohya  # すでに実行済みならスキップ

Kohya_ssのフォルダへ移動

cd C:\Users\Owner\kohya_ss

Users Ownerこの箇所は、ご自身のフォルダ名に置き換えて下さい。

Web UI 起動スクリプトの実行

Kohya_ss は kohya_gui.py というスクリプトでGUIを起動できます。

python kohya_gui.py

※GUIが自動でブラウザに表示されない場合は、以下のようなURLが表示されることがあります

Kohya①
Running on local URL:  http://127.0.0.1:7860

※このURLをctrlを押しながら開くか、コピーしてブラウザに貼り付けてhttp://127.0.0.1:7860 を開きます。

よくあるエラー・確認ポイント

症状対処
ModuleNotFoundErrorrequirements.txt の再インストールが必要な場合があります。
起動後真っ白で何も表示されないブラウザのキャッシュをクリア、または別ブラウザで試す
エラーメッセージが大量に表示される一度ターミナルを閉じて、仮想環境を再アクティベートしてから再実行

kohya_gui.py が見当たらない場合
GitHubからの取得が完全でなかった可能性があります。その場合は以下のコマンドで再取得出来ます。

git clone https://github.com/bmaltais/kohya_ss.git

その後、もう一度、移動&仮想環境アクティベート&起動。
GUIの起動(ローカルブラウザで操作:Anaconda Prompt)

⑥ 画像とcaption(.txt)ファイルについて

LoRA学習をする為の、画像とcaption(.txt)ファイルの用意がまだの方は、下の記事をご覧ください。

  • dataset 又は、Trainingフォルダ内に、にトレーニング用画像フォルダを作成し、画像と同名の .txt ファイルを配置します。
    (※トレーニング用画像フォルダの名前は、半角英数字を使用します。)
dataset/トレーニング用画像フォルダ名
        ├── image_001.png
        ├── image_001.txt ←プロンプトなどを記述

※ここで大切な事は、dataset 又は、Trainingなどという、親フォルダの下にトレーニング用画像フォルダを作成し、画像と同名の .txt ファイルしておくという事です。

おすすめのフォルダ構成

C:\Users\Owner\kohya_ss\
        ├── kohya_data\      ← データ系(学習素材)
        │   ├── 10_train\
        │   │   ├── img\
        │   │   ├── txt\
        │   │   └── reg\
        │
        ├── outputs\       ← 出力ファイル(学習済LoRAなど)
        │   ├── 12_loracat\
        │   └── 10_train\
        │
        ├── configs\       ← 設定ファイルの保存場所(任意)
        │
        ├── venv\        ← 仮想環境(Anacondaなしで動かす場合)
        ├── GUI起動用のbatファイルやスクリプト
        └── READMEなど

※Kohya_ssでトレーニングに使用する画像とテキストは、まとめて一つのフォルダに入れておく必要があります。

この上の例においては、10_trainのフォルダに、画像とテキストタグを入れており、トレーニングの際には、そのフォルダの親フォルダを指定する必要がある為、kohya_dataというフォルダを、トレーニングフォルダに指定してトレーニングします。
ここでのポイントは、10_trainのフォルダ名についてです。これは、

トレーニング回数(エポック数)とアンダーバーと任意のフォルダ名で構成します。

上記のような構成で、すべてKohyaフォルダ以下に収めるのがベストです。

ステップ数・エポック数計算フォーム

ステップ数・エポック数 計算ツール

ステップ数を求める




エポック数を求める




LoRA学習

LoRAの使用方法、設定項目に関する詳細は、こちらの記事内にまとめました。

WebUI(ブラウザ画面)の閉じ方

Kohya_ssでWebUIを使用してローカル学習を行っている場合、作業をいったん終了する際には、ターミナル側とWebUI側の両方で適切に閉じることが重要です。以下にそれぞれの正しい閉じ方を説明します。

WebUIは、Kohya_ssのGUI(ブラウザ)であり、直接的には学習プロセスを制御していません。ただの表示窓のようなものです。

  • ブラウザのタブまたはウィンドウを閉じるだけでOKです。
    • ChromeやEdgeなどで開いているKohyaのWebUIタブを普通に閉じてください。
    • 学習ジョブが実行中でも、ターミナル側で動いていれば裏で進行します。

ターミナル(コマンドプロンプト / Anaconda Promptなど)の正しい閉じ方

ターミナルはKohya_ssのWebUI(gui.py)を起動している実行プロセスです。

閉じるタイミング

学習をまだ開始していない/完了済みの場合

  1. ターミナルにフォーカスして、
  2. Ctrl + C を押す(2回必要な場合あり)
    • Shutdown this Flask server (y/n)? と出る場合は、y を入力してEnter。
  3. コマンドプロンプトがプロンプト(例:(base) C:\Users\yourname>)に戻ったら、ターミナルを閉じてOK。

学習中に終了したい場合

  1. 学習ジョブが進行中に Ctrl + C を押すと、途中で学習が止まります。
    • ログ出力が止まり、「KeyboardInterrupt」と表示されます。
    • チェックポイント(途中保存)されていない場合は、データが失われる可能性があるので注意。

「定期保存(save_every_n_stepsなど)を有効にしておく」と、学習途中でもモデルが保存されます。

トラブル・エラー

エラー時の基本チェックポイント

  1. Training images
    images + .txt が同じフォルダに入っている → OK
    → フォルダ名 output/art_part1 → OK(英数字とスラッシュのみで問題なし)
  2. Dataset preparation
    • 「Dreambooth/LoRA Folder Preparation」または「Dataset Balancing」のどちらかのみを使用する。
    • 通常のLoRA学習では「Folder Preparation」で十分。「Dataset Balancing」はデータに偏りがあるとき用。
  3. 出力先指定(Save trained model as)
    → 設定済みであればOK。空白だと保存されないことがあります。
  4. ログ出力確認
    • /kohya_ss/outputs/.toml.json が出力される場合、「ボタンは動作しているが学習開始に失敗している」可能性が高い。
    • エラーが出ないのはPython側でエラーを握り潰している場合あり。
  5. 学習設定の最小限構成でテスト
    • epoch数を1、ステップ数を10程度にして動作確認用にしてみてください(負荷をかけず起動の可否だけチェック)
  • Startの前に、GUIの 「Trainタブ」→ 全項目の必須入力欄 は埋まっていますか?
  • 特に以下のような項目が必要です。
    • Base model path
    • Output name
    • Output directory
    • Image folder
    • Captionファイル形式(BLIP/DeepBooruなど) or .txt
    • Save trained model as(safetensors)
    • Epochbatch size など
トラブル例対処法
フォルダ指定でクラッシュする「📁マーク」からクリックで選択(ドラッグや手入力は避ける)
選択後に内容が更新されない一度タブを切り替えるか、ページをリロード(F5)
エラーでフォームが固まるGUIページを閉じて、再読み込み(または再起動)
GUIが応答しないAnacondaで一度Ctrl+Cしてサーバーを再起動(重要)

GUIが壊れてしまった場合

  1. kohya_ss フォルダにある ui-config.json を削除
  2. Anaconda Prompt で再起動
cd C:\Users\Owner\kohya_ss
python kohya_gui.py

.toml」「.json」「.txt のみが出力される!

.toml」「.json」「.txt のみが出力された」という場合
KohyaのLoRA学習を実行したあと、モデルファイル(例:.safetensors)が出力されなかったという意味です。
これはいくつかの原因が考えられます。以下を順番にチェックしてみてください。

学習エポック数(epoch)が 0 や 1 になっていないか?

  • Epoch の数が極端に少ないと、学習がほぼ行われず、モデル出力がスキップされることがあります。
  • 2〜4以上にして再試行してみてください。

output_name の指定がない or 無効な名前になっていないか?

  • 出力ファイル名が output_name.safetensors として作成されるため、ここが空欄だと出力されない場合があります。
  • 例:lora_dog などの名前を必ず入れておく。

出力フォルダが output_dir で指定されている場所に .safetensors が出ているか?

  • .toml.json は設定保存ファイルです。学習結果(モデル)は .safetensors で出力されます。
  • 例: /workspace/outputs/lora_dog.safetensors などに出力されているか確認。

Save every N steps などの中間保存が有効かどうか?

  • 学習途中で保存する設定(save_every_n_stepsなど)がないと、学習途中で停止した場合に何も出力されないことも。

コマンド実行時にエラーが出ていたかも?

  • 実行ログ(WebUI上部 or Terminal)を確認し、途中で CUDA out of memory などのエラーが出ていなかったかチェック。

Start training を押しても無反応な場合

Kohya GUIでは、以下のような必須項目が空白だと、裏側でコマンドが生成されず、Start training を押しても無反応になります。

確認すべき項目(特にLoRAの場合)
Image folder(学習用画像のフォルダ)
Output namePretrained model(ベースのモデルファイル)
Output directoryEpoch(エポック数)や Batch size(バッチサイズ)
どこか赤く縁取りされている項目がないかチェックしてください。

ファイルパスの指定ミス
Pretrained model や Image folder のパスが 存在しないか間違っている と動作しません。
Browse ボタンでGUI経由で選択するのがおすすめ。
ターミナルや htop コマンドで裏側のプロセスが動いているかも確認できます。

CLI Preview(またはログ)にエラーが出ていないか?
Start training 実行後に下部にエラー表示がある場合、それが原因です。
「CLI Preview」ボタンがある場合は、出力されるコマンドを先にチェック。

CLI(コマンドライン)での実行も可

GUIでのトラブルがあまりに多い場合、以下のようにCLI(コマンドライン)でLoRA学習を実行する方法もあります

python train_network.py --config_file="your_config.json"

GUIは設定の確認用、CLIは確実に回す用、と使い分けている人も多い。


AUTOMATIC1111との連携

Kohya_ssで作成したLoRAファイルは、AUTOMATIC1111で、使用できます。

  • LoRAファイルは stable-diffusion-webui/models/Lora/ に配置
  • WebUIで LoRA名を "<lora:modelname:weight>" として使えます。

このフォルダに入っている .safetensors.pt ファイルが、A1111のWebUIで自動的に読み込まれ、モデル選択UIやプロンプト補完で使用可能になるためです。
作成した、.safetensors.ptファイルの使用方法の詳細は、下のリンク記事をご覧下さい。

Stable Diffusio(AUTOMATIC1111)のインストール方法については、こちらの記事をご覧ください。

  • URLをコピーしました!
目次