見出し画像

VRAM 4GBではじめるStable Diffusion - ゲーム素材を作ろう7 キャラを学習させる

 この草稿は、VRAM 4GB環境下で『Stable Diffusion』を利用して、ローカルでの画像生成をするためのものです。生成する画像はファンタジー系の同人ゲーム/インディーゲームの画像素材です。この草稿は、2023年の2月下旬~3月上旬にかけて執筆されました。

 草稿をまとめて大幅増補したものを電子書籍で出しました。VRAMがなくても、Google Colabでも大丈夫なように対応しています。『Kindle Unlimited』ユーザーの方は無料で読めます。是非読んでください。

 この草稿では『Stable Diffusion』の簡単な解説をおこない、『AUTOMATIC1111版 Stable Diffusion web UI』の導入や使い方について説明します。また「背景」「キャラクター」「アイテム」「絵地図」「UI部品」といった画像素材の作成方法を説明します。

 この草稿は、私が2022~2023年に、同人ゲーム『Little Land War SRPG』を開発した時の知見を中心にまとめたものです。こちらも購入して遊んでいただけると幸いです。


本章の概要

 本章では「キャラクターの学習」を扱います。

 数枚の元絵を元にキャラクターを学習させて、同じキャラクターの画像を出力する方法を見ていきます。

 以下、本章の目次です。

  • キャラクターの学習

  • Web UIでのLoRAの利用

  • 学習の準備

    • 学習用の画像

    • 正則化用の画像

  • Google Colabでの学習

    • ノートブックのコピー

    • ランタイムのタイプを変更

    • I. Install Kohya Trainer

    • II. Pretrained Model Selection

    • III. Data Acquisition

    • IV. Data Preprocessing

    • V. Training Model

    • 学習済みファイルの保存

  • 実際に学習した出力を見る


キャラクターの学習

 特定のキャラクターを出力するための方式はいくつかあります。本原稿を書いている時点で、もっとも使いやすい追加学習の方式は『LoRA』(Low-rank Adaptation for Fast Text-to-Image Diffusion Fine-tuning)です。

cloneofsimo/lora: Using Low-rank adaptation to quickly fine-tune diffusion models.
https://github.com/cloneofsimo/lora

 『LoRA』のファイルを使えば、元の学習モデルに変化を与える数MB~百数十MBのファイルを用意するだけで出力画像をコントロールできます。学習方式の中には、元の学習モデルと同じファイル サイズ(数GB)になるものも多いので、この軽量さは大きな利点です。

 また『LoRA』は学習時間も比較的短く、非力なマシンでも学習をおこなうことができます。さらに複数のファイルを読み込んで、キャラクターを合成するといったことも可能です。『LoRA』のファイルは拡張子「.safetensors」のように、通常の学習モデルと同じファイル形式です。

 このように便利な『LoRA』ですが、VRAM 4GBのマシンで使うには注意が必要です。利用することはできますが、学習させることはできません。VRAM 6GB以上が必要です。本当は12GB以上あった方がよいです。いずれにしても、VRAM 4GBのマシンではローカルでは学習できません。ただし『Google Colab』を使えば、ローカルに低VRAMの環境しかなくても学習可能です。2023年4月21日より前は無料枠で利用できていましたが、21日以降は有料枠でなければ使用できなくなりました。とはいえ1ヶ月あたり1000円程度と安いので、新しいグラボを買うよりはよいでしょう。

 本章では、まず『Web UI』での『LoRA』の利用方法を書いたあと、『Google Colab』での学習方法を書いていきます。


Web UIでのLoRAの利用

 『Web UI』では、以下のフォルダにファイルを置いて、コマンド プロンプトの『Web UI』を閉じて再起動します。

<インストール先>/models/Lora/

 次に「Generate」ボタンの近くにある「花札」アイコンのボタンをクリックします。ボタンにマウスオーバーすると「Show extra networks」と出るボタンです。

 いくつかタブが現れますので「Lora」タブをクリックします。配置した『LoRA』ファイルが出てきます。その中で、利用するものをクリックすると、「Prompt」に「lora:chr:1」のようなタグが追加されます。このタグの「chr」の部分が利用するファイルの名前で、「1」の部分が影響の強さです。学習した画像に引っ張られすぎる場合は「 lora:chr:0.6」のように弱くするとよいです。

 『LoRA』利用のタグを追加したあと、学習させたフレーズと、その他のフレーズを書いてこれまでと同じように画像を生成します。ここでは「chr」という独自の単語でキャラクターを学習したとします。その場合は、以下のように書いて画像を生成します。

