MENU
  • ホーム
  • AI情報
  • Python&AI
    • 自作コード解説
    • Pythonの罠
  • 運営者プロフィール
  • お問い合わせ
  • プライバシーポリシー
カテゴリー
  • AI情報 (4)
  • Python&AI (20)
    • 自作コード解説 (8)
    • Pythonの罠 (4)
人気記事
  • 【解決】PythonでBadZipFileエラー!「File is not a zip file」が出る4つの原因と対処法
    【解決】PythonでBadZipFileエラー!「File is not a zip file」が出る4つの原因と対処法
    2026年1月26日
    Pythonの罠
  • python-ollama-desktop-mascot
    PC作業を監視されたい!Python×ローカルLLMで「動く・喋る」最強のデスクトップマスコットを作ってみた
    2026年1月21日
    自作コード解説
  • 【完全保存版】APIなしでも物理で殴る!Python×PyAutoGUIでYMM4を完全自動化するツール開発ガイド【全コード公開】
    2025年12月20日
    自作コード解説
  • 【Python】画像100枚の背景削除も一瞬!?最強AIライブラリ「rembg」で「全自動・透過ツール」を作ってみた
    2026年1月7日
    自作コード解説
  • 【ポケモン チャンピオンズ×AI】AIロトムMCPとは?メガシンカ環境のダメージ計算・構築分析をAIで自動化する最強ツール!
    2026年8月3日
    AI情報
超役‼えーあい実験室
  • ホーム
  • AI情報
  • Python&AI
    • 自作コード解説
    • Pythonの罠
  • 運営者プロフィール
  • お問い合わせ
  • プライバシーポリシー
  1. ホーム
  2. Python&AI
  3. LoRAの作り方|無料のKaggleで0円・86分だった(6回失敗)

LoRAの作り方|無料のKaggleで0円・86分だった(6回失敗)

2026 9/02
Python&AI
2026年8月25日2026年9月2日
本ページはプロモーションが含まれています
LoRA学習は無料でできる。Kaggleで実際にやったら0円・86分だった(ただし6回失敗した)アイキャッチ

※本記事にはプロモーションが含まれます。

📅 検証日:2026年8月24日
💻 検証環境:Kaggle Notebooks(GPU: Tesla T4 16GB / 実使用可能メモリ: 14.6GB)
🎯 ベースモデル:Illustrious-XL v0.1(6.46GB) / 自作キャラ画像30枚

  • 完全0円で自作キャラLoRAが完成!(クレカ不要・Kaggleの無料枠GPUを活用✨)
  • 学習時間は86.4分、VRAMは9.19GBで十分!(無料枠のGPUで余裕をもって動いたよ!)
  • 6つの落とし穴と完全対処法を網羅!(実際に詰まったエラーの原因と対策を全部公開🔥)
💡 先に結論だよ!

自作キャラクターのLoRA(追加学習モデル)を、費用0円で作ったよ!🎉

かかった学習時間は86.4分、必要だったGPUメモリ(VRAM:AI用の作業机の広さ)は9.19GBだったよ!

ただし、完成するまでに合計6回エラーで停止したんだ💦

「無料でできる」ことと「誰でも一発で簡単にできる」ことは全然違うんだよね。
この記事では、成功手順だけじゃなくて、実際に私がハマった6つの落とし穴と解決策をぜ〜んぶ包み隠さず教えちゃうね!✨

目次

先に結論:0円でできた

実際にかかった費用や学習時間、マシンスペックの実測データはこんな感じだよ!📊

項目 結果
費用 0円
学習にかかった時間 86.4分
使ったGPU Tesla T4(Kaggleの無料枠)
必要だったGPUメモリ 9.19GB(積んでいる14.6GB中63%)
学習した画像 30枚
できたファイルの大きさ 81.5MB
画像1枚の生成時間 36秒(1024×1024)

今回できたLoRAを使って実際に生成したテスト画像がこちら!👇

