diff --git a/.github/workflows/code-quality.yml b/.github/workflows/code-quality.yml index 69168a1..7c78bcc 100644 --- a/.github/workflows/code-quality.yml +++ b/.github/workflows/code-quality.yml @@ -16,7 +16,7 @@ jobs: - uses: actions/checkout@v7 - name: Set up Python 3.10 - uses: actions/setup-python@v6 + uses: actions/setup-python@v7 with: python-version: '3.10' @@ -145,7 +145,7 @@ jobs: - uses: actions/checkout@v7 - name: Set up Python 3.10 - uses: actions/setup-python@v6 + uses: actions/setup-python@v7 with: python-version: '3.10' @@ -176,7 +176,7 @@ jobs: - uses: actions/checkout@v7 - name: Set up Python 3.10 - uses: actions/setup-python@v6 + uses: actions/setup-python@v7 with: python-version: '3.10' diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fd01af8..0e69f68 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -20,7 +20,7 @@ jobs: - uses: actions/checkout@v7 - name: Set up Python 3.10 - uses: actions/setup-python@v6 + uses: actions/setup-python@v7 with: python-version: '3.10' diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index e2f74c1..f2fba38 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -23,7 +23,7 @@ jobs: - uses: actions/checkout@v7 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v6 + uses: actions/setup-python@v7 with: python-version: ${{ matrix.python-version }} cache: pip @@ -60,7 +60,7 @@ jobs: steps: - uses: actions/checkout@v7 - - uses: actions/setup-python@v6 + - uses: actions/setup-python@v7 with: python-version: "3.12" cache: pip @@ -110,7 +110,7 @@ jobs: timeout-minutes: 15 steps: - uses: actions/checkout@v7 - - uses: actions/setup-python@v6 + - uses: actions/setup-python@v7 with: python-version: "3.12" cache: pip diff --git a/README.md b/README.md index 5742148..8bd9482 100644 --- a/README.md +++ b/README.md @@ -50,6 +50,8 @@ Advanced parameter management tools adapted from [comfyui-essentials-nodes](http |------|-------------|----------| | [🎛️ Flux Sampler Params](#️-flux-sampler-params) | FLUX-optimized parameter generator with batch support | 🧰 xyz-helpers | | [📁 LoRA Folder Batch](#-lora-folder-batch) | Batch process multiple LoRAs from folders | 🧰 xyz-helpers | +| [🔁 Checkpoint Folder Iterator](#-checkpoint-folder-iterator) | Load one checkpoint per queued run from a folder | 🧰 xyz-helpers | +| [🧩 Model Compare Sheet](#-model-compare-sheet) | Save each run's image and rebuild a labeled contact sheet | 🧰 xyz-helpers | | [📊 Plot Parameters](#-plot-parameters) | Visualize parameter effects with graphs | 🧰 xyz-helpers | | [🎯 Sampler Select Helper](#-sampler-select-helper) | Intelligent sampler selection with recommendations | 🧰 xyz-helpers | | [📅 Scheduler Select Helper](#-scheduler-select-helper) | Optimal scheduler selection for samplers | 🧰 xyz-helpers | @@ -301,6 +303,28 @@ Automated batch processing for multiple LoRA models from folders. ![LoRA Folder Batch Example](examples/workflows/xyz_helpers_lora_testing.png) +#### 🔁 Checkpoint Folder Iterator +Run the same prompt through every checkpoint in a folder, one model per queued run. + +- **folder**: relative to `models/checkpoints`, or an absolute path anywhere on disk; regex include/exclude filters +- **index** with `control_after_generate`: set 0 + *increment*, then queue a batch count equal to the checkpoint count +- Queuing past the last checkpoint fails that run with a clear message instead of wrapping around, so the finished sweep is never restarted or archived by accident +- Outputs MODEL/CLIP/VAE for the indexed file plus `ckpt_name`, `label`, `index`, `count` +- Only one checkpoint is loaded at a time, so large folders do not exhaust RAM + +#### 🧩 Model Compare Sheet +Output node that pairs with Checkpoint Folder Iterator. + +- Saves each run's image(s) to `output/model_compare//_