<lora:chr:1> chr girl

 「chr girl」の「chr」は学習させた新しい単語です。ファイル名ではないので注意が必要です。

 また、今までのように他のフレーズを追加して使うこともできます。

<lora:chr:1> chr girl,
long white dress,
in town,

 『Web UI』での『LoRA』の利用は簡単です。実際に出力できるかどうかは、何らかの『LoRA』ファイルを導入して試してみるとよいです。

 出力だけをおこなうなら、画像AI系のサイトで「LoRA」で検索して、何らかのモデルをダウンロードして使ってみるとよいです。配布されているデータには著作権的に問題のあるものもありますので個人利用の範囲内で実験するのがよいです。

Civitai | Stable Diffusion models, embeddings, hypernetworks and more
https://civitai.com/

 たとえば上記のサイトの『LoRA』ファイルのところには「Trigger Words」が書いてあります。「 lora:chr:1」のようなタグでモデルを読み込むだけでは駄目で、このトリガー単語を呪文に含めることで学習したデータが適用されます。


学習の準備

 キャラクターの学習をおこなうには、まずは画像を用意しなければなりません。最低限必要なのは学習用の画像です。また、通常は正則化画像も用意します。正則化画像は、なくてもどうにかなります。後述しますが、特定のキャラを明確に出すには、正則化画像なしの方が上手くいきました。

 また、学習させる概念名を決めておく必要があります。この名前は『Stable Diffusion』で使える単語「以外」にする必要があります。よくある方法は、母音を抜いた子音だけの3文字の組み合わせです。「sakura」という名前のキャラクターなら「skr」と書きます。重要なのは、既に概念がある単語に被らないことです。学習した単語は、画像生成時にはキャラクターを呼び出すのに利用します。

 VRAM 4GB環境では学習ができませんので、学習には『Google Colab』を利用します。そのためGoogleのアカウントが必要です。これは、ふつうの人なら持っていると思いますので特に方法は書きません。

学習用の画像

 同じキャラクターの異なる画像を複数枚用意します。4~5枚あれば学習できます。数が多いほど精度はよくなりますが、学習時間がかかるようになります。あまり学習時間が長いと『Google Colab』はタイムアウトします。まずは4~10枚程度から初めて、実行時間と画像生成結果を見ながら必要なら数を増やすとよいでしょう。

 今回の例として学習させるキャラクター画像は、『VRoid Studio』で作成しました。3Dでキャラクターを作り、画像を出力できるソフトを使えば、多くの種類のアングルの画像を短時間で得ることができます。

VRoid Studio
https://vroid.com/studio

 以下に、今回の例として学習させる画像を掲載します。実際には合計8枚の画像を用意しています。

 背景は単色にして、サイズは512の正方形にしています。

 こうした画像を「chr1_train」というフォルダに入れて「chr1_train.zip」という名前のZIPファイルに圧縮しました。

正則化用の画像

 学習では、概念名(concept name)と分類名(class name)を指定して学習をおこないます。たとえば概念名が「chr1」で、分類名が「girl」とします。この単語の設定で、学習用画像を学習した場合には「chr1」と「girl」の単語が、学習用画像の内容に影響を受けます。

 AIには「chr1」がどういったものなのか分かりません。そのため「girl」の概念を表す正則化画像を用意しておき、学習用画像で学習した内容から、正則化画像で学習した内容を削ります。そうすることで、「chr1」の内容のみを学習したデータが作らます。

 つまり、学習用画像から「girl」の成分を引いて、「chr1」の成分のみを抽出するわけです。こうすることで学習の精度が上がります。

 この正則化画像ですが「使わない」「透明の画像を使う」「きちんと作成して使う」という3つの手法がネットで見られます。私自身が実験した結果、「使わない」「透明の画像を使う」は、強くキャラが反映されましたが、「きちんと作成して使う」の場合は、低い確率でしかキャラが反映されませんでした。

 キャラクターを学習させるという目的からすると「使わない」のがよいです。

 上記のような結果になりましたので本稿では正則化画像を使いません。以下は正則化画像を用意したい人だけ読み進めてください。

 「透明の画像を使う」場合は、正方形512ピクセルの透明PNGファイルを、学習用画像と同じ枚数用意します。

 「きちんと作成して使う」場合は、学習用画像の5倍ぐらいの枚数があれば大丈夫という意見が多いです。学習用画像を8枚にするならば、正則化画像を40枚ぐらい用意すればよい計算になります。

 正則化画像は『Web UI』で作れます。「girl」という呪文(分類名になる単語)で画像を生成して、必要な枚数用意すればよいです。同じような画像ばかり用意するのではなく、なるべく多様性があるようにした方がよいです。

 以下、実際に生成した中から4枚を示します。