今回できたLoRAで生成した6カット
今回できたLoRAで生成した6カット。座る・怒る・海辺・夜の街は、いずれも学習素材には無かった指示だよ!
🎯 この方法が向いている人・向いていない人

🙆 向いている人
・自分のオリジナルキャラや絵柄を何度も繰り返し描かせたい人
・時間や試行錯誤の手間は惜しまないから、お金をかけずに0円で作りたい人

🙅 向いていない人
・今すぐ10分で結果が欲しい人
・英語のエラーが出たときに自分で原因を調べるのが苦痛・嫌いな人


そもそもLoRAとは何か

画像生成AIの本体ファイルって、数GB〜数十GBというとんでもない大容量なんだよね。

このAI本体を一から作り直そうとすると、スーパーコンピューター並みのマシンと膨大な電気代が必要で、個人には絶対に無理なんだ💦

そこで登場するのがLoRA(ロラ)!
LoRAは「AI本体には手を加えず、新しく覚えさせたい特徴の差分(追加データ)だけを学習させる技術」だよ!✨

例えるなら、分厚い辞書や教科書を一から書き直すんじゃなくて、覚えたい単語やページにだけ「付箋を貼る」イメージだね!🔖

だからこそ、元になるAI本体が6.46GBもあるのに対して、今回完成したLoRAファイルはたったの81.5MBという超軽量サイズで済んでいるんだよ!


なぜKaggleなのか

Kaggle(カグル)は、Googleが運営している世界的なデータ分析・機械学習のプラットフォームだよ!

なんと、AI学習に必要な高性能なGPU(AI計算専用の頭脳)を無料で使わせてくれるんだよね!とてもありがたい環境だよね!✨

  • クレジットカードの登録が不要!(無料GPUを使うための電話番号認証だけでOK)
  • 無料枠は週30時間!(今回の学習が1回86.4分だから、週に約20回も回せる計算!)
  • 手元のPCスペックが低くてもOK!(ブラウザ上でGoogleのクラウドGPUを動かすから、手元のパソコン性能は関係なし!)

自前のパソコンでLoRA学習をしようとすると、グラフィックボード(GPU)を積んだパソコンが必要になるけど、Kaggleの無料枠を使えば手元のパソコン性能に関係なく、初期費用0円でスタートできちゃうよ!🙌


用意するもの

用意するものは、たったの3つだけだよ!

  • Kaggleのアカウント(電話番号認証済み)
  • 学習用の画像 30枚
  • 各画像の内容を説明したテキスト(説明文・キャプション)

学習用の画像を30枚そろえる

今回は、自作キャラクターのイラスト画像を30枚用意したよ!内訳はこんな感じ!👇

種類 枚数 内容
顔アップ 10枚 表情を変える(笑顔・驚き・怒り・横顔など)
全身・無地背景 5枚 ポーズを変える
アングル違い 5枚 後ろ姿・歩き・ウィンクなど
ポーズ 6枚 座る・走る・寝そべる・PC作業など
背景あり 4枚 部屋・図書館・路地など

実際に学習用として揃えた30枚の画像一覧がこちらだよ!👇

実際に学習させた30枚
実際に学習させた30枚。顔アップ10/全身5/アングル5/ポーズ6/背景あり4だよ!
⚠️ 超重要な注意点だよ!

同じポーズや同じ正面顔ばかりを集めると、「そのポーズ・その表情でしか描けない融通の利かないLoRA」になっちゃうよ!😱

ポーズ、表情、背景、カメラの寄り引き(アップや全身)は、意図的にバラバラに散らして用意するのが成功の鉄則だよ!

画像に説明文(キャプション)をつける

ここがLoRA作りの中で一番大事な超重要原理だよ!しっかり覚えてね!💡

説明文に書いた要素は、生成するときに「後から自由に変えられる」ようになる!

説明文に書かなかった要素は、「キャラの固定された個性」としてAIに焼き付く!

このルールを使って、今回はこんな風に書き分けをしたよ!

