horde-engine 3.6.0__tar.gz → 3.6.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (242) hide show
  1. {horde_engine-3.6.0 → horde_engine-3.6.2}/PKG-INFO +1 -1
  2. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/_version.py +2 -2
  3. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/feature_impact.py +7 -2
  4. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/node_model_loader.py +13 -2
  5. horde_engine-3.6.2/hordelib/utils/device_pinning.py +96 -0
  6. horde_engine-3.6.0/hordelib/utils/device_pinning.py +0 -54
  7. {horde_engine-3.6.0 → horde_engine-3.6.2}/.gitignore +0 -0
  8. {horde_engine-3.6.0 → horde_engine-3.6.2}/LICENSE +0 -0
  9. {horde_engine-3.6.0 → horde_engine-3.6.2}/README.md +0 -0
  10. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/__init__.py +0 -0
  11. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/__pyinstaller.py +0 -0
  12. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/api.py +0 -0
  13. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/benchmark.py +0 -0
  14. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/beta_models.py +0 -0
  15. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/comfy_horde.py +0 -0
  16. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/config_path.py +0 -0
  17. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/consts.py +0 -0
  18. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/exceptions.py +0 -0
  19. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/execution/__init__.py +0 -0
  20. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/execution/comfy_patches.py +0 -0
  21. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/execution/graph_utils.py +0 -0
  22. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/execution/in_process.py +0 -0
  23. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/execution/interface.py +0 -0
  24. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/execution/phase_timing.py +0 -0
  25. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/execution/progress_hook.py +0 -0
  26. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/execution/sampling_lease.py +0 -0
  27. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/feature_requirements.py +0 -0
  28. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/horde.py +0 -0
  29. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/initialisation.py +0 -0
  30. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/installation/__init__.py +0 -0
  31. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/installation/__main__.py +0 -0
  32. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/installation/installer.py +0 -0
  33. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/installation/manifest.json +0 -0
  34. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/installation/manifest.py +0 -0
  35. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/integrations/__init__.py +0 -0
  36. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/integrations/logfire_comfy_internals.py +0 -0
  37. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/integrations/logfire_setup.py +0 -0
  38. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/metrics.py +0 -0
  39. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/model_database/db_dep.json +0 -0
  40. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/model_database/db_embeds.json +0 -0
  41. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/model_database/diffusers.json +0 -0
  42. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/model_database/med_config.json +0 -0
  43. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/model_manager/__init__.py +0 -0
  44. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/model_manager/base.py +0 -0
  45. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/model_manager/civitai_adhoc.py +0 -0
  46. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/model_manager/civitai_provider.py +0 -0
  47. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/model_manager/civitai_records.py +0 -0
  48. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/model_manager/codeformer.py +0 -0
  49. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/model_manager/compvis.py +0 -0
  50. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/model_manager/controlnet.py +0 -0
  51. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/model_manager/diffusers.py +0 -0
  52. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/model_manager/esrgan.py +0 -0
  53. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/model_manager/gfpgan.py +0 -0
  54. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/model_manager/hyper.py +0 -0
  55. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/model_manager/lora.py +0 -0
  56. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/model_manager/miscellaneous.py +0 -0
  57. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/model_manager/safety_checker.py +0 -0
  58. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/model_manager/ti.py +0 -0
  59. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/__init__.py +0 -0
  60. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/comfyui_layerdiffuse/LICENSE +0 -0
  61. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/comfyui_layerdiffuse/README.md +0 -0
  62. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/comfyui_layerdiffuse/__init__.py +0 -0
  63. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_cond_example.json +0 -0
  64. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_cond_fg_all.json +0 -0
  65. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_cond_joint_bg.json +0 -0
  66. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_cond_joint_fg.json +0 -0
  67. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_diff_bg.json +0 -0
  68. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_diff_bg_stop_at.json +0 -0
  69. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_diff_fg.json +0 -0
  70. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_fg_example.json +0 -0
  71. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_fg_example_rgba.json +0 -0
  72. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/comfyui_layerdiffuse/examples/layer_diffusion_joint.json +0 -0
  73. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/comfyui_layerdiffuse/layered_diffusion.py +0 -0
  74. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/comfyui_layerdiffuse/lib_layerdiffusion/__init__.py +0 -0
  75. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/comfyui_layerdiffuse/lib_layerdiffusion/attention_sharing.py +0 -0
  76. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/comfyui_layerdiffuse/lib_layerdiffusion/enums.py +0 -0
  77. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/comfyui_layerdiffuse/lib_layerdiffusion/models.py +0 -0
  78. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/comfyui_layerdiffuse/lib_layerdiffusion/utils.py +0 -0
  79. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/comfyui_layerdiffuse/pyproject.toml +0 -0
  80. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/comfyui_layerdiffuse/requirements.txt +0 -0
  81. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/LICENSE +0 -0
  82. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/README.md +0 -0
  83. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/__init__.py +0 -0
  84. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/VERSION +0 -0
  85. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/__init__.py +0 -0
  86. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/archs/__init__.py +0 -0
  87. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/archs/arcface_arch.py +0 -0
  88. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/archs/arch_util.py +0 -0
  89. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/archs/codeformer_arch.py +0 -0
  90. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/archs/rrdbnet_arch.py +0 -0
  91. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/archs/vgg_arch.py +0 -0
  92. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/archs/vqgan_arch.py +0 -0
  93. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/data/__init__.py +0 -0
  94. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/data/data_sampler.py +0 -0
  95. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/data/data_util.py +0 -0
  96. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/data/prefetch_dataloader.py +0 -0
  97. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/data/transforms.py +0 -0
  98. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/losses/__init__.py +0 -0
  99. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/losses/loss_util.py +0 -0
  100. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/losses/losses.py +0 -0
  101. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/metrics/__init__.py +0 -0
  102. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/metrics/metric_util.py +0 -0
  103. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/metrics/psnr_ssim.py +0 -0
  104. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/models/__init__.py +0 -0
  105. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/ops/__init__.py +0 -0
  106. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/ops/dcn/__init__.py +0 -0
  107. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/ops/dcn/deform_conv.py +0 -0
  108. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/ops/dcn/src/deform_conv_cuda.cpp +0 -0
  109. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/ops/dcn/src/deform_conv_cuda_kernel.cu +0 -0
  110. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/ops/dcn/src/deform_conv_ext.cpp +0 -0
  111. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/ops/fused_act/__init__.py +0 -0
  112. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/ops/fused_act/fused_act.py +0 -0
  113. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/ops/fused_act/src/fused_bias_act.cpp +0 -0
  114. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/ops/fused_act/src/fused_bias_act_kernel.cu +0 -0
  115. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/ops/upfirdn2d/__init__.py +0 -0
  116. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/ops/upfirdn2d/src/upfirdn2d.cpp +0 -0
  117. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/ops/upfirdn2d/src/upfirdn2d_kernel.cu +0 -0
  118. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/ops/upfirdn2d/upfirdn2d.py +0 -0
  119. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/setup.py +0 -0
  120. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/train.py +0 -0
  121. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/utils/__init__.py +0 -0
  122. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/utils/dist_util.py +0 -0
  123. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/utils/download_util.py +0 -0
  124. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/utils/file_client.py +0 -0
  125. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/utils/img_util.py +0 -0
  126. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/utils/lmdb_util.py +0 -0
  127. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/utils/logger.py +0 -0
  128. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/utils/matlab_functions.py +0 -0
  129. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/utils/misc.py +0 -0
  130. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/utils/options.py +0 -0
  131. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/utils/realesrgan_utils.py +0 -0
  132. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/utils/registry.py +0 -0
  133. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/basicsr/version.py +0 -0
  134. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/facelib/__init__.py +0 -0
  135. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/facelib/detection/__init__.py +0 -0
  136. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/facelib/detection/align_trans.py +0 -0
  137. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/facelib/detection/matlab_cp2tform.py +0 -0
  138. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/facelib/detection/retinaface/retinaface.py +0 -0
  139. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/facelib/detection/retinaface/retinaface_net.py +0 -0
  140. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/facelib/detection/retinaface/retinaface_utils.py +0 -0
  141. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/__init__.py +0 -0
  142. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/face_detector.py +0 -0
  143. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/models/__init__.py +0 -0
  144. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/models/common.py +0 -0
  145. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/models/experimental.py +0 -0
  146. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/models/yolo.py +0 -0
  147. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/models/yolov5l.yaml +0 -0
  148. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/models/yolov5n.yaml +0 -0
  149. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/utils/__init__.py +0 -0
  150. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/utils/autoanchor.py +0 -0
  151. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/utils/datasets.py +0 -0
  152. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/utils/extract_ckpt.py +0 -0
  153. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/utils/general.py +0 -0
  154. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/facelib/detection/yolov5face/utils/torch_utils.py +0 -0
  155. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/facelib/parsing/__init__.py +0 -0
  156. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/facelib/parsing/bisenet.py +0 -0
  157. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/facelib/parsing/parsenet.py +0 -0
  158. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/facelib/parsing/resnet.py +0 -0
  159. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/facelib/utils/__init__.py +0 -0
  160. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/facelib/utils/face_restoration_helper.py +0 -0
  161. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/facelib/utils/face_utils.py +0 -0
  162. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/facelib/utils/misc.py +0 -0
  163. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/r_chainner/README.md +0 -0
  164. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/r_chainner/__init__.py +0 -0
  165. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/r_chainner/gfpganv1_clean_arch.py +0 -0
  166. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/r_chainner/model_loading.py +0 -0
  167. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/r_chainner/stylegan2_clean_arch.py +0 -0
  168. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/facerestore_cf/r_chainner/types.py +0 -0
  169. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/node_controlnet_model_loader.py +0 -0
  170. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/node_image_loader.py +0 -0
  171. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/node_image_output.py +0 -0
  172. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/node_lora_loader.py +0 -0
  173. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/nodes/node_upscale_model_loader.py +0 -0
  174. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipeline/__init__.py +0 -0
  175. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipeline/constants.py +0 -0
  176. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipeline/context.py +0 -0
  177. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipeline/families/__init__.py +0 -0
  178. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipeline/families/image.py +0 -0
  179. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipeline/families/post_processing.py +0 -0
  180. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipeline/graph.py +0 -0
  181. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipeline/horde_compat.py +0 -0
  182. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipeline/patches.py +0 -0
  183. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipeline/payload.py +0 -0
  184. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipeline/payload_pp.py +0 -0
  185. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipeline/registry.py +0 -0
  186. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipeline/resolution.py +0 -0
  187. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipeline/template.py +0 -0
  188. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipeline_designs/pipeline_controlnet.json +0 -0
  189. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipeline_designs/pipeline_controlnet_annotator.json +0 -0
  190. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipeline_designs/pipeline_controlnet_hires_fix.json +0 -0
  191. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipeline_designs/pipeline_flux.json +0 -0
  192. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipeline_designs/pipeline_image_facefix.json +0 -0
  193. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipeline_designs/pipeline_image_upscale.json +0 -0
  194. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipeline_designs/pipeline_qr_code.json +0 -0
  195. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipeline_designs/pipeline_qwen.json +0 -0
  196. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipeline_designs/pipeline_stable_cascade.json +0 -0
  197. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipeline_designs/pipeline_stable_cascade_2pass.json +0 -0
  198. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipeline_designs/pipeline_stable_cascade_remix.json +0 -0
  199. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipeline_designs/pipeline_stable_diffusion.json +0 -0
  200. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipeline_designs/pipeline_stable_diffusion_hires_fix.json +0 -0
  201. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipeline_designs/pipeline_stable_diffusion_img2img_mask.json +0 -0
  202. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipeline_designs/pipeline_stable_diffusion_paint.json +0 -0
  203. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipelines/pipeline_controlnet.json +0 -0
  204. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipelines/pipeline_controlnet_annotator.json +0 -0
  205. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipelines/pipeline_controlnet_hires_fix.json +0 -0
  206. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipelines/pipeline_flux.json +0 -0
  207. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipelines/pipeline_image_facefix.json +0 -0
  208. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipelines/pipeline_image_upscale.json +0 -0
  209. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipelines/pipeline_qr_code.json +0 -0
  210. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipelines/pipeline_qwen.json +0 -0
  211. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipelines/pipeline_stable_cascade.json +0 -0
  212. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipelines/pipeline_stable_cascade_2pass.json +0 -0
  213. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipelines/pipeline_stable_cascade_remix.json +0 -0
  214. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipelines/pipeline_stable_diffusion.json +0 -0
  215. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipelines/pipeline_stable_diffusion_hires_fix.json +0 -0
  216. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipelines/pipeline_stable_diffusion_img2img_mask.json +0 -0
  217. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipelines/pipeline_stable_diffusion_paint.json +0 -0
  218. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pipelines/pipeline_z_image.json +0 -0
  219. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/preload.py +0 -0
  220. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/py.typed +0 -0
  221. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pyinstaller_hooks/__init__.py +0 -0
  222. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/pyinstaller_hooks/hook-hordelib.horde.py +0 -0
  223. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/safety.py +0 -0
  224. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/safety_checker.py +0 -0
  225. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/settings.py +0 -0
  226. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/shared_model_manager.py +0 -0
  227. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/train.py +0 -0
  228. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/utils/__init__.py +0 -0
  229. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/utils/distance.py +0 -0
  230. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/utils/dynamicprompt.py +0 -0
  231. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/utils/gpuinfo.py +0 -0
  232. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/utils/image_utils.py +0 -0
  233. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/utils/ioredirect.py +0 -0
  234. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/utils/logger.py +0 -0
  235. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/utils/nvml.py +0 -0
  236. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/utils/optional_deps.py +0 -0
  237. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/utils/sanitizer.py +0 -0
  238. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/utils/switch.py +0 -0
  239. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/utils/torch_build.py +0 -0
  240. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/utils/torch_memory.py +0 -0
  241. {horde_engine-3.6.0 → horde_engine-3.6.2}/hordelib/vram_planning.py +0 -0
  242. {horde_engine-3.6.0 → horde_engine-3.6.2}/pyproject.toml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: horde-engine