Google Colabでの学習

 『LoRA』での学習を自分で全て準備するのは大変です。先人が用意してくれたプログラムを利用させてもらうのがよいです。『Google Colab』には他人が作ったプログラム(ノートブック)を利用する機能があります。こうしたプログラムを利用して『LoRA』での学習をおこないます。

実行について

 以降の説明で「実行」と書いてある場合は、『Google Colab』の各項目(セルと呼ばれる)の左端にある「実行ボタン」(右向き三角形のボタン)をクリックしてください。実行ボタンを押すと、ボタンを囲う丸がぐるぐると回ります。

 実行をおこなう時は、少しだけ注意が必要です。他のセルを選択している時に実行ボタンを押すと、一度目のクリックでセルの選択がおこなわれ、二度目のクリックで実行がおこなわれます。実行したつもりで実行されていないことがありますので、きちんと実行されているか目視で確かめてください。

パスについて

 『Google Colab』で現在利用しているファイルは、『Google Colab』の左端にあるフォルダ アイコンをクリックして、ファイル ツリーを開けば確認できます。

 展開したファイル ツリーのパスを得たい時は、当該ファイルを右クリックして、メニューから「パスをコピー」を選択します。

 このファイル ツリーの更新にはタイムラグがあります。何かファイルをアップロードした時は、数秒から数十秒してから表示されるので注意してください。更新されない場合は、ファイル ツリーを右クリックして「更新」を選択してください。


ノートブックのコピー

 ここでは『Kohya LoRA Dreambooth』を利用します。以下の『GitHub』のページで「Kohya LoRA Dreambooth」の「OPEN IN COLAB」ボタンをクリックすると、次のURLの『Google Colab』のページが開きます。

Linaqruf/kohya-trainer: Adapted from https://note.com/kohya_ss/n/nbf7ce8d80f29 for easier cloning
https://github.com/Linaqruf/kohya-trainer

kohya-LoRA-dreambooth.ipynb - Colaboratory
https://colab.research.google.com/github/Linaqruf/kohya-trainer/blob/main/kohya-LoRA-dreambooth.ipynb

 『Google Colab』のページが開いたら、上部メニューの下にある「ドライブにコピー」をクリックします。内容が自分のGoogleアカウントにコピーされます。

 コピーしたページは、『Google Colab』上部メニュー「ファイル」の「ノートブックを開く」から開けます。以降の操作は、このコピーしたノートブック上でおこないます。

 「Linaqruf/kohya-trainer」は、章立てや項目名、内容が変わることがあります(実際に、本稿を書いている数日で変わりました)。以降の説明で違うことがあれば、適宜読み換えて作業してください。


ランタイムのタイプを変更

 まずはGPUを利用できるようにします。

 画面上部メニューの「ランタイム」から「ランタイムのタイプを変更」を選択します。「ノートブックの設定」ダイアログが開きますので、「ハードウェア アクセラレータ」を「GPU」にして「保存」をクリックします。

 GPUが利用できない場合は、深夜か早朝に利用してください。


I. Install Kohya Trainer

 まずは「I. Install Kohya Trainer」の操作です。『Kohya Trainer』のインストールや実行環境の準備をおこないます。『Kohya Trainer』自体は、以下になります。

kohya-ss/sd-scripts
https://github.com/kohya-ss/sd-scripts

1.1. Install Dependencie

 インストールをおこなうセルです。

 「mount_drive」をチェックします。チェックすると『Google Drive』をマウントします。学習したモデルを『Google Drive』に保存するにはチェックが必要です。『Google Colab』は、いつのまにかタイムアウトすることが多いので『Google Drive』に保存した方がよいです。

 その他の設定はそのままで実行します。このセルの実行は2~3分ほどで終わります。

1.2. Open Special File Explorer for Colab (Optional)

 ファイルを操作するExplorerを表示するセルです。使わないので無視します。


