PaperspaceでKohya’s GUIを使うにあたって勘違いしてたことなど

AI

どうもイトサル(@itosaru)です。

この記事では私がPaperspaceでKohya’s GUIを使うにあたって勘違いしていたこと、そして躓いたところなどについてお伝えします。

参考にした記事はこちら。

【AIイラスト】kohya版LoRAをpaperspaceで動かす方法【LoRA】
今話題のkohya版LoRAの記事です。少し前までキャラ学習ではDreamBoothを使うことが多かったですが、手軽に出来て配布にも向いているということで、最近ではkohya版のLoRAを用いることが多いようです。LoRAは低VRAMでも出

1. Pythonはローカルストレージを圧迫しなさそう

まずは勘違いしていたこちら。

Kohya’s GUIを使うにあたってPython本体を使うのですが、notebook配下に展開することになります。

notebook配下を使うのでローカルのストレージを使うと思っていたのですが、どうやら使わなさそう。

イトサル
イトサル

理屈はわかりませんがその分ストレージを使わないのはありがたい!

なのでPython本体がストレージを圧迫して料金が発生することはなさそうです。

2.accelerate configのコマンドの実行の仕方

sd-scriptsとKohya’s GUIのプログラムインストール後に実行する「accelerate config」コマンドですが、ipynbファイル上で実行すると思っていましたがエラーに…。

「accelerate config」はTerminalから実行する必要がありそうでした。

PaperspaceでTerminalを実行するための手順はこちら

1.左サイドメニューの「Terminals」をクリック

2.画面左上の[+]をクリック

3.画面下部にターミナル画面が表示される

3.必要なファイルが欠如していた

次は躓きの部分。

インストールしたsd-scriptsにはKohya’s GUIを実行するために必要な「ArgsList.py」というファイルがなぜか抜けており、File not foundのエラーが表示されました。

さすがにファイルがないとどうしようもないのでどうするか調べたところ、Git上にそのファイルが!

ファイルをダウンロード後にPaperspaceにアップロードすることで対応することができました。

その「ArgsList」は下のold-scriptsブランチにあります。(2023/6/17現在)

GitHub - derrian-distro/LoRA_Easy_Training_Scripts at old-scripts
A UI made in Pyside6 to make training LoRA/LoCon and other LoRA type models in sd-scripts easy - GitHub - derrian-distro/LoRA_Easy_Training_Scripts at old-scrip...

4. トレーニング用のフォルダ名に規則があった

さあいざ実行!と意気込んでコマンドを実行したら下のエラーが表示されました。

No data found. Please verify arguments (train_data_dir must be the parent of folders with images) / 画像がありません。引数指定を確認してください(train_data_dirには画像があるフォルダではなく、画像があるフォルダの親フォルダを指定する必要があります)

何度確認してもトレーニング用の画像はアップロードしてるしパスも合っている…なぜだ…。

と改めて使い方を確認したところ、トレーニング用の画像を格納するフォルダ名に命名規則があるそう。

DiffusersベースのDreamBoothについて|Kohya S.
はじめに Stable DiffusionのDreamBoothについて、以前の記事では記事にスクリプトを添付していましたが、新たにgithubのリポジトリを作成しました。そちらを用いた学習について解説する記事です。 リポジトリはこちらです。 スクリプトの主な機能は以下の通りです。 8bit Ada...

「画像の枚数_sls フォルダ名」というようにしたところ無事画像フォルダを認識してくれるようになりました。

例)20枚の画像を使う場合:「20_sls img」

5. メモリを使いすぎ

これでいける!思いきや、実行中にこのようなエラーが

RuntimeError: CUDA out of memory. Tried to allocate 2.99 GiB (GPU 0; 15.90 GiB total capacity; 11.53 GiB already allocated; 2.85 GiB free; 12.19 GiB reserved in total by
PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

どうやらメモリを確保しようとしたらメモリ不足したときに出るエラーのようです。

メモリ不足についてはいくつか要因があると思いますが、思いつくのはこんな感じ。

  • 起動しているマシンのメモリが少ない(16GBないときつい)
  • stable-diffusion WEB UIを起動している(待機でもメモリ使ってます)
  • accelerate launchの「train_batch_size」オプションの数値が大きい(大きくとも2まで)

それらを突破して無事学習できました

私の場合はマシン起動した後に、accelerate launchのtrain_batch_sizeを1、もしくは2で実行したことで無事に学習させることができました!

PaperspaceでのKohya’s GUIの学習で躓いている方の一助になれば幸いです。

また、PaperspaceのProアカウント契約がまだ済んでいない方は、下のURLから登録していただくと、Paperspaceで使える$10分のクレジットがもらえます!

Paperspace
Build and scale ML applications with a cloud platform focused on speed and simplicity.

お得にPaperspaceを始められるのでぜひ使ってくださいね。

コメント

タイトルとURLをコピーしました