「LoRAって何か分からない….」
「LoRAを使用したいけど、使い方が分からない…」
と困っていませんか?
LoRAは「Low Rank Adaptation」の略称であり
使用すると追加学習させることができます。
LoRAは特定の画像生成に特化したモデルになっています。
LoRAの使用例として、特定のアニメキャラを生成したい場合に
Checkpointモデルだけを使用して、アニメキャラの名前や服装などの呪文を入れても
学習されていない場合は生成できません。
そこで
特定のアニメキャラの画像生成に特化したLoRAを
Checkpointと組み合わせることで生成できるようになります。
LoRAは特定のアニメキャラを生成すること以外にも、次のことができます。
・描き込み量を多くする
・画風を変える(ドット絵・カートゥーン風など)
・呪文だけではできない髪型や服装などを生成
上記は一部であり、他にも多くのことができます。
是非記事を参考にしてLoRAを使いこなしてください。
この記事では、LoRAを追加する方法と使い方について解説します。
LoRAを決める

使用したいLoRAをサイトから探しましょう。
おすすめのモデル配布サイトは以下の2つになります。
今回の例では「CIVITAI」のサイトから
メカの画像生成に特化した「A-Mecha Musume A素体机娘」と
「WARFRAME Mecha」の2つのLoRAを使用した方法を解説します。
「CivitAI」でLoRAかどうかを確認する場合は
左上に「LoRA」と記載されています。

右上にある「Filters」をクリックしてから
「LoRA」を選択するとLoRAのみ絞り込むことができます。

LoRAを追加する方法

ここでは、ローカルの方とGoogle Colabを使用している方を分けて追加方法について解説するので
それぞれの環境に合った部分を読んでみてください。
ローカルの場合
「A-Mecha Musume A素体机娘」のリンクにアクセスしてください。
右側にある「ダウンロードアイコン」をクリックしてからファイルをダウンロードしてください。

2つ目のLoRAである「WARFRAME Mecha」のリンクにアクセスしてください。
右側にある「Download」ボタンをクリックしてファイルをダウンロードしてください。

ダウンロードした2つのLoRAファイルは
「stable-diffusion-webui/models/Lora/」の中に入れると追加できます。
Google Colabの場合
LoRAを追加するために、ダウンロードURLをコピーしましょう。
「A-Mecha Musume A素体机娘」のリンクにアクセスしてください。
右側にある「ダウンロードアイコン」をクリックしてください。
「Model SafeTensor」の場所で右クリックしてください。

Google Chromeの場合は、「リンクのアドレスをコピー」をクリックすると
ダウンロードURLをコピーできます。
コピーしたダウンロードURLは、Google Colab内のコードで使用するのですが
「A-Mecha Musume A素体机娘」の追加するコードを後に記載しているので
コピーしなくてもいいです。

2つ目のLoRAである「WARFRAME Mecha」にアクセスしてください。
「Download」ボタンの場所で右クリックしてから
「リンクのアドレスをコピー」を選択するとダウンロードURLをコピーできます。
「WARFRAME Mecha」のLoRAも、
後で追加するコードを載せているのでコピーする必要はありません。
別のLoRAを使用する方は、そのLoRAのダウンロードURLをコピーしておいてください。

LoRAのコードを追加する
Google Colabのコード内で、LoRAを追加するコードを作成します。

LoRAを入れる場合は
LoRAを入れるためのディレクトリ(フォルダ)を
先に作成するコードを入力しておく必要があります。
ですから
LoRAモデルを入れる前に
「/Lora」のディレクトリ(フォルダ)を作成してくれる、以下のコードをコピペしてください。
%mkdir -p /content/stable-diffusion-webui/models/Lora/
上記のコードを入れた後に、Loraのコードを入れることで使用することが出来ます。
上記のコードを入れないと
コードを実行した時に「No such file or directory」のエラーが表示されて
LoRAのファイルが入らないので必ず入れるようにしましょう。
次に、コピーしたダウンロードURLを
以下にある(ダウンロードURL)の部分を削除してからペーストしてください。
!wget (ダウンロードURL) -O /content/stable-diffusion-webui/models/Lora/mecha_musume.safetensors
「A-Mecha Musume A素体机娘」のLoRAのダウンロードURLをペーストした場合は
以下のようになります。
以下のコードをコピペすると、「A-Mecha Musume A素体机娘」のLoRAを追加できます。
!wget https://civitai.com/api/download/models/97207 -O /content/stable-diffusion-webui/models/Lora/mecha_musume.safetensors
2つ目のLoRAである、「WARFRAME Mecha」のダウンロードURLをペーストした場合は、以下の赤字のようになります。
以下のコードをコピペすると、「WARFRAME Mecha」のLoRAを追加できます。
!wget https://civitai.com/api/download/models/57208 -O /content/stable-diffusion-webui/models/Lora/warframe_mecha.safetensors
Checkpointモデルでは、「Stable-diffusion/」の中にファイルを入れるのですが
LoRAの場合は、「Lora/」の中にファイルを入れるようにしないと
追加されないのでしっかり確認しましょう。
以下の画像ように
コード内にLoRAを入れるためのディレクトリ(フォルダ)作成のコードを入力してから、
その後に、LoRAを追加するコードを入力してください。
左にある「実行」ボタンをクリックして、「Stable Diffusion Web UI」を起動してください。