II. Pretrained Model Selection

 「II. Pretrained Model Selection」の操作です。学習モデルを選択します。『LoRA』での学習は、特定の学習モデルに対しておこないます。そのため、どの学習モデルに影響を与えるのかを選ぶ必要があります。

2.1. Download Available Model

 利用可能なモデルをダウンロードするセルです。今回は『Stable Diffusion』1.5の学習モデルを利用します。別のモデルを選択する場合は、以降の説明を適宜置き換えてください。

 「SD1.x model」の「modelName」で「Stable-Diffusion-v-1-5」を選択します。

 実行すると、20秒ほどで終わります。

2.3. Download Available VAE (Optional)

 「VAE」を利用する場合は選択します。利用しなくてもよいです。

 今回は「vaeName」で「stablediffusion.vae.pt」を選択します。

 実行すると2~3秒で終わります。


III. Data Acquisition

 「III. Data Acquisition」の操作です。学習用画像をセットします。

3.1. Locating Train Data Directory

 学習用画像データを配置する場所や、学習用データの設定をおこなうセルです。

 「parent_directory」はデータ操作先になるディレクトリのパスです。デフォルトは「/content/LoRA/train_data」です。変更する必要はありません。

 「concept_name」(概念名)と「class_name」(分類名)は設定する必要があります。

 「concept_name」に学習させたい単語を入力します。ここでは例として「chr1」と入力します。「class_name」は学習モデルに既にある大きな分類の単語を指定します。ここでは「girl」にします。「chr1」が少女でない場合は、適切な単語に置き換えます。

 実行すると0秒で終わります。

3.2. Unzip Dataset

 学習用画像の入ったZIPファイルを解凍するセルです。このセルを実行する前に、学習用画像が入ったZIPファイルをアップロードしておく必要があります。

 今回は「chr1_tarin.zip」を『Google Drive』の「マイドライブ」直下にアップロードしているものとします。

 このセルの「zipfile_url」に「/content/drive/MyDrive/chr1_train.zip」と入力します。上記の「chr1_tarin.zip」のパスです。

 「unzip_to」は空のままでよいです。「unzip_to」が空の場合は、自動的に適切な場所に展開されます。

 実行すると0秒で終わります。

 今回の操作では「/content/LoRA/train_data/10_chr1 girl」に画像が展開されます。「10_chr1 girl」の「10」は「train_repeats」の値、「chr1」は「concept_name」の文字列、「girl」は「class_name」の文字列です。

 『Kohya Trainer』ではこうしたディレクトリの名前を元に、設定を読み取り学習をおこないます。『Linaqruf/kohya-trainer』では、ディレクトリの名前を自動で付けて学習用画像を展開してくれます。

3.3. Image Scraper (Optional)

 booruサイトから画像スクレイピングをするセルです。こちらは無視します。


IV. Data Preprocessing

 「IV. Data Preprocessing」の操作です。データの事前処理をおこないます。

4.1. Data Cleaning

 学習用画像に、不要なファイルが入っている場合は削除してくれるセルです。不要なファイルが入っていると学習は失敗します。正しく用意できている場合は操作の必要はありません。

 無視します。

4.2. Data Annotation

 学習用画像に対して、画像キャプションや画像タグを自動で付ける項目です。いくつか種類があり、いずれかを実行します。

4.2.2. Waifu Diffusion 1.4 Tagger V2

 以降の「5.3. Dataset Config」で「caption_extension」を「.caption」にした場合は必要です。実行した場合は1分程度で終わります。

 無視します。

4.2.2. Waifu Diffusion 1.4 Tagger V2

 以降の「5.3. Dataset Config」で「caption_extension」を「.txt」にした場合は必要です。実行した場合は1分程度で終わります。

 実行します。

4.2.3. Custom Caption/Tag (Optional)

 自分で手動でタグ付けをする場合のセルです。

 無視します。


V. Training Model

 「V. Training Model」の操作です。学習用の最後の設定です。

5.1. Folder Config

 各種フォルダの設定です。

 使用する学習モデルが2系なら「v2」にチェックを入れます。さらに、その学習モデルが768サイズの場合は「v_parameterization」にもチェックします。今回は、いずれにもチェックを入れません。

 「project_name」は「chr1」にします。

 「pretrained_model_name_or_path」はダウンロードした学習モデルのパスです。今回は1.5のモデルをダウンロードしました。そのため「/content/pretrained_model/Stable-Diffusion-v1-5.safetensors」を入力します。

 「vae」はダウンロードした「VAE」のパスです。今回は「/content/vae/stablediffusion.vae.pt」を入力します。

 「output_to_drive」にチェックを入れます。ここにチェックをすると、生成した『LoRA』ファイルを、Googleドライブに保存してくれます。

 実行すると0秒で終わります。