3
- Version: 3.6.0
3
+ Version: 3.6.2
4
4
  Summary: A wrapper around ComfyUI to allow use by AI Horde.
5
5
  Project-URL: Homepage, https://github.com/Haidra-Org/hordelib
6
6
  Project-URL: Bug Tracker, https://github.com/Haidra-Org/hordelib/issues
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
18
18
  commit_id: str | None
19
19
  __commit_id__: str | None
20
20
 
21
- __version__ = version = '3.6.0'
22
- __version_tuple__ = version_tuple = (3, 6, 0)
21
+ __version__ = version = '3.6.2'
22
+ __version_tuple__ = version_tuple = (3, 6, 2)
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -251,13 +251,18 @@ _BASELINE_SEEDS: list[BaselineBurden] = [
251
251
  ),
252
252
  BaselineBurden(
253
253
  baseline="z_image_turbo",
254
- vram_base_mb=8000,
254
+ vram_base_mb=11000,
255
255
  ram_base_mb=14000,
256
256
  vram_per_megapixel_mb=1200,
257
257
  native_resolution=(1024, 1024),
258
- min_recommended_vram_mb=10000,
258
+ min_recommended_vram_mb=12000,
259
259
  max_recommended_batch=2,
260
260
  typical_disk_gb=8.0,
261
+ # The 6B DiT plus its text encoder and VAE stay resident together; the prior unseeded base of 8000
262
+ # conflated weights with activations and read as comfortably co-resident, so the scheduler never gave
263
+ # Z-Image the whole card it actually wants. Seeded explicitly so the streaming/residency forecast sees
264
+ # the real weight footprint at the worker's typical dtype.
265
+ vram_weights_mb=10000,
261
266
  ),
