Skip to content

Releases: LingyeSoul/MonadForge

beta-260625: Remove Euler Ancestral from sampling comment

Choose a tag to compare

@LingyeSoul LingyeSoul released this 25 Jun 12:38
Update the doc comment in do_sample to remove the mention of "Euler Ancestral" for rectified flow. The comment now lists only Euler discrete and ER-SDE, aligning the comment with the implemented sampling methods.

beta-260623: Add EasyControl/Colorize docs and i18n

Choose a tag to compare

@LingyeSoul LingyeSoul released this 23 Jun 11:31
Introduce EasyControl (and its Colorize variant) documentation and UI help across multiple locales. Adds guidebook entries (EN/CN/JA/KO), new webui explanation pages (easycontrol + colorize) and updated guide field metadata (_fields.json) exposing EasyControl settings (use_easycontrol, easycontrol_drop_p, easycontrol_cond_noise_max, cond_res_scale). Wire up frontend i18n by adding ja/ko language files and updating App.vue, useI18n and i18n index; also update loader.py and related build info. Also document a test-easycontrol make target for image-conditioned inference.

beta-260617: Support per-job progress JSONL & improve metrics

Choose a tag to compare

@LingyeSoul LingyeSoul released this 17 Jun 08:50
Ensure command-style training jobs use a daemon-owned per-job progress.jsonl instead of the shared output/logs fallback, and wire that path end-to-end. Added detection in JobManager to inject --progress_jsonl for tasks.py training commands and tuned TQDM env vars. Prevent run() from unconditionally redirecting grandchild stdout to DEVNULL when our stdout is already a regular file (avoids dropping tqdm redraws under the detached daemon). Overhauled TaskService: derive per-job JSONL paths, accept explicit --progress_jsonl, map accelerator-style JSONL keys to the dashboard fields, emit metrics per JSONL step (removed the problematic debounce), and compute timing/speed/ETA from JSONL timestamps. Updated Task dataclass to track progress timing and added helpers for formatting. Included regression tests covering command progress wiring and stdout/devnull behavior, and updated existing metrics tests to reflect the new JSONL handling and timing logic.

beta-260526: Add timm-based WD tagger and trigger_word UI

Choose a tag to compare

@LingyeSoul LingyeSoul released this 26 May 12:12
Replace ONNX Runtime tagger with a timm/PyTorch backend and add a new trigger_word setting across API, frontend and service. Key changes:

- WD tagger: switch docs/comments and dependencies from onnxruntime-gpu to timm (pyproject + uv.lock), add wandb dependency and constrain httptools.<newline>
- API & service: add trigger_word parameter to TagRequest, settings, and save/load flows (webui/api/tagger.py, webui/services/wd_tagger_service.py). Update config schema to expose test_prompt/test_negative_prompt.
- Frontend: expose trigger_word in i18n (en/cn), DatasetBrowser UI and initial state, and include trigger_word in tag requests.
- Tests: update WD tagger unit tests to remove ONNX dependence, use a torchvision/timm-compatible preprocessing stub, and assert trigger_word is saved/loaded.
- Windows scripts: add portable Node.js download/use logic to setup-win.bat and ensure build-webui-win.bat uses portable node if system node missing; add tools/ and wandb to .gitignore.
- Accelerator & logging: robustly handle WANDB_ENABLED when no API key, warn instead of crashing, and adjust tensorboard/wandb logic when logging_dir is unset.
- Misc: remove temporary static_token_count override from sample_images (training.py), drop static_token_count from config_service ignored groups, and update lockfile (uv.lock) to reflect dependency changes and other package additions (timm, wandb, opentelemetry, platformdirs, sentry-sdk).

These changes remove reliance on ONNX/CUDA runtime (avoiding CUDA 12 cuBLAS issues), add a simple trigger-word feature for tagging, improve Windows frontend build robustness, and make wandb usage safer when not configured.