Skip to content

Releases: nzm365/puni-gen

v1.2.1 — 生成した画像に LoRA を記録

Choose a tag to compare

@nzm365 nzm365 released this 30 Aug 04:17
d4b8018

修正

v1.2.0 で LoRA に対応した際、生成条件の記録側を更新し忘れていました。
PNG に埋め込む情報に LoRA が入っておらず、履歴から作り直すと別の絵になる
ことがありました。

PuniGen は「同じ設定・同じ seed なら同じ絵が出る」ことを前提に履歴からの再操作を
組み立てています。LoRA は絵を大きく変える(同じ seed でも 92〜100% の画素が変わる)
ため、記録が無いと再現できていませんでした。

  • 使った LoRA を画像に記録します。変分・拡大でも引き継ぎます
  • 履歴から「少しだけ変える」を実行すると、その画像が使っていた LoRA を当ててから
    生成します。これまではそのとき選ばれている LoRA を使っていたため、
    画面の設定次第で結果が変わっていました
  • 生成情報に lora: 名前(強度) の行が出ます
  • A1111 系が読む情報にも <lora:名前:0.8> を含めました

v1.2.0 より前に作った画像には記録が無いので、LoRA 無しとして扱います。
これまでどおり動きます。

更新方法

依存の変更はありません。setup.bat の再実行は不要です。
ファイルを差し替えて start.bat でそのまま動きます(v1.2.0 では再実行が必要でした)。
v1.1.0系からアップデートする場合は setup.bat の再実行が必要です。

Full Changelog: v1.2.0...v1.2.1

v1.2.0 — LoRA 対応

Choose a tag to compare

@nzm365 nzm365 released this 29 Aug 11:23
7b5047a

更新前にお読みください

このバージョンから依存パッケージが 1 つ増えました(peft)。setup.bat を実行し直してください。
ファイルを差し替えただけでは起動しません。v1.1.0 では不要でしたが、今回は必要です。

LoRA に対応しました

models/loras/ に置いた LoRA を、生成タブの「LoRA」欄から使えます。

  • 同時に 3 つまで。強度はスライダーで 0〜1.5(既定 0.8)
  • 強度を変えるだけならモデルの読み直しは起きません。 ファイルは載せたまま重みだけ差し替えるので、
    スライダーを動かして絵の変化を見比べられます
  • Civitai のプロンプトに混ざる <lora:名前:0.8> は、プロンプト欄に貼るとそのまま LoRA 欄へ移ります。
    トリガーワードなど他の語は残ります
  • 「モデルを追加」タブで LoRA も検索してダウンロードできます。種類を切り替えてください
  • SDXL 用でない LoRA(Flux、SD 1.5、Anima、Z-Image など)は、読み込む前に見分けて理由を表示します。
    生成はその LoRA を外したまま続きます

同時に使えるのが 3 つまでなのは VRAM の都合ではありません。4 つ以上を重ねると効果が互いに混ざり、
どのスライダーがどの変化に効いているのか追えなくなるためです。

生成が極端に遅くなる不具合を直しました

ゲームや配信ソフトが VRAM を使っている状態で生成すると、共有メモリへあふれて桁違いに遅くなることが
ありました。空き VRAM の判定が、他のアプリが掴んでいる分を見落としていたためです。

条件 生成時間
通常 18.7 秒
他のアプリが 3GB 使用(修正前) 468.6 秒
他のアプリが 3GB 使用(修正後) 34.4 秒

同じ絵を同じ設定で生成した実測値です。

README

  • 目次を付けました
  • 用語の節を追加しました。LoRA・Clip Skip・CFG・seed など 16 項目を、
    初めて触る人向けに説明しています

既知の制限

  • テキストエンコーダ側の重みを持つ LoRA は「一部だけ適用しました」と表示されます。
    diffusers 側の制約で、絵を作る UNet 側(全体の 7 割強)は適用されるため実用上は問題ありませんが、
    配布元の想定より効き方が弱くなることがあります
  • LoRA のトリガーワードは自動補完しません。配布ページに書かれている語はご自身で入力してください
  • ControlNet には対応していません

Full Changelog: v1.1.0...v1.2.0

v1.1.0

Choose a tag to compare

@nzm365 nzm365 released this 28 Aug 16:31

処理の進捗をブラウザ上に表示するようにした。

これまで進捗はターミナルにしか出ておらず、特にモデルの読み込み中は
ブラウザが数十秒まったく無反応だった。裏で何が動いているのか、
止まっているのかどうかが画面から分からなかった。

主なもの:

  • モデルの読み込み・生成・画像への変換・拡大の進捗を画面に表示
  • 残りが数えられる待ちは割合が伸びるバー、数えられない待ちは往復するバー。
    数えられない待ちに偽の割合を出さない
  • モデル選択と再読み込みボタンを 1 つの入力グループにまとめた
  • 冗長なラベル・説明文・枚数表示を整理

不具合の修正:

  • 履歴を開いたあと「今回の結果」でお気に入りが効かなくなる
  • 履歴でお気に入りを押すと表示中の画像が別のものに入れ替わる
  • お気に入りボタンの星がボタン一面に並ぶ
  • 履歴からの再生成で、タブの切り替えが生成の完了後になっていた
  • 生成中に無関係な入力欄の枠が明滅する
  • ローカルでは成立しない「共有」ボタンを非表示にした

README にモデル検索画面のスクリーンショットを追加。

What's Changed

  • 処理の進捗をブラウザ上に表示する by @nzm365 in #25

Full Changelog: v1.0.1...v1.1.0

v1.0.1

Choose a tag to compare

@nzm365 nzm365 released this 27 Aug 11:56
PuniGen v1.0.1

特定モデル向けのプリセットを削除。

presets/JANKU v7.777.json は prefix_pos / default_neg に embedding の
トリガーワード (lazypos / lazyneg) を含んでいたが、embedding 本体は
models/embeddings/ ごと git 管理外のため、clone した環境では解決されず
ただの単語としてプロンプトに混ざっていた。README のプリセット例も
汎用的な品質タグに差し替えている。

機能の変更はない。