正則化画像のアップロード

 「5.1. Folder Config」の「reg_folder_directory」は正則化画像の置き場所です。ここでは「/content/LoRA/reg_data」になっています。

 ここまでの操作をしていると「/content/LoRA/reg_data/1_girl」というフォルダができています。正則化画像を使う場合は、このフォルダに正則化画像をアップロードします。アップロードは、フォルダを右クリックしてメニューを開き、「アップロード」を選択するとおこなえます。

 今回は正則化画像を使わないので無視します。

5.2. LoRA and Optimizer Config

 『LoRA』や最適化の設定をおこなうセルです。

 「network_dim」の初期値は「128」、「network_alpha」の初期値は「128」になっています。そのままでもよいですし、変更してもよいです。

 「network_dim」は『LoRA』の次元数です。数字が大きいほど表現力は高くなりますが、学習に必要なメモリーと時間は増大します。元プログラムのドキュメントにあるデフォルト値は4なので「4」を入力します。「network_alpha」は安定したトレーニングのためにアンダーフローを防ぐための値です。元プログラムのドキュメントにあるデフォルト値は1なので「1」を入力します。

 今回は「network_dim」を「4」、「network_alpha」を「1」にします。

 「network_weights」は、追加学習で必要になる項目です。『LoRA』の学習では、一度生成した『LoRA』ファイルに対して追加学習をおこなえます。そのため少しずつ学習ステップを増やして、想定の結果が得られたら学習を打ち切ることができます。

 「network_weights」は初回では空文字にします。そして追加学習をおこなう2回目以降は「/content/drive/MyDrive/LoRA/output/chr1.safetensors」にします。「chr1.safetensors」は今回の設定でのファイル名です。設定を変更した場合は別のパスになります。このパスは『Google Drive』に保存した場合のパスです。『Google Drive』上では「マイドキュメント」の「LoRA/output/chr1.safetensors」になります。

 『Google Colab』がタイムアウトした場合でも、翌日などに『Google Colab』のノートブックを開き、それまでに学習したファイルを「network_weights」のパスに置いて学習を再開できます。

 学習後、このパスのファイルは「上書き」されるので、必要ならバックアップを取っておいてください。

 このセルは実行すると0秒で終わります。

5.3. Dataset Config

 学習用画像のデータ セットの設定をおこなうセルです。

 「caption_extension」は「.txt」にします。

 学習の効果を上げるために「caption_dropout_rate」を「0.1」、「caption_dropout_every_n_epochs」を「1」にしておきます。「caption_dropout_rate」はもっと大きな値でもよいかもしれません。

 「4.2. Data Annotation」で、画像に対して自動でタグ付けをおこないました。このタグを、ランダムで脱落させる設定です。こうすることで様々な単語の組み合わせで学習できます。

 実行すると0秒で終わります。

5.4. Start Training

 「lowram」にチェックが入っていることを確認してください。少ないメモリーでも動作するようにする設定です。

 「max_train_type」が「max_train_epochs」になっているはずです。この場合、直下の「max_train_type_value」が「20」という設定は、トレーニングするエポック数(世代数)が20であることを意味します。この数が多いほど、多くの学習をおこない、終了までの時間がかかります。

 1回目の実行は、実行時間を確かめるために「5」にしておきます。これまでの設定で5エポックなら、終了までの時間は4分ほどになります。

 1回目を出力したあと、「5.2. LoRA and Optimizer Config」の「network_weights」に「/content/drive/MyDrive/LoRA/output/chr1.safetensors」と入力して追加学習をおこないます。その際に「10」「20」と徐々に増やしていくとよいです。

 「save_n_epochs_type」はデフォルトの「save_every_n_epochs」のままにして、直下の「save_n_epochs_type_value」を「1」にします。こうすると、エポックごとに連番で経過ファイルを保存してくれます。このファイルは、そのまま学習済みファイルとして使えます。

 こうしておくと『Google Colab』がタイムアウトで終了しても、経過が『Google Drive』に保存されます。

 いよいよ学習の開始です。このセルを実行します。「max_train_type_value」が「5」なら4分ほどで終わります。学習する画像や正則化画像の枚数が多いと、もっと時間がかかるでしょう。