上の画像にある全てのコードは以下に貼っているのでコピペして参考にしてください。
!pip install -q torch==2.0.0+cu118 torchvision==0.15.1+cu118 torchaudio==2.0.1+cu118 torchtext==0.15.1 torchdata==0.6.0 --extra-index-url https://download.pytorch.org/whl/cu118 -U
!pip install -q xformers==0.0.19 triton==2.0.0 -U
#automatic1111 stable diffusion web uiのダウンロード
!git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
%cd /content/stable-diffusion-webui
#Civitaiからany loraのモデルをダウンロード
!wget https://civitai.com/api/download/models/95489 -O /content/stable-diffusion-webui/models/Stable-diffusion/anylora.safetensors
#Loraモデルを入れるためのディレクトリの作成
%mkdir -p /content/stable-diffusion-webui/models/Lora/
#CivitaiからA-Mecha Musume A素体机娘のモデルをダウンロード
!wget https://civitai.com/api/download/models/97207 -O /content/stable-diffusion-webui/models/Lora/mecha_musume.safetensors
#CivitaiからWARFRAME Mechaのモデルをダウンロード
!wget https://civitai.com/api/download/models/57208 -O /content/stable-diffusion-webui/models/Lora/warframe_mecha.safetensors
#stable diffusion web uiの起動
!python launch.py --share --xformers --enable-insecure-extension-access
LoRAモデルの使い方

LoRAを使う場合は
プロンプト内にLoRAを追加すると使用できます。
左上にある「Stable Diffusion checkpoint」からLoRAを使用できません。
こちらはCheckpointモデルのみ選択できる場所となっています。

LoRAを使用方法は
プロンプト内を1度クリックしてから「Lora」を選択してください。

以下の画像のように、追加したLoraが一覧で表示されます。
「A-Mecha Musume A素体机娘」と「WARFRAME Mecha」のLoRAを追加している場合は
2つのLoRAがあります。
この例では、「A-Mecha Musume A素体机娘」である「mecha_musume」を選択します。
プロンプト内に「A-Mecha Musume A素体机娘」のLoRAが追加されます。
通常のLoRAは、これで適用できます。
ですが、「A-Mecha Musume A素体机娘」のLoRAでは
これ以外にも「トリガーワード」と呼ばれるキーワードを入れないと反映されません。

LoRAによっては
プロンプト入力場所に「トリガーワード」も入れないと
LoRAが反映されない場合があります。
トリガーワードを入れる必要があるのかどうかは、
使用するLoRAの説明欄に、トリガーワードを追加するように記載されているので
必ず確認するようにしましょう。
何も記載されていない場合は、LoRAのみで反映されます。
以下の画像は、CivitAIにある「A-Mecha Musume A素体机娘」モデルの説明欄なのですが
「Trigger Words:」の後に記載されているキーワードも入力すると、
LoRAが反映するようになっています。

ですから、以下の画像のようにプロンプト入力場所には、
トリガーワードがある場合に入れるようにしてください。
これで「A-Mecha Musume A素体机娘」のLoRAが適用されます。

以下は画像生成した結果になります。
「A-Mecha Musume A素体机娘」のLoRAを使用して画像生成できています。

LoRAの影響度(パラメータ)を調整する

Loraでは影響度(パラメータ)を調整する設定場所があります。
以下の画像にあるとおり
<lora:mecha_musume:0.5>のように、「1」→「0.5」に変更したりLoRAの影響を調整できます。
小さくするほどLoRAの影響が弱くなり、大きくするほど強くなります。
LoRAによっては、マイナス数値があったりします。

CIVITAIにある「A-Mecha Musume A素体机娘」の説明欄では、「1〜1.5」くらいを推奨しています。
説明欄では、どのくらいの数値に設定した方がいいのか目安として記載されている場合があるので確認しましょう。

以下の画像は、「A-Mecha Musume A素体机娘」モデルの数値を「0.5」「1」「1.5」で生成して比較した結果になります。
数値が大きくなるほど、LoRAの影響が強くなってメカな感じが増しています。
参考にして数値を調整してみてください。

LoRAによっては、「2」以上でも品質が悪くならない場合がありますから
説明欄を確認したり試行錯誤してみてください。
LoRAを複数使用する

LoRAは1つだけでなく、2つ以上組み合わせて使うこともできます。
この例では、「A-Mecha Musume A素体机娘」と
もう1つのLoraである「WARFRAME Mecha」を追加して、複数使用する方法を解説します。

プロンプト内を1度クリックしてから、「LoRA」を選択します。

「mecha_musume」と「warframe_mecha」を選択して、
2つのLoRAをプロンプト内に追加します。
「A-Mecha Musume A素体机娘」のLoRAはトリガーワードも入力します
「warframe_mecha」はトリガーワードがないため、
これだけで適用されているので画像生成しましょう。

以下の画像では、2つのLoRA数値を「0.5」「1」「1.5」にして生成した結果になります。
組み合わせることによって、かっこいい感じに画像生成できました。
上手く複数のLoRAを組み合わせるとクオリティを高くできるので、上手く活用してみてください。

「warframe_mecha」の説明欄では
おすすめのプロンプト内容が記載されているので
参考にして画像生成するといいでしょう。

まとめ

LoRAの使い方について解説しました。
LoRAを使用すると、次のことができます。
・描き込み量を増やせる
・画風を変える
・特定のアニメキャラにする
Lora数値を小さくすると影響を弱めることができ
大きくしすぎると逆に品質が悪くなったり
人物ではない訳の分からない物になったりするので
最大でも「1.5」以下くらいの範囲内で合わせるといいでしょう。
上手くLoRAを複数使用することで
さらに高品質な仕上がりになるので
試行錯誤して自分なりに良いと思った組み合わせを探してみてください。
以下の記事では、リアル風とアニメ風どちらも使えるおすすめのLoRAについて
紹介しているので良ければ読んでみてください。