262
267
  ]
263
268
 
@@ -261,7 +261,14 @@ def make_circular(m):
261
261
 
262
262
 
263
263
  def make_circular_vae(m):
264
- m.first_stage_model.apply(make_circular)
264
+ # Not every VAE exposes a `first_stage_model`: newer architectures (e.g. Z-Image/Lumina2) return a
265
+ # VAE whose `first_stage_model` is None, so reaching into it to retune Conv2d padding would raise and
266
+ # take down the whole load. Seamless tiling simply doesn't apply to those, so skip it rather than fault.
267
+ first_stage_model = getattr(m, "first_stage_model", None)
268
+ if first_stage_model is None:
269
+ logger.debug("VAE has no first_stage_model; skipping circular tiling for this architecture")
270
+ return
271
+ first_stage_model.apply(make_circular)
265
272
 
266
273
 
267
274
  def make_regular(m):
@@ -270,7 +277,11 @@ def make_regular(m):
270
277
 
271
278
 
272
279
  def make_regular_vae(m):
273
- m.first_stage_model.apply(make_regular)
280
+ first_stage_model = getattr(m, "first_stage_model", None)
281
+ if first_stage_model is None:
282
+ logger.debug("VAE has no first_stage_model; skipping regular tiling for this architecture")
283
+ return
284
+ first_stage_model.apply(make_regular)
274
285
 
275
286
 
276
287
  NODE_CLASS_MAPPINGS = {"HordeCheckpointLoader": HordeCheckpointLoader}
@@ -0,0 +1,96 @@
1
+ """Single source of truth for masking a subprocess to one compute device.
2
+
3
+ Each inference child process is pinned to exactly one device so that every
4
+ single-device assumption in ComfyUI and hordelib (``cuda:0``, module-level
5
+ ``total_vram``, ``UserSettings._vram_to_leave_free_mb``) stays correct without
6
+ modification inside that child. The orchestrator (which is torch-free) calls
7
+ :func:`device_pin_env` to get the env-var patch and extra ComfyUI CLI args it
8
+ must apply before spawning the child; the child itself applies them before
9
+ calling ``hordelib.initialise()``.
10
+
11
+ :func:`device_pin_env` is the only function here. All callers (worker entry
12
+ points, ``hordelib.initialise``'s optional convenience path) must go through
13
+ it so that backend-specific masking details stay in one place.
14
+ """
15
+
16
+ from __future__ import annotations
17
+
18
+ import os
19
+
20
+ from hordelib.utils.torch_memory import AcceleratorKind
21
+
22
+
23
+ def _resolve_physical_id(env_var: str, logical_index: int) -> str:
24
+ """Translate a logical device index into the physical device identifier for ``env_var``.
25
+
26
+ When the user restricts visible devices via an environment variable (e.g.
27
+ ``CUDA_VISIBLE_DEVICES=0,2``), torch and ComfyUI re-index the visible set as 0, 1, 2, ...
28
+ :func:`~hordelib.utils.torch_memory.enumerate_accelerators` returns these **logical** indices.
29
+ Writing the logical index directly into the child's env var would pin it to the wrong physical
30
+ device; this function resolves back to the physical identifier at ``logical_index``'s position
31
+ in the current visible list so the child's env var is correct.
32
+
33
+ When the variable is unset or empty every logical index equals its physical counterpart, so
34
+ ``str(logical_index)`` is returned unchanged. UUID-format entries (``GPU-...``) are passed
35
+ through as-is, as are any special sentinel values (``NoDevFiles``, ``-1``).
36
+
37
+ Args:
38
+ env_var: The environment variable name to read (e.g. ``"CUDA_VISIBLE_DEVICES"``).
39
+ logical_index: The 0-based index within the currently visible device set.
40
+
41
+ Returns:
42
+ The physical device identifier (integer string or UUID) for the child's env var.
43
+
44
+ Raises:
45
+ IndexError: If ``logical_index`` is out of range for the current visible set.
46
+ """
47
+ current = os.environ.get(env_var, "")
48
+ if not current:
49
+ return str(logical_index)
50
+ entries = [e.strip() for e in current.split(",")]
51
+ return entries[logical_index]
52
+
53
+
54
+ def device_pin_env(kind: AcceleratorKind, index: int) -> tuple[dict[str, str], list[str]]:
55
+ """Return the env-var patch and extra ComfyUI args that restrict a process to device ``index``.
56
+
57
+ ``index`` is the **logical** index as returned by
58
+ :func:`~hordelib.utils.torch_memory.enumerate_accelerators` (0-based within whatever device
59
+ set is currently visible to this process). When the caller's environment already restricts
60
+ visible devices via ``CUDA_VISIBLE_DEVICES`` or equivalent, the logical index is translated
61
+ back to the physical device identifier so the child's env var pins the correct card.
62
+
63
+ After applying both return values, the OS/driver presents only that one device to the process
64
+ and it becomes ``cuda:0`` (or the backend equivalent), so all single-device assumptions inside
65
+ hordelib and the vendored ComfyUI remain correct without any code changes there.
66
+
67
+ Args:
68
+ kind: The :class:`~hordelib.utils.torch_memory.AcceleratorKind` of the target device.
69
+ index: The **logical** device index (as reported by
70
+ :func:`~hordelib.utils.torch_memory.enumerate_accelerators`).
71
+
72
+ Returns:
73
+ A 2-tuple ``(env_vars, extra_args)`` where ``env_vars`` is a dict to merge into
74
+ ``os.environ`` and ``extra_args`` is a list of CLI arguments to append to
75
+ ``extra_comfyui_args``. Either or both may be empty when the backend needs no masking
76
+ (cpu, mps).
77
+ """
78
+ if kind is AcceleratorKind.cuda:
79
+ physical = _resolve_physical_id("CUDA_VISIBLE_DEVICES", index)
80
+ return {"CUDA_VISIBLE_DEVICES": physical}, []
81
+
82
+ if kind is AcceleratorKind.rocm:
83
+ # ROCm presents through torch.cuda, so CUDA_VISIBLE_DEVICES is honoured too; keep both in sync.
84
+ physical = _resolve_physical_id("HIP_VISIBLE_DEVICES", index)
85
+ return {"HIP_VISIBLE_DEVICES": physical, "CUDA_VISIBLE_DEVICES": physical}, []
86
+
87
+ if kind is AcceleratorKind.xpu:
88
+ physical = _resolve_physical_id("ZE_AFFINITY_MASK", index)
89
+ return {"ZE_AFFINITY_MASK": physical}, []
90
+
91
+ if kind is AcceleratorKind.directml:
92
+ # DirectML device selection happens via a ComfyUI CLI flag, not an env var.
93
+ return {}, ["--directml", str(index)]
94
+
95
+ # cpu and mps have no multi-device isolation mechanism; masking is a no-op.
96
+ return {}, []
@@ -1,54 +0,0 @@
1
- """Single source of truth for masking a subprocess to one compute device.
2
-
3
- Each inference child process is pinned to exactly one device so that every
4
- single-device assumption in ComfyUI and hordelib (``cuda:0``, module-level
5
- ``total_vram``, ``UserSettings._vram_to_leave_free_mb``) stays correct without
6
- modification inside that child. The orchestrator (which is torch-free) calls
7
- :func:`device_pin_env` to get the env-var patch and extra ComfyUI CLI args it
8
- must apply before spawning the child; the child itself applies them before
9
- calling ``hordelib.initialise()``.
10
-
11
- :func:`device_pin_env` is the only function here. All callers (worker entry
12
- points, ``hordelib.initialise``'s optional convenience path) must go through
13
- it so that backend-specific masking details stay in one place.
14
- """
15
-
16
- from __future__ import annotations
17
-
18
- from hordelib.utils.torch_memory import AcceleratorKind
19
-
20
-
21
- def device_pin_env(kind: AcceleratorKind, index: int) -> tuple[dict[str, str], list[str]]:
22
- """Return the env-var patch and extra ComfyUI args that restrict a process to device ``index``.
23
-
24
- After applying both, the OS/driver presents only that one device to the process and it
25
- becomes ``cuda:0`` (or the backend equivalent), so all single-device assumptions inside
26
- hordelib and the vendored ComfyUI remain correct without any code changes there.
27
-
28
- Args:
29
- kind: The :class:`~hordelib.utils.torch_memory.AcceleratorKind` of the target device.
30
- index: The **global** device index (as reported by
31
- :func:`~hordelib.utils.torch_memory.enumerate_accelerators`).
32
-
33
- Returns:
34
- A 2-tuple ``(env_vars, extra_args)`` where ``env_vars`` is a dict to merge into
35
- ``os.environ`` and ``extra_args`` is a list of CLI arguments to append to
36
- ``extra_comfyui_args``. Either or both may be empty when the backend needs no masking
37
- (cpu, mps).
38
- """
39
- if kind is AcceleratorKind.cuda:
40
- return {"CUDA_VISIBLE_DEVICES": str(index)}, []
41
-
42
- if kind is AcceleratorKind.rocm:
43
- # ROCm presents through torch.cuda, so CUDA_VISIBLE_DEVICES is honoured too; keep them in sync.
44
- return {"HIP_VISIBLE_DEVICES": str(index), "CUDA_VISIBLE_DEVICES": str(index)}, []
45
-
46
- if kind is AcceleratorKind.xpu:
47
- return {"ZE_AFFINITY_MASK": str(index)}, []
48
-
49
- if kind is AcceleratorKind.directml:
50
- # DirectML device selection happens via a ComfyUI CLI flag, not an env var.
51
- return {}, ["--directml", str(index)]
52
-
53
- # cpu and mps have no multi-device isolation mechanism; masking is a no-op.
54
- return {}, []
File without changes
File without changes
File without changes