学習済みファイルの保存

 『Google Colab』のファイル ツリーから「/content/drive/MyDrive/LoRA/output/chr1.safetensors」を選択してダウンロードします。

 あるいは『Google Drive』の「マイドキュメント」から「LoRA/output/chr1.safetensors」を選択してダウンロードします。

 このファイルを『Web UI』の以下のパスに配置して、『Web UI』のコマンド プロンプトを再起動すれば、学習した内容が利用できます。

<インストール先>/models/Lora/


実際に学習した出力を見る

 ここでは、正則化画像を使わず、エポック数合計45、学習ステップ合計3600で生成した画像を示します。学習時間は40分前後です。

 エポック数、学習ステップ数が少なくても、ある程度効果はあります。私が実験したところ、エポック数合計35,学習ステップ合計2800から元画像が強く反映されました。それ以前は、今回のキャラクターの特徴であるメガネがない画像が生成されることが25~50%の確率でありました。学習ステップが2500以上あった方がよいのでしょう。

 また、学習用画像の背景に様々な景色の写真を置いておくと、背景生成時にノイズが入りやすく多様な背景が生成されました。今回のように背景が単一色の場合は、生成される画像も単一色の背景が多くなります。ゲームで使用する画像によって、使い分けるとよいでしょう。

 まずは単純な出力です。以下は呪文です。

<lora:chr1_no_reg_epoch45_step3600:1> chr1 girl

 以下は出力した画像です。長髪でメガネを掛けています。学習内容が反映されているのが分かります。ただ、画像の質は非常に悪いです。

 色々と呪文を追加して、出力画像の質を上げてみましょう。以下が呪文です。

<lora:chr1_no_reg_epoch45_step3600:1>,
masterpiece, best quality, concept art, extremely detailed,
kawaii (chr1:0.9) girl,
(medium shot:1.5),
beautiful perfect symmetrical face,
small nose and mouth, aesthetic eyes,
sharp focus, realism, 8k,
(style of granblue fantasy:1.1),
(style of genshin impact:0.9),
(style of renaissance:0.7),
(style of gothic:0.6),
(style of high fantasy:0.5),
artstation, deviantart, pixiv ranking 1st,
bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, missing fingers, bad hands, missing arms, long neck, Humpbacked, shadow, flat shading, flat color, grayscale, black&white, monochrome,

 以下は出力です。かなりクオリティが上がりました。

 次に絵柄と服を変えてみます。以下は呪文です。「Negative prompt」は共通です。

<lora:chr1_no_reg_epoch45_step3600:0.6>,
(watercolor ink:1.7), (oil painting:1.3), (ink: 1,.2), (bold line painting:1.2),
masterpiece, best quality, concept art, extremely detailed,
beautiful kawaii chr1 glasses girl (in town:1.9),
(ethnic costume Hmong:1.1)
(medium shot:1.5),
(below view:1.3),
(smile:1.5),
small nose and mouth, aesthetic eyes,
sharp focus, realism, 8k,
(style of granblue fantasy:1.1),
(style of genshin impact:0.9),
(style of renaissance:0.7),
(style of gothic:0.5),
(style of high fantasy:0.5),
(artstation:1.2), (deviantart:1.2), (pixiv ranking 1st:1.2),

 以下は出力です。「(in town:1.9)」は指示に従っていないですが、「(ethnic costume Hmong:1.1)」は指示に従っています。呪文の調整が難しいですが、キャラクターはきちんと学習に沿ったものが生成されています。


(続く)

全体目次

  • 第1章 環境構築

  • 第2章 基礎知識

  • 第3章 呪文理論

  • 第4章 背景画像の生成

  • 第5章 キャラクター画像の生成

  • 第6章 キャラにポーズを付ける

  • ★★★第7章 キャラを学習させる★★★【今ここ】

  • 第8章 武器や道具の生成

  • 第9章 絵地図の生成

  • 第10章 UI部品のテクスチャの生成


※ 草稿をまとめて大幅増補したものを電子書籍で出しました。VRAMがなくても、Google Colabでも大丈夫なように対応しています。『Kindle Unlimited』ユーザーの方は無料で読めます。是非読んでください。


この記事が気に入ったらサポートをしてみませんか?