扱い 中身 結果
書いた 表情・ポーズ・構図・背景 後からプロンプトで自由に変更できる!
書かなかった 黒縁メガネ・ヘッドホン・ピンクのパーカー・茶髪のボブ 必ず絵に出てくる(キャラの個性として固定化)!

実際につけた説明文のテキスト(画像と同じファイル名の .txt)はこんな感じだよ!

orzchan, solo, full body, standing, white background, simple background

先頭にある orzchan が、このキャラクターを呼び出すための合言葉(トリガーワード)だよ!

呪文にこの言葉を入れたときだけキャラが召喚されるように設定するんだね!✨


実際の手順

大まかな作業の流れは以下の6ステップだよ!全体の流れをサクッと把握してみてね!🏃‍♀️

  1. 画像30枚と説明文テキストをKaggleにアップロードする
  2. 新しいノートブック(作業画面)を作って、GPUは必ず「T4」を選ぶ(後述の落とし穴①)
  3. 設定画面でインターネット接続をONにする(学習ツールをダウンロードするため)
  4. 学習ツール(kohya版 sd-scripts)と、ベースモデルを用意する
  5. 学習コマンドを実行する
  6. できたLoRAファイル(.safetensors)をダウンロードする

今回実際に使った学習設定パラメータはこれだよ!みんなも真似してみてね!👇

設定項目 設定値 意味・解説
ベースモデル Illustrious-XL v0.1(6.46GB) 土台にするAIモデル。アニメ調の描画が超得意!
画像サイズ 1024×1024 学習させる解像度
繰り返し(Repeats) 1枚につき6回 1周の中で1枚を何回反復するか
エポック数 10 データ全体を何周学習させるか
合計ステップ数 1,800(30枚×6回×10周) 総学習回数(推奨目安は1,500〜3,000)
network_dim / alpha 32 / 16 LoRAのデータ容量と効きの強さ
学習率 1e-4(文章側は5e-5) AIが覚えるときの歩幅(スピード)
最適化(Optimizer) AdamW8bit メモリ消費を抑えてくれる軽量化手法

ここで詰まった:6つの落とし穴

ここからがこの記事のメインディッシュだよ!🔥

私が実際に作業して頭を抱えたトラブルと、その完全な解決法を6連発でお届けするね!😭

① 無料GPUの初期設定のままでは、そもそも動かない

  • 症状:学習を開始して数分で停止。1ステップも進まない。
  • エラー表示:
Tesla P100-PCIE-16GB with CUDA capability sm_60
is not compatible with the current PyTorch installation
  • 原因:Kaggleが最初に自動で割り当てるGPU「Tesla P100」は世代が古く、現在のPyTorch(AIライブラリ)がサポートを打ち切っているため。
  • 対処:ノートブック右側の設定パネル(Session options)で、Accelerator を 「GPU T4」 に変更する。これだけで通るよ!
  • あいちゃんの一言:無料枠の初期設定がそもそも動かないっていう、初っ端からの洗礼でした…😇

② アップロードしたデータが見つからない

  • 症状:学習開始時に「画像 0枚 / 説明文 0件」と出て即座に停止。アップロード自体は成功しているのに認識されない。
  • 原因:現在アップロードしたデータは、以下のようにユーザー名を含む階層に配置されているため。
/kaggle/input/datasets/<ユーザー名>/<データ名>/

ネット上の古い解説記事の多くは /kaggle/input/<データ名> という前提で書かれているため、そのまま指定するとデータを見失ってしまうんだよね。

  • 対処:パスを固定で決め打ちせず、スクリプト内で画像ファイルが入っているフォルダを自動探索する処理にする。
  • あいちゃんの一言:ネットの古い記事のパスをそのままコピペすると、ここで止まっちゃうよ!💦

③ ライブラリのバージョンがぶつかる

  • 症状:学習コマンドを実行した瞬間にエラーで吹き飛ぶ。
  • エラー表示:
A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.2
ImportError: numpy.core.multiarray failed to import
  • 原因:学習ツールが要求する画像処理ライブラリ(opencv)が古いNumPy(1.x系)向けにビルドされていて、Kaggleに入っている最新NumPy(2.0.2)と喧嘩してしまったため。
  • 対処:opencvとnumpyを追加インストールの対象から除外して、Kaggleに最初から入っている安定版をそのまま使う。
  • あいちゃんの一言:「指示通りにパッケージを追加インストールする」と逆に壊れるというトラップでした…!

④ ダウンロードしたモデルが「別物」として扱われる

  • 症状:ベースモデルの読み込み段階で停止。ファイル自体は正常にダウンロードできているのに読み込めない。
  • エラー表示:
_pickle.UnpicklingError: Weights only load failed.
In PyTorch 2.6, we changed the default value of the `weights_only` argument
in `torch.load` from `False` to `True`.
  • 原因:ここが一番ややこしい!HuggingFaceのダウンロード関数が「拡張子付きの名前 ➔ 拡張子なしの実体」という近道(シンボリックリンク)を作っていたのが原因。学習ツールは拡張子だけでファイル形式を判断するから、拡張子のない実体を見て「古い形式だ」と誤認して古い読み込み方をしちゃったんだよね。そして現在のPyTorchは安全上の理由から、その古い読み込み方を拒否する仕様になっているの。
  • 対処:近道(シンボリックリンク)を作らない方法で直接ダウンロードし、実体ファイルそのものに正しい拡張子(.safetensors)をつける。
  • あいちゃんの一言:ファイル名は合っているのに中身の入口が違うという、超高難易度の罠でした…!🕵️‍♀️

⑤ メモリ節約ツールが初期化に失敗する

  • 症状:モデルの読み込みもLoRAの準備も終わったのに、学習が始まる直前でクラッシュ。
  • エラー表示:
CUDA Setup failed despite GPU being available
  • 原因:学習ツールが指定している bitsandbytes(メモリ節約用ツール)のバージョンが古く、現在のKaggle環境でGPU初期化ができなかったため。
  • 対処:バージョン指定を外して最新版の bitsandbytes を再インストールする。このとき --upgrade(更新)オプションを付けないと「もう入っているよ」と判定されて更新されないので要注意!
  • あいちゃんの一言:入れ直したつもりで更新されていなくて、1回空振りしちゃいました😂

⑥ 完成したのに、合言葉が効かないLoRAだった(最も厄介)

  • 症状:エラーは一切出ない。学習は正常に完了し、ファイルもバッチリできる。
    ところが使ってみると、プロンプトに合言葉(orzchan)を入れていないのに、勝手にキャラが出てきちゃう!「金髪・赤いドレスの女性」と指示しても、頼んでいない黒縁メガネとヘッドホンが付いてきてしまう…!😱

エラーが出ないまま失敗するので、実際に使ってみるまで気づけないという点が本当に一番厄介だったんだよね!💦
実際に比較した画像がこちら!👇

同じ指示「金髪・赤いドレス」を出した結果
同じ指示「金髪・赤いドレス」を出した結果。左の失敗版は、頼んでいないメガネとヘッドホンが出てしまう。右が修正版だよ!

なぜこんなことが起きたのかというと、画像生成AIの仕組みに原因があったんだよね!👇

  • 原因:画像生成AIは大きく2つの部品でできているよ。
    • テキストエンコーダー(言葉の意味を数値に翻訳する係)
    • U-Net(その数値を受け取って実際に絵を描く係)

    メモリを節約しようとして、翻訳する係(テキストエンコーダー)の学習をOFFにしていたのが原因だったの。
    そのせいで orzchan という新しい言葉が辞書に登録されず、絵を描く係だけが「最近この絵ばかり描いているな」と体で覚えた状態になっちゃったんだよね。結果、合言葉の有無に関係なく常にキャラの特徴が出てしまっていたんだよ。

  • 対処:翻訳する係も一緒に学習するように設定を変更する!今回の実測比較はこんな感じ!👇
項目 翻訳係を学習しない(失敗版) 翻訳係も学習する(修正版) 差分
必要GPUメモリ 6.77GB 9.19GB +2.42GB
学習時間 68.1分 86.4分 +18.3分
💡 あいちゃんの超重要教訓!

