* feat(lcm): convert any full-distill LCM checkpoint - COREML_CONVERT_LCM gains a ckpt_name input: any checkpoint from the checkpoints folder, with the canonical SimianLuo single file as the default auto-download entry, so workflows saved before this input existed keep the old behavior - conversion routes through the unified coreml_diffusion.convert(model_version=LCM) path; the bespoke trace/convert pipeline in lcm/converter.py and the dead UNet2DConditionModelLCM wrapper are removed - output naming via compose_out_name; existing cached LCM .mlpackages reconvert once due to the new _se attention suffix in the name - LCM-LoRA merged checkpoints (plain SD1.5 architecture, no guidance embedding) are rejected by the package with a pointer to the standard converter node + LCM scheduler - requires coreml-diffusion>=0.1.4 (generic LCM conversion fix) Verified against a local ComfyUI checkout: the default entry resolves the Hugging Face single file and cache-hits a previously converted .mlpackage exposing timestep_cond; an LCM-LoRA merge raises the explanatory ValueError. * feat(convert): consolidate conversion into one auto-detecting node The standard CoreMLConverter now auto-detects the model version from the checkpoint (coreml-diffusion>=0.1.5, convert(model_version=None)), so: - the model_version dropdown is gone — one node converts SD15 / SDXL / SDXL refiner / full-distill LCM, the version inferred from the UNet architecture - the dedicated "Core ML LCM Converter" node, its single-model autodownload, and coreml_suite/lcm/nodes.py are removed; the converter UX was previously inconsistent (LCM only reachable through a separate autodownload-only node, while the standard converter did not list LCM at all) lcm/utils.py (sampler-side timestep_cond patching) is unchanged — runtime LCM support still keys off the converted UNet exposing timestep_cond. diffusers is dropped from the dependencies (no longer imported directly after the LCM converter removal). The e2e workflow fixture drops its now-invalid model_version input. * fix(deps): require coreml-diffusion>=0.1.5, keep requires-python <3.13 The auto-detect consolidation needs convert(model_version=None) from coreml-diffusion 0.1.5. requires-python stays pinned to <3.13 to match the library (coremltools-driven); relaxing it past the library's own cap makes the dependency unresolvable for the 3.13+ range.
5 lines
76 B
Plaintext
5 lines
76 B
Plaintext
coreml-diffusion>=0.1.4,<0.2
|
|
coremltools>=9,<10
|
|
numpy>=2,<3
|
|
diffusers>=0.30
|