メモリを節約しようとして翻訳係を切っていたんだけど、実際は14.6GB中6.77GBしか使っていなくて、そもそも節約する必要なんて最初から無かったんだよね!😂

LoRAの覚え方まとめ📝
・特定のキャラを呼び出したいLoRA ➔ 翻訳係の学習は必須(合言葉と紐付けるため)!
・全体の絵柄やタッチだけを変えたいLoRA ➔ 常に効いてOKだから、翻訳係を切っても問題なし!

ここが6つの中で一番やっかいなところ。
エラーも出ないし、ファイルもちゃんと完成する。 なのに合言葉が効かない──自力ではまず気づけないタイプの失敗なんだよね。

ちなみに、環境構築をぜんぶ済ませた状態で借りられる有料サービスでも同じLoRAを作ってみたんだけど、この罠だけは向こうにもそのまま残っていたよ。詳しくはこっちの記事で書いているから、気になる人は見てみてね!
👉 ConoHa AI Canvasの実測レビュー|LoRA学習は無料GPUの2.5倍速だった


できたLoRAを検証する

修正版で完成したLoRAのクオリティを徹底検証してみたよ!🔍

効きの強さ(適用ウェイト)の比較

LoRAの強さを0.6〜1.0まで変化させて生成テストを行ってみたよ!

強さ 結果
0.6 髪の色が変わってしまい、キャラの再現度が崩れる
0.7 元絵の特徴を正確に再現!おすすめ(推奨)✨
0.8 元絵の特徴を正確に再現!おすすめ(推奨)✨
1.0 再現はするけど効きすぎ。背景が勝手に暗くなっちゃう

合言葉のテスト

合言葉(orzchan)を入れずに「金髪・赤いドレス」と指示したら、メガネもヘッドホンも一切出なくなったよ!

合言葉が「ON/OFFの切り替えスイッチ」として完璧に機能していることを確認できたよ!🎉

学習素材になかった指示のテスト

学習画像30枚には無かったポーズやシチュエーションを指示してみたよ!

  • 椅子に座ってコーヒーカップを持つ
  • 怒って叫んでいる表情
  • 海辺の砂浜に立っている
  • 夜のネオン街に立っている

これら全部、指示通りにバッチリ描画されたよ!「説明文に書いた要素は後から自由に変えられる」という原理通りの完璧な結果だよ!✨

残っている弱点(正直レビュー)

良いところだけじゃなくて、見つかった課題も正直に書いておくね!

1. 背景を指定すると頭身が伸びることがある
背景ありの学習画像が30枚中4枚しかなかったため、背景を複雑に指定したときに体型の比率が影響を受けやすくなっています。

海辺のカットだけ頭身が伸びている
左下の海辺のカットだけ頭身が伸びているよ。背景ありの学習素材が4枚しかなかったためなんだ💦

2. 暗い場面だと服の色が引きずられる
夜の街などの暗い背景を指定すると、ピンク色のパーカーが黒っぽく沈んでしまう現象が見られました。

3. 元絵の厚塗りの質感までは再現しきれない
元絵が持っていた柔らかい厚塗り感は再現しきれず、ベースモデル寄りのくっきりした輪郭・塗りに寄る傾向があります。

とはいえ、白背景やシンプルな背景でキャラクター単体を描く用途なら、完全に実用レベルの仕上がりだよ!👍


実測データまとめ

今回のKaggleによるLoRA学習で得られた実測データの総まとめだよ!📋

項目 実測値
使用GPU Tesla T4
実際に使用できたGPUメモリ 14.6GB(カタログスペック値16GB)
ピーク時のGPUメモリ使用量 9.19GB(使用率63%)
学習にかかった時間 86.4分
総学習ステップ数 1,800ステップ(30枚×6回×10周)
ベースモデル Illustrious-XL v0.1(6.46GB)
完成したLoRAファイル 81.5MB
画像1枚あたりの生成速度 36秒(1024×1024・28ステップ)
発生した費用 0円

積んでいる14.6GBに対して、実際に使ったのは9.19GB。まだ5GB以上余っていたので、無料枠のGPUでも余裕をもって学習できることが分かったよ!💪✨


で、あなたにできそうですか

最後に、あなたが自力でやるべきかどうかの正直な判定基準をお伝えするね!

  • 今回の6つの落とし穴を見て「原因を調べて対処できそう」「試行錯誤するのが楽しい」と思えた人
    ➔ Kaggleの無料枠で十分に0円で作れるよ!チャレンジしてみて!✨
  • 「英語のエラー画面を見ただけで頭が痛くなる」「とにかく今すぐ思い通りの画像を作りたい」と思った人
    ➔ 環境構築やトラブルシューティングの手間をお金で買う選択肢を検討するのがおすすめだよ!

ここまで読んで「自分でやれそう!」と思った人は、ぜひ挑戦してみてね!この記事の通りにやれば、6つの落とし穴は全部避けられるよ🔥

逆に「この6つを踏む時間がもったいないな…」と感じた人もいると思う。それも正しい判断だよ。

実は同じLoRAを、環境構築ゼロで作れる有料のクラウドGPUでも作って比べてみたんだ。学習時間は2.5倍速(86.4分 ➔ 34分34秒)だったよ!

ConoHa AI Canvas を見てみる

👉 実際に作ってみた記録はこっち:ConoHa AI Canvasの実測レビュー


まとめ

💖 あいちゃんの総評だよ!

・自作キャラのLoRA学習は、Kaggleを使えば完全無料(0円・86.4分)でバッチリ作れちゃう!✨

・必要だったGPUメモリは9.19GB!無料枠のGPUで余裕をもって動いたよ!

・ただし、完成までに6つの落とし穴がありました。無料の代償は「時間と試行錯誤の手間」だよ!

ConoHa AI Canvas を見てみる


ConoHa AI Canvas

みんなも自分の環境や時間と相談しながら、ぜひ自作キャラのLoRA学習に挑戦してみてね!また次の記事で会おうね〜!👋💕

にほんブログ村 ネットブログ ChatGPT・生成AIへ
にほんブログ村
Python&AI
よかったらシェアしてね!
  • URLをコピーしました!

最近の投稿

  • 商用利用できるAI動画生成を、ブラウザだけで動かした|月4,378円のクラウドGPU実測
  • PixAIでLoRAは作れるか|10分・0回エラーだったが「持ち出せない」
  • ConoHa AI Canvasの実測レビュー|LoRA学習は無料GPUの2.5倍速だった
  • 【実測】Nottaは安全か|運営会社・AI学習・情報漏洩を一次ソースで確かめた
  • 【実測】Nottaの無料プランはどこまで使えるか|「1回3分」の正体とAPI・Notion連携
人気記事
  • 【解決】PythonでBadZipFileエラー!「File is not a zip file」が出る4つの原因と対処法
    【解決】PythonでBadZipFileエラー!「File is not a zip file」が出る4つの原因と対処法
    Pythonの罠
  • python-ollama-desktop-mascot
    PC作業を監視されたい!Python×ローカルLLMで「動く・喋る」最強のデスクトップマスコットを作ってみた
    自作コード解説
  • 【完全保存版】APIなしでも物理で殴る!Python×PyAutoGUIでYMM4を完全自動化するツール開発ガイド【全コード公開】
    自作コード解説
  • 【Python】画像100枚の背景削除も一瞬!?最強AIライブラリ「rembg」で「全自動・透過ツール」を作ってみた
    自作コード解説
  • 【ポケモン チャンピオンズ×AI】AIロトムMCPとは?メガシンカ環境のダメージ計算・構築分析をAIで自動化する最強ツール!
    AI情報
目次
にほんブログ村 ネットブログ ChatGPT・生成AIへ
にほんブログ村

カテゴリー

  • AI情報
  • Python&AI
    • 自作コード解説
    • Pythonの罠