InvokeAI 4.2.9.dev8__tar.gz → 4.2.9.dev9__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 (476) hide show
  1. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/InvokeAI.egg-info/PKG-INFO +1 -1
  2. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/InvokeAI.egg-info/SOURCES.txt +3 -3
  3. InvokeAI-4.2.9.dev9/InvokeAI.egg-info/entry_points.txt +2 -0
  4. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/PKG-INFO +1 -1
  5. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/fields.py +3 -0
  6. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/flux_text_encoder.py +15 -9
  7. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/flux_text_to_image.py +15 -18
  8. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/model.py +26 -60
  9. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/workflow_records/default_workflows/Flux Text to Image.json +37 -43
  10. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/flux/sampling.py +4 -13
  11. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_manager/load/load_default.py +1 -0
  12. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_manager/load/model_cache/model_cache_base.py +0 -9
  13. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_manager/load/model_cache/model_cache_default.py +61 -62
  14. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/quantization/bnb_llm_int8.py +12 -2
  15. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/stable_diffusion/diffusion/conditioning_data.py +5 -0
  16. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/util/__init__.py +1 -2
  17. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/util/util.py +0 -3
  18. InvokeAI-4.2.9.dev9/invokeai/frontend/web/dist/assets/App-DQ9eSnfG.js +66 -0
  19. InvokeAI-4.2.9.dev8/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-BSRQyfxR.js → InvokeAI-4.2.9.dev9/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-D2UT1a6F.js +1 -1
  20. InvokeAI-4.2.9.dev8/invokeai/frontend/web/dist/assets/index-4VBs_C-Q.js → InvokeAI-4.2.9.dev9/invokeai/frontend/web/dist/assets/index-CiDHB6Bv.js +52 -52
  21. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/index.html +1 -1
  22. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/locales/en.json +11 -0
  23. InvokeAI-4.2.9.dev9/invokeai/version/invokeai_version.py +1 -0
  24. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/pyproject.toml +0 -2
  25. InvokeAI-4.2.9.dev8/InvokeAI.egg-info/entry_points.txt +0 -4
  26. InvokeAI-4.2.9.dev8/invokeai/frontend/web/dist/assets/App-B1xXrt8x.js +0 -66
  27. InvokeAI-4.2.9.dev8/invokeai/version/invokeai_version.py +0 -1
  28. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/InvokeAI.egg-info/dependency_links.txt +0 -0
  29. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/InvokeAI.egg-info/requires.txt +0 -0
  30. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/InvokeAI.egg-info/top_level.txt +0 -0
  31. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/LICENSE +0 -0
  32. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/LICENSE-SD1+SD2.txt +0 -0
  33. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/LICENSE-SDXL.txt +0 -0
  34. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/README.md +0 -0
  35. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/__init__.py +0 -0
  36. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/api/dependencies.py +0 -0
  37. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/api/no_cache_staticfiles.py +0 -0
  38. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/api/routers/app_info.py +0 -0
  39. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/api/routers/board_images.py +0 -0
  40. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/api/routers/boards.py +0 -0
  41. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/api/routers/download_queue.py +0 -0
  42. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/api/routers/images.py +0 -0
  43. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/api/routers/model_manager.py +0 -0
  44. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/api/routers/session_queue.py +0 -0
  45. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/api/routers/style_presets.py +0 -0
  46. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/api/routers/utilities.py +0 -0
  47. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/api/routers/workflows.py +0 -0
  48. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/api/sockets.py +0 -0
  49. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/api_app.py +0 -0
  50. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/assets/images/caution.png +0 -0
  51. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/__init__.py +0 -0
  52. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/baseinvocation.py +0 -0
  53. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/blend_latents.py +0 -0
  54. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/collections.py +0 -0
  55. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/compel.py +0 -0
  56. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/constants.py +0 -0
  57. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/controlnet_image_processors.py +0 -0
  58. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/create_denoise_mask.py +0 -0
  59. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/create_gradient_mask.py +0 -0
  60. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/crop_latents.py +0 -0
  61. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/custom_nodes/README.md +0 -0
  62. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/custom_nodes/init.py +0 -0
  63. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/cv.py +0 -0
  64. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/denoise_latents.py +0 -0
  65. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/facetools.py +0 -0
  66. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/grounding_dino.py +0 -0
  67. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/ideal_size.py +0 -0
  68. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/image.py +0 -0
  69. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/image_to_latents.py +0 -0
  70. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/infill.py +0 -0
  71. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/ip_adapter.py +0 -0
  72. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/latents_to_image.py +0 -0
  73. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/mask.py +0 -0
  74. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/math.py +0 -0
  75. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/metadata.py +0 -0
  76. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/noise.py +0 -0
  77. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/param_easing.py +0 -0
  78. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/primitives.py +0 -0
  79. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/prompt.py +0 -0
  80. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/resize_latents.py +0 -0
  81. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/scheduler.py +0 -0
  82. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/sdxl.py +0 -0
  83. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/segment_anything.py +0 -0
  84. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/spandrel_image_to_image.py +0 -0
  85. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/strings.py +0 -0
  86. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/t2i_adapter.py +0 -0
  87. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/tiled_multi_diffusion_denoise_latents.py +0 -0
  88. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/tiles.py +0 -0
  89. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/upscale.py +0 -0
  90. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/invocations/util.py +0 -0
  91. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/run_app.py +0 -0
  92. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/__init__.py +0 -0
  93. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/board_image_records/__init__.py +0 -0
  94. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/board_image_records/board_image_records_base.py +0 -0
  95. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/board_image_records/board_image_records_sqlite.py +0 -0
  96. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/board_images/__init__.py +0 -0
  97. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/board_images/board_images_base.py +0 -0
  98. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/board_images/board_images_common.py +0 -0
  99. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/board_images/board_images_default.py +0 -0
  100. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/board_records/board_records_base.py +0 -0
  101. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/board_records/board_records_common.py +0 -0
  102. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/board_records/board_records_sqlite.py +0 -0
  103. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/boards/__init__.py +0 -0
  104. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/boards/boards_base.py +0 -0
  105. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/boards/boards_common.py +0 -0
  106. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/boards/boards_default.py +0 -0
  107. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/bulk_download/__init__.py +0 -0
  108. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/bulk_download/bulk_download_base.py +0 -0
  109. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/bulk_download/bulk_download_common.py +0 -0
  110. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/bulk_download/bulk_download_default.py +0 -0
  111. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/config/__init__.py +0 -0
  112. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/config/config_common.py +0 -0
  113. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/config/config_default.py +0 -0
  114. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/download/__init__.py +0 -0
  115. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/download/download_base.py +0 -0
  116. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/download/download_default.py +0 -0
  117. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/events/__init__.py +0 -0
  118. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/events/events_base.py +0 -0
  119. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/events/events_common.py +0 -0
  120. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/events/events_fastapievents.py +0 -0
  121. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/image_files/__init__.py +0 -0
  122. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/image_files/image_files_base.py +0 -0
  123. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/image_files/image_files_common.py +0 -0
  124. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/image_files/image_files_disk.py +0 -0
  125. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/image_records/__init__.py +0 -0
  126. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/image_records/image_records_base.py +0 -0
  127. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/image_records/image_records_common.py +0 -0
  128. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/image_records/image_records_sqlite.py +0 -0
  129. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/images/__init__.py +0 -0
  130. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/images/images_base.py +0 -0
  131. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/images/images_common.py +0 -0
  132. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/images/images_default.py +0 -0
  133. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/invocation_cache/__init__.py +0 -0
  134. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/invocation_cache/invocation_cache_base.py +0 -0
  135. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/invocation_cache/invocation_cache_common.py +0 -0
  136. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/invocation_cache/invocation_cache_memory.py +0 -0
  137. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/invocation_services.py +0 -0
  138. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/invocation_stats/__init__.py +0 -0
  139. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/invocation_stats/invocation_stats_base.py +0 -0
  140. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/invocation_stats/invocation_stats_common.py +0 -0
  141. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/invocation_stats/invocation_stats_default.py +0 -0
  142. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/invoker.py +0 -0
  143. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/item_storage/__init__.py +0 -0
  144. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/item_storage/item_storage_base.py +0 -0
  145. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/item_storage/item_storage_common.py +0 -0
  146. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/item_storage/item_storage_memory.py +0 -0
  147. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/model_images/model_images_base.py +0 -0
  148. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/model_images/model_images_common.py +0 -0
  149. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/model_images/model_images_default.py +0 -0
  150. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/model_install/__init__.py +0 -0
  151. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/model_install/model_install_base.py +0 -0
  152. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/model_install/model_install_common.py +0 -0
  153. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/model_install/model_install_default.py +0 -0
  154. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/model_load/__init__.py +0 -0
  155. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/model_load/model_load_base.py +0 -0
  156. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/model_load/model_load_default.py +0 -0
  157. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/model_manager/__init__.py +0 -0
  158. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/model_manager/model_manager_base.py +0 -0
  159. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/model_manager/model_manager_common.py +0 -0
  160. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/model_manager/model_manager_default.py +0 -0
  161. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/model_records/__init__.py +0 -0
  162. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/model_records/model_records_base.py +0 -0
  163. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/model_records/model_records_sql.py +0 -0
  164. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/names/__init__.py +0 -0
  165. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/names/names_base.py +0 -0
  166. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/names/names_common.py +0 -0
  167. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/names/names_default.py +0 -0
  168. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/object_serializer/object_serializer_base.py +0 -0
  169. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/object_serializer/object_serializer_common.py +0 -0
  170. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/object_serializer/object_serializer_disk.py +0 -0
  171. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/object_serializer/object_serializer_forward_cache.py +0 -0
  172. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/session_processor/__init__.py +0 -0
  173. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/session_processor/session_processor_base.py +0 -0
  174. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/session_processor/session_processor_common.py +0 -0
  175. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/session_processor/session_processor_default.py +0 -0
  176. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/session_queue/__init__.py +0 -0
  177. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/session_queue/session_queue_base.py +0 -0
  178. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/session_queue/session_queue_common.py +0 -0
  179. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/session_queue/session_queue_sqlite.py +0 -0
  180. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/shared/__init__.py +0 -0
  181. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/shared/graph.py +0 -0
  182. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/shared/invocation_context.py +0 -0
  183. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/shared/pagination.py +0 -0
  184. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/shared/sqlite/__init__.py +0 -0
  185. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/shared/sqlite/sqlite_common.py +0 -0
  186. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/shared/sqlite/sqlite_database.py +0 -0
  187. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/shared/sqlite/sqlite_util.py +0 -0
  188. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/shared/sqlite_migrator/__init__.py +0 -0
  189. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/shared/sqlite_migrator/migrations/__init__.py +0 -0
  190. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_1.py +0 -0
  191. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_10.py +0 -0
  192. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_11.py +0 -0
  193. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_12.py +0 -0
  194. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_13.py +0 -0
  195. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_14.py +0 -0
  196. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_15.py +0 -0
  197. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_2.py +0 -0
  198. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_3.py +0 -0
  199. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_4.py +0 -0
  200. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_5.py +0 -0
  201. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_6.py +0 -0
  202. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_7.py +0 -0
  203. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_8.py +0 -0
  204. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_9.py +0 -0
  205. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/shared/sqlite_migrator/sqlite_migrator_common.py +0 -0
  206. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/shared/sqlite_migrator/sqlite_migrator_impl.py +0 -0
  207. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/style_preset_images/default_style_preset_images/Anime.png +0 -0
  208. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/style_preset_images/default_style_preset_images/Architectural Visualization.png +0 -0
  209. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/style_preset_images/default_style_preset_images/Concept Art (Character).png +0 -0
  210. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/style_preset_images/default_style_preset_images/Concept Art (Fantasy).png +0 -0
  211. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/style_preset_images/default_style_preset_images/Concept Art (Painterly).png +0 -0
  212. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/style_preset_images/default_style_preset_images/Concept Art (Sci-Fi).png +0 -0
  213. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/style_preset_images/default_style_preset_images/Environment Art.png +0 -0
  214. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/style_preset_images/default_style_preset_images/Illustration.png +0 -0
  215. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/style_preset_images/default_style_preset_images/Interior Design (Visualization).png +0 -0
  216. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/style_preset_images/default_style_preset_images/Line Art.png +0 -0
  217. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/style_preset_images/default_style_preset_images/Photography (Black and White).png +0 -0
  218. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/style_preset_images/default_style_preset_images/Photography (General).png +0 -0
  219. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/style_preset_images/default_style_preset_images/Photography (Landscape).png +0 -0
  220. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/style_preset_images/default_style_preset_images/Photography (Portrait).png +0 -0
  221. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/style_preset_images/default_style_preset_images/Photography (Studio Lighting).png +0 -0
  222. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/style_preset_images/default_style_preset_images/Product Rendering.png +0 -0
  223. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/style_preset_images/default_style_preset_images/Sketch.png +0 -0
  224. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/style_preset_images/default_style_preset_images/Vehicles.png +0 -0
  225. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/style_preset_images/default_style_preset_images/__init__.py +0 -0
  226. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/style_preset_images/style_preset_images_base.py +0 -0
  227. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/style_preset_images/style_preset_images_common.py +0 -0
  228. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/style_preset_images/style_preset_images_disk.py +0 -0
  229. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/style_preset_records/__init__.py +0 -0
  230. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/style_preset_records/default_style_presets.json +0 -0
  231. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/style_preset_records/style_preset_records_base.py +0 -0
  232. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/style_preset_records/style_preset_records_common.py +0 -0
  233. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/style_preset_records/style_preset_records_sqlite.py +0 -0
  234. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/urls/__init__.py +0 -0
  235. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/urls/urls_base.py +0 -0
  236. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/urls/urls_default.py +0 -0
  237. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/workflow_records/__init__.py +0 -0
  238. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/workflow_records/default_workflows/ESRGAN Upscaling with Canny ControlNet.json +0 -0
  239. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/workflow_records/default_workflows/Face Detailer with IP-Adapter & Canny (See Note in Details).json +0 -0
  240. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/workflow_records/default_workflows/Multi ControlNet (Canny & Depth).json +0 -0
  241. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/workflow_records/default_workflows/MultiDiffusion SD1.5.json +0 -0
  242. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/workflow_records/default_workflows/MultiDiffusion SDXL.json +0 -0
  243. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/workflow_records/default_workflows/Prompt from File.json +0 -0
  244. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/workflow_records/default_workflows/Text to Image - SD1.5.json +0 -0
  245. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/workflow_records/default_workflows/Text to Image - SDXL.json +0 -0
  246. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/workflow_records/default_workflows/Text to Image with LoRA.json +0 -0
  247. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/workflow_records/default_workflows/Tiled Upscaling (Beta).json +0 -0
  248. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/workflow_records/workflow_records_base.py +0 -0
  249. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/workflow_records/workflow_records_common.py +0 -0
  250. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/services/workflow_records/workflow_records_sqlite.py +0 -0
  251. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/shared/__init__.py +0 -0
  252. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/shared/models.py +0 -0
  253. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/util/__init__.py +0 -0
  254. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/util/controlnet_utils.py +0 -0
  255. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/util/custom_openapi.py +0 -0
  256. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/util/metaenum.py +0 -0
  257. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/util/misc.py +0 -0
  258. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/util/model_exclude_null.py +0 -0
  259. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/util/profiler.py +0 -0
  260. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/util/step_callback.py +0 -0
  261. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/util/suppress_output.py +0 -0
  262. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/util/thumbnails.py +0 -0
  263. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/app/util/ti_utils.py +0 -0
  264. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/assets/fonts/inter/Inter-Regular.ttf +0 -0
  265. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/__init__.py +0 -0
  266. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/flux/math.py +0 -0
  267. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/flux/model.py +0 -0
  268. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/flux/modules/autoencoder.py +0 -0
  269. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/flux/modules/conditioner.py +0 -0
  270. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/flux/modules/layers.py +0 -0
  271. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/flux/util.py +0 -0
  272. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/image_util/__init__.py +0 -0
  273. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/image_util/basicsr/__init__.py +0 -0
  274. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/image_util/basicsr/arch_util.py +0 -0
  275. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/image_util/basicsr/rrdbnet_arch.py +0 -0
  276. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/image_util/canny.py +0 -0
  277. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/image_util/depth_anything/depth_anything_pipeline.py +0 -0
  278. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/image_util/dw_openpose/__init__.py +0 -0
  279. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/image_util/dw_openpose/onnxdet.py +0 -0
  280. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/image_util/dw_openpose/onnxpose.py +0 -0
  281. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/image_util/dw_openpose/utils.py +0 -0
  282. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/image_util/dw_openpose/wholebody.py +0 -0
  283. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/image_util/grounding_dino/__init__.py +0 -0
  284. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/image_util/grounding_dino/detection_result.py +0 -0
  285. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/image_util/grounding_dino/grounding_dino_pipeline.py +0 -0
  286. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/image_util/hed.py +0 -0
  287. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/image_util/infill_methods/cv2_inpaint.py +0 -0
  288. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/image_util/infill_methods/lama.py +0 -0
  289. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/image_util/infill_methods/mosaic.py +0 -0
  290. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/image_util/infill_methods/patchmatch.py +0 -0
  291. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/image_util/infill_methods/tile.py +0 -0
  292. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/image_util/invisible_watermark.py +0 -0
  293. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/image_util/lineart.py +0 -0
  294. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/image_util/lineart_anime.py +0 -0
  295. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/image_util/pngwriter.py +0 -0
  296. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/image_util/realesrgan/__init__.py +0 -0
  297. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/image_util/realesrgan/realesrgan.py +0 -0
  298. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/image_util/safety_checker.py +0 -0
  299. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/image_util/segment_anything/__init__.py +0 -0
  300. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/image_util/segment_anything/mask_refinement.py +0 -0
  301. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/image_util/segment_anything/segment_anything_pipeline.py +0 -0
  302. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/image_util/util.py +0 -0
  303. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/ip_adapter/__init__.py +0 -0
  304. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/ip_adapter/ip_adapter.py +0 -0
  305. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/ip_adapter/ip_attention_weights.py +0 -0
  306. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/ip_adapter/resampler.py +0 -0
  307. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/lora.py +0 -0
  308. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_hash/hash_validator.py +0 -0
  309. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_hash/model_hash.py +0 -0
  310. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_manager/__init__.py +0 -0
  311. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_manager/config.py +0 -0
  312. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_manager/load/__init__.py +0 -0
  313. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_manager/load/load_base.py +0 -0
  314. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_manager/load/memory_snapshot.py +0 -0
  315. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_manager/load/model_cache/__init__.py +0 -0
  316. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_manager/load/model_cache/model_locker.py +0 -0
  317. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_manager/load/model_loader_registry.py +0 -0
  318. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_manager/load/model_loaders/__init__.py +0 -0
  319. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_manager/load/model_loaders/controlnet.py +0 -0
  320. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_manager/load/model_loaders/flux.py +0 -0
  321. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_manager/load/model_loaders/generic_diffusers.py +0 -0
  322. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_manager/load/model_loaders/ip_adapter.py +0 -0
  323. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_manager/load/model_loaders/lora.py +0 -0
  324. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_manager/load/model_loaders/onnx.py +0 -0
  325. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_manager/load/model_loaders/spandrel_image_to_image.py +0 -0
  326. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_manager/load/model_loaders/stable_diffusion.py +0 -0
  327. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_manager/load/model_loaders/textual_inversion.py +0 -0
  328. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_manager/load/model_loaders/vae.py +0 -0
  329. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_manager/load/model_util.py +0 -0
  330. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_manager/load/optimizations.py +0 -0
  331. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_manager/merge.py +0 -0
  332. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_manager/metadata/__init__.py +0 -0
  333. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_manager/metadata/fetch/__init__.py +0 -0
  334. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_manager/metadata/fetch/fetch_base.py +0 -0
  335. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_manager/metadata/fetch/huggingface.py +0 -0
  336. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_manager/metadata/metadata_base.py +0 -0
  337. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_manager/probe.py +0 -0
  338. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_manager/search.py +0 -0
  339. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_manager/starter_models.py +0 -0
  340. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_manager/util/libc_util.py +0 -0
  341. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_manager/util/model_util.py +0 -0
  342. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_manager/util/select_hf_files.py +0 -0
  343. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/model_patcher.py +0 -0
  344. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/onnx/onnx_runtime.py +0 -0
  345. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/quantization/__init__.py +0 -0
  346. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/quantization/bnb_nf4.py +0 -0
  347. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/quantization/scripts/load_flux_model_bnb_llm_int8.py +0 -0
  348. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/quantization/scripts/load_flux_model_bnb_nf4.py +0 -0
  349. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/quantization/scripts/quantize_t5_xxl_bnb_llm_int8.py +0 -0
  350. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/raw_model.py +0 -0
  351. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/spandrel_image_to_image_model.py +0 -0
  352. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/stable_diffusion/__init__.py +0 -0
  353. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/stable_diffusion/denoise_context.py +0 -0
  354. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/stable_diffusion/diffusers_pipeline.py +0 -0
  355. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/stable_diffusion/diffusion/__init__.py +0 -0
  356. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/stable_diffusion/diffusion/custom_atttention.py +0 -0
  357. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/stable_diffusion/diffusion/regional_ip_data.py +0 -0
  358. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/stable_diffusion/diffusion/regional_prompt_data.py +0 -0
  359. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py +0 -0
  360. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/stable_diffusion/diffusion/unet_attention_patcher.py +0 -0
  361. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/stable_diffusion/diffusion_backend.py +0 -0
  362. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/stable_diffusion/extension_callback_type.py +0 -0
  363. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/stable_diffusion/extensions/base.py +0 -0
  364. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/stable_diffusion/extensions/controlnet.py +0 -0
  365. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/stable_diffusion/extensions/freeu.py +0 -0
  366. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/stable_diffusion/extensions/inpaint.py +0 -0
  367. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/stable_diffusion/extensions/inpaint_model.py +0 -0
  368. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/stable_diffusion/extensions/lora.py +0 -0
  369. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/stable_diffusion/extensions/preview.py +0 -0
  370. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/stable_diffusion/extensions/rescale_cfg.py +0 -0
  371. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/stable_diffusion/extensions/seamless.py +0 -0
  372. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/stable_diffusion/extensions/t2i_adapter.py +0 -0
  373. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/stable_diffusion/extensions_manager.py +0 -0
  374. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/stable_diffusion/multi_diffusion_pipeline.py +0 -0
  375. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/stable_diffusion/schedulers/__init__.py +0 -0
  376. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/stable_diffusion/schedulers/schedulers.py +0 -0
  377. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/stable_diffusion/vae_tiling.py +0 -0
  378. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/textual_inversion.py +0 -0
  379. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/tiles/__init__.py +0 -0
  380. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/tiles/tiles.py +0 -0
  381. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/tiles/utils.py +0 -0
  382. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/util/attention.py +0 -0
  383. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/util/catch_sigint.py +0 -0
  384. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/util/db_maintenance.py +0 -0
  385. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/util/devices.py +0 -0
  386. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/util/hotfixes.py +0 -0
  387. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/util/logging.py +0 -0
  388. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/util/mask.py +0 -0
  389. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/util/mps_fixes.py +0 -0
  390. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/util/original_weights_storage.py +0 -0
  391. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/util/silence_warnings.py +0 -0
  392. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/backend/util/test_utils.py +0 -0
  393. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/configs/controlnet/cldm_v15.yaml +0 -0
  394. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/configs/controlnet/cldm_v21.yaml +0 -0
  395. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/configs/stable-diffusion/sd_xl_base.yaml +0 -0
  396. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/configs/stable-diffusion/sd_xl_inpaint.yaml +0 -0
  397. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/configs/stable-diffusion/sd_xl_refiner.yaml +0 -0
  398. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/configs/stable-diffusion/v1-finetune.yaml +0 -0
  399. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/configs/stable-diffusion/v1-finetune_style.yaml +0 -0
  400. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/configs/stable-diffusion/v1-inference-v.yaml +0 -0
  401. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/configs/stable-diffusion/v1-inference.yaml +0 -0
  402. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/configs/stable-diffusion/v1-inpainting-inference.yaml +0 -0
  403. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/configs/stable-diffusion/v1-m1-finetune.yaml +0 -0
  404. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/configs/stable-diffusion/v2-inference-v.yaml +0 -0
  405. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/configs/stable-diffusion/v2-inference.yaml +0 -0
  406. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/configs/stable-diffusion/v2-inpainting-inference-v.yaml +0 -0
  407. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/configs/stable-diffusion/v2-inpainting-inference.yaml +0 -0
  408. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/configs/stable-diffusion/v2-midas-inference.yaml +0 -0
  409. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/__init__.py +0 -0
  410. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/cli/__init__.py +0 -0
  411. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/cli/arg_parser.py +0 -0
  412. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/install/__init__.py +0 -0
  413. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/install/import_images.py +0 -0
  414. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/__init__.py +0 -0
  415. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/assets/App-DEu4J2pT.css +0 -0
  416. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-B2NxUfIp.css +0 -0
  417. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/assets/images/invoke-alert-favicon.svg +0 -0
  418. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/assets/images/invoke-avatar-circle.svg +0 -0
  419. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/assets/images/invoke-avatar-square.svg +0 -0
  420. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/assets/images/invoke-favicon.png +0 -0
  421. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/assets/images/invoke-favicon.svg +0 -0
  422. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/assets/images/invoke-key-char-lrg.svg +0 -0
  423. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/assets/images/invoke-key-char-sml.svg +0 -0
  424. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/assets/images/invoke-key-wht-lrg.svg +0 -0
  425. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/assets/images/invoke-key-wht-sml.svg +0 -0
  426. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/assets/images/invoke-symbol-char-lrg.svg +0 -0
  427. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/assets/images/invoke-symbol-char-sml.svg +0 -0
  428. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/assets/images/invoke-symbol-wht-lrg.svg +0 -0
  429. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/assets/images/invoke-symbol-wht-sml.svg +0 -0
  430. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/assets/images/invoke-symbol-ylw-lrg.svg +0 -0
  431. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/assets/images/invoke-tag-char-lrg.svg +0 -0
  432. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/assets/images/invoke-tag-char-sml.svg +0 -0
  433. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/assets/images/invoke-tag-lrg.svg +0 -0
  434. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/assets/images/invoke-tag-sml.svg +0 -0
  435. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/assets/images/invoke-wordmark-charcoal.svg +0 -0
  436. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/assets/images/invoke-wordmark-white.svg +0 -0
  437. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/assets/images/mask.svg +0 -0
  438. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/assets/images/transparent_bg.png +0 -0
  439. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/assets/inter-cyrillic-ext-wght-normal-B2xhLi22.woff2 +0 -0
  440. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/assets/inter-cyrillic-wght-normal-CMZtQduZ.woff2 +0 -0
  441. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/assets/inter-greek-ext-wght-normal-CGAr0uHJ.woff2 +0 -0
  442. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/assets/inter-greek-wght-normal-CaVNZxsx.woff2 +0 -0
  443. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/assets/inter-latin-ext-wght-normal-CFHvXkgd.woff2 +0 -0
  444. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/assets/inter-latin-wght-normal-C2S99t-D.woff2 +0 -0
  445. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2 +0 -0
  446. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/assets/worker-Dywf1EVc.js +0 -0
  447. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/locales/ar.json +0 -0
  448. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/locales/az.json +0 -0
  449. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/locales/bg.json +0 -0
  450. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/locales/de.json +0 -0
  451. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/locales/es.json +0 -0
  452. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/locales/fi.json +0 -0
  453. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/locales/fr.json +0 -0
  454. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/locales/he.json +0 -0
  455. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/locales/hu.json +0 -0
  456. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/locales/it.json +0 -0
  457. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/locales/ja.json +0 -0
  458. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/locales/ko.json +0 -0
  459. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/locales/mn.json +0 -0
  460. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/locales/nl.json +0 -0
  461. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/locales/pl.json +0 -0
  462. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/locales/pt.json +0 -0
  463. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/locales/pt_BR.json +0 -0
  464. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/locales/ro.json +0 -0
  465. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/locales/ru.json +0 -0
  466. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/locales/sv.json +0 -0
  467. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/locales/tr.json +0 -0
  468. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/locales/uk.json +0 -0
  469. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/locales/vi.json +0 -0
  470. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/locales/zh_CN.json +0 -0
  471. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/dist/locales/zh_Hant.json +0 -0
  472. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/scripts/clean_translations.py +0 -0
  473. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/frontend/web/static/docs/invoke-favicon-docs.svg +0 -0
  474. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/invocation_api/__init__.py +0 -0
  475. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/invokeai/version/__init__.py +0 -0
  476. {InvokeAI-4.2.9.dev8 → InvokeAI-4.2.9.dev9}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: InvokeAI
3
- Version: 4.2.9.dev8
3
+ Version: 4.2.9.dev9
4
4
  Summary: An implementation of Stable Diffusion which provides various new features and options to aid the image generation process
5
5
  Author-email: The InvokeAI Project <lincoln.stein@gmail.com>
6
6
  License: Apache License
@@ -403,11 +403,11 @@ invokeai/frontend/install/__init__.py
403
403
  invokeai/frontend/install/import_images.py
404
404
  invokeai/frontend/web/__init__.py
405
405
  invokeai/frontend/web/dist/index.html
406
- invokeai/frontend/web/dist/assets/App-B1xXrt8x.js
407
406
  invokeai/frontend/web/dist/assets/App-DEu4J2pT.css
407
+ invokeai/frontend/web/dist/assets/App-DQ9eSnfG.js
408
408
  invokeai/frontend/web/dist/assets/ThemeLocaleProvider-B2NxUfIp.css
409
- invokeai/frontend/web/dist/assets/ThemeLocaleProvider-BSRQyfxR.js
410
- invokeai/frontend/web/dist/assets/index-4VBs_C-Q.js
409
+ invokeai/frontend/web/dist/assets/ThemeLocaleProvider-D2UT1a6F.js
410
+ invokeai/frontend/web/dist/assets/index-CiDHB6Bv.js
411
411
  invokeai/frontend/web/dist/assets/inter-cyrillic-ext-wght-normal-B2xhLi22.woff2
412
412
  invokeai/frontend/web/dist/assets/inter-cyrillic-wght-normal-CMZtQduZ.woff2
413
413
  invokeai/frontend/web/dist/assets/inter-greek-ext-wght-normal-CGAr0uHJ.woff2
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ invokeai-web = invokeai.app.run_app:run_app
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: InvokeAI
3
- Version: 4.2.9.dev8
3
+ Version: 4.2.9.dev9
4
4
  Summary: An implementation of Stable Diffusion which provides various new features and options to aid the image generation process
5
5
  Author-email: The InvokeAI Project <lincoln.stein@gmail.com>
6
6
  License: Apache License
@@ -45,11 +45,13 @@ class UIType(str, Enum, metaclass=MetaEnum):
45
45
  SDXLRefinerModel = "SDXLRefinerModelField"
46
46
  ONNXModel = "ONNXModelField"
47
47
  VAEModel = "VAEModelField"
48
+ FluxVAEModel = "FluxVAEModelField"
48
49
  LoRAModel = "LoRAModelField"
49
50
  ControlNetModel = "ControlNetModelField"
50
51
  IPAdapterModel = "IPAdapterModelField"
51
52
  T2IAdapterModel = "T2IAdapterModelField"
52
53
  T5EncoderModel = "T5EncoderModelField"
54
+ CLIPEmbedModel = "CLIPEmbedModelField"
53
55
  SpandrelImageToImageModel = "SpandrelImageToImageModelField"
54
56
  # endregion
55
57
 
@@ -128,6 +130,7 @@ class FieldDescriptions:
128
130
  noise = "Noise tensor"
129
131
  clip = "CLIP (tokenizer, text encoder, LoRAs) and skipped layer count"
130
132
  t5_encoder = "T5 tokenizer and text encoder"
133
+ clip_embed_model = "CLIP Embed loader"
131
134
  unet = "UNet (scheduler, LoRAs)"
132
135
  transformer = "Transformer"
133
136
  vae = "VAE"
@@ -40,7 +40,10 @@ class FluxTextEncoderInvocation(BaseInvocation):
40
40
 
41
41
  @torch.no_grad()
42
42
  def invoke(self, context: InvocationContext) -> FluxConditioningOutput:
43
- t5_embeddings, clip_embeddings = self._encode_prompt(context)
43
+ # Note: The T5 and CLIP encoding are done in separate functions to ensure that all model references are locally
44
+ # scoped. This ensures that the T5 model can be freed and gc'd before loading the CLIP model (if necessary).
45
+ t5_embeddings = self._t5_encode(context)
46
+ clip_embeddings = self._clip_encode(context)
44
47
  conditioning_data = ConditioningFieldData(
45
48
  conditionings=[FLUXConditioningInfo(clip_embeds=clip_embeddings, t5_embeds=t5_embeddings)]
46
49
  )
@@ -48,12 +51,7 @@ class FluxTextEncoderInvocation(BaseInvocation):
48
51
  conditioning_name = context.conditioning.save(conditioning_data)
49
52
  return FluxConditioningOutput.build(conditioning_name)
50
53
 
51
- def _encode_prompt(self, context: InvocationContext) -> tuple[torch.Tensor, torch.Tensor]:
52
- # Load CLIP.
53
- clip_tokenizer_info = context.models.load(self.clip.tokenizer)
54
- clip_text_encoder_info = context.models.load(self.clip.text_encoder)
55
-
56
- # Load T5.
54
+ def _t5_encode(self, context: InvocationContext) -> torch.Tensor:
57
55
  t5_tokenizer_info = context.models.load(self.t5_encoder.tokenizer)
58
56
  t5_text_encoder_info = context.models.load(self.t5_encoder.text_encoder)
59
57
 
@@ -70,6 +68,15 @@ class FluxTextEncoderInvocation(BaseInvocation):
70
68
 
71
69
  prompt_embeds = t5_encoder(prompt)
72
70
 
71
+ assert isinstance(prompt_embeds, torch.Tensor)
72
+ return prompt_embeds
73
+
74
+ def _clip_encode(self, context: InvocationContext) -> torch.Tensor:
75
+ clip_tokenizer_info = context.models.load(self.clip.tokenizer)
76
+ clip_text_encoder_info = context.models.load(self.clip.text_encoder)
77
+
78
+ prompt = [self.prompt]
79
+
73
80
  with (
74
81
  clip_text_encoder_info as clip_text_encoder,
75
82
  clip_tokenizer_info as clip_tokenizer,
@@ -81,6 +88,5 @@ class FluxTextEncoderInvocation(BaseInvocation):
81
88
 
82
89
  pooled_prompt_embeds = clip_encoder(prompt)
83
90
 
84
- assert isinstance(prompt_embeds, torch.Tensor)
85
91
  assert isinstance(pooled_prompt_embeds, torch.Tensor)
86
- return prompt_embeds, pooled_prompt_embeds
92
+ return pooled_prompt_embeds
@@ -58,13 +58,7 @@ class FluxTextToImageInvocation(BaseInvocation, WithMetadata, WithBoard):
58
58
 
59
59
  @torch.no_grad()
60
60
  def invoke(self, context: InvocationContext) -> ImageOutput:
61
- # Load the conditioning data.
62
- cond_data = context.conditioning.load(self.positive_text_conditioning.conditioning_name)
63
- assert len(cond_data.conditionings) == 1
64
- flux_conditioning = cond_data.conditionings[0]
65
- assert isinstance(flux_conditioning, FLUXConditioningInfo)
66
-
67
- latents = self._run_diffusion(context, flux_conditioning.clip_embeds, flux_conditioning.t5_embeds)
61
+ latents = self._run_diffusion(context)
68
62
  image = self._run_vae_decoding(context, latents)
69
63
  image_dto = context.images.save(image=image)
70
64
  return ImageOutput.build(image_dto)
@@ -72,12 +66,20 @@ class FluxTextToImageInvocation(BaseInvocation, WithMetadata, WithBoard):
72
66
  def _run_diffusion(
73
67
  self,
74
68
  context: InvocationContext,
75
- clip_embeddings: torch.Tensor,
76
- t5_embeddings: torch.Tensor,
77
69
  ):
78
- transformer_info = context.models.load(self.transformer.transformer)
79
70
  inference_dtype = torch.bfloat16
80
71
 
72
+ # Load the conditioning data.
73
+ cond_data = context.conditioning.load(self.positive_text_conditioning.conditioning_name)
74
+ assert len(cond_data.conditionings) == 1
75
+ flux_conditioning = cond_data.conditionings[0]
76
+ assert isinstance(flux_conditioning, FLUXConditioningInfo)
77
+ flux_conditioning = flux_conditioning.to(dtype=inference_dtype)
78
+ t5_embeddings = flux_conditioning.t5_embeds
79
+ clip_embeddings = flux_conditioning.clip_embeds
80
+
81
+ transformer_info = context.models.load(self.transformer.transformer)
82
+
81
83
  # Prepare input noise.
82
84
  x = get_noise(
83
85
  num_samples=1,
@@ -88,24 +90,19 @@ class FluxTextToImageInvocation(BaseInvocation, WithMetadata, WithBoard):
88
90
  seed=self.seed,
89
91
  )
90
92
 
91
- img, img_ids = prepare_latent_img_patches(x)
93
+ x, img_ids = prepare_latent_img_patches(x)
92
94
 
93
95
  is_schnell = "schnell" in transformer_info.config.config_path
94
96
 
95
97
  timesteps = get_schedule(
96
98
  num_steps=self.num_steps,
97
- image_seq_len=img.shape[1],
99
+ image_seq_len=x.shape[1],
98
100
  shift=not is_schnell,
99
101
  )
100
102
 
101
103
  bs, t5_seq_len, _ = t5_embeddings.shape
102
104
  txt_ids = torch.zeros(bs, t5_seq_len, 3, dtype=inference_dtype, device=TorchDevice.choose_torch_device())
103
105
 
104
- # HACK(ryand): Manually empty the cache. Currently we don't check the size of the model before loading it from
105
- # disk. Since the transformer model is large (24GB), there's a good chance that it will OOM on 32GB RAM systems
106
- # if the cache is not empty.
107
- context.models._services.model_manager.load.ram_cache.make_room(24 * 2**30)
108
-
109
106
  with transformer_info as transformer:
110
107
  assert isinstance(transformer, Flux)
111
108
 
@@ -140,7 +137,7 @@ class FluxTextToImageInvocation(BaseInvocation, WithMetadata, WithBoard):
140
137
 
141
138
  x = denoise(
142
139
  model=transformer,
143
- img=img,
140
+ img=x,
144
141
  img_ids=img_ids,
145
142
  txt=t5_embeddings,
146
143
  txt_ids=txt_ids,
@@ -157,7 +157,7 @@ class FluxModelLoaderOutput(BaseInvocationOutput):
157
157
  title="Flux Main Model",
158
158
  tags=["model", "flux"],
159
159
  category="model",
160
- version="1.0.3",
160
+ version="1.0.4",
161
161
  classification=Classification.Prototype,
162
162
  )
163
163
  class FluxModelLoaderInvocation(BaseInvocation):
@@ -169,23 +169,35 @@ class FluxModelLoaderInvocation(BaseInvocation):
169
169
  input=Input.Direct,
170
170
  )
171
171
 
172
- t5_encoder: ModelIdentifierField = InputField(
173
- description=FieldDescriptions.t5_encoder,
174
- ui_type=UIType.T5EncoderModel,
172
+ t5_encoder_model: ModelIdentifierField = InputField(
173
+ description=FieldDescriptions.t5_encoder, ui_type=UIType.T5EncoderModel, input=Input.Direct, title="T5 Encoder"
174
+ )
175
+
176
+ clip_embed_model: ModelIdentifierField = InputField(
177
+ description=FieldDescriptions.clip_embed_model,
178
+ ui_type=UIType.CLIPEmbedModel,
175
179
  input=Input.Direct,
180
+ title="CLIP Embed",
181
+ )
182
+
183
+ vae_model: ModelIdentifierField = InputField(
184
+ description=FieldDescriptions.vae_model, ui_type=UIType.FluxVAEModel, title="VAE"
176
185
  )
177
186
 
178
187
  def invoke(self, context: InvocationContext) -> FluxModelLoaderOutput:
179
- model_key = self.model.key
180
-
181
- if not context.models.exists(model_key):
182
- raise ValueError(f"Unknown model: {model_key}")
183
- transformer = self._get_model(context, SubModelType.Transformer)
184
- tokenizer = self._get_model(context, SubModelType.Tokenizer)
185
- tokenizer2 = self._get_model(context, SubModelType.Tokenizer2)
186
- clip_encoder = self._get_model(context, SubModelType.TextEncoder)
187
- t5_encoder = self._get_model(context, SubModelType.TextEncoder2)
188
- vae = self._get_model(context, SubModelType.VAE)
188
+ for key in [self.model.key, self.t5_encoder_model.key, self.clip_embed_model.key, self.vae_model.key]:
189
+ if not context.models.exists(key):
190
+ raise ValueError(f"Unknown model: {key}")
191
+
192
+ transformer = self.model.model_copy(update={"submodel_type": SubModelType.Transformer})
193
+ vae = self.vae_model.model_copy(update={"submodel_type": SubModelType.VAE})
194
+
195
+ tokenizer = self.clip_embed_model.model_copy(update={"submodel_type": SubModelType.Tokenizer})
196
+ clip_encoder = self.clip_embed_model.model_copy(update={"submodel_type": SubModelType.TextEncoder})
197
+
198
+ tokenizer2 = self.t5_encoder_model.model_copy(update={"submodel_type": SubModelType.Tokenizer2})
199
+ t5_encoder = self.t5_encoder_model.model_copy(update={"submodel_type": SubModelType.TextEncoder2})
200
+
189
201
  transformer_config = context.models.get_config(transformer)
190
202
  assert isinstance(transformer_config, CheckpointConfigBase)
191
203
 
@@ -197,52 +209,6 @@ class FluxModelLoaderInvocation(BaseInvocation):
197
209
  max_seq_len=max_seq_lengths[transformer_config.config_path],
198
210
  )
199
211
 
200
- def _get_model(self, context: InvocationContext, submodel: SubModelType) -> ModelIdentifierField:
201
- match submodel:
202
- case SubModelType.Transformer:
203
- return self.model.model_copy(update={"submodel_type": SubModelType.Transformer})
204
- case SubModelType.VAE:
205
- return self._pull_model_from_mm(
206
- context,
207
- SubModelType.VAE,
208
- "FLUX.1-schnell_ae",
209
- ModelType.VAE,
210
- BaseModelType.Flux,
211
- )
212
- case submodel if submodel in [SubModelType.Tokenizer, SubModelType.TextEncoder]:
213
- return self._pull_model_from_mm(
214
- context,
215
- submodel,
216
- "clip-vit-large-patch14",
217
- ModelType.CLIPEmbed,
218
- BaseModelType.Any,
219
- )
220
- case submodel if submodel in [SubModelType.Tokenizer2, SubModelType.TextEncoder2]:
221
- return self._pull_model_from_mm(
222
- context,
223
- submodel,
224
- self.t5_encoder.name,
225
- ModelType.T5Encoder,
226
- BaseModelType.Any,
227
- )
228
- case _:
229
- raise Exception(f"{submodel.value} is not a supported submodule for a flux model")
230
-
231
- def _pull_model_from_mm(
232
- self,
233
- context: InvocationContext,
234
- submodel: SubModelType,
235
- name: str,
236
- type: ModelType,
237
- base: BaseModelType,
238
- ):
239
- if models := context.models.search_by_attrs(name=name, base=base, type=type):
240
- if len(models) != 1:
241
- raise Exception(f"Multiple models detected for selected model with name {name}")
242
- return ModelIdentifierField.from_config(models[0]).model_copy(update={"submodel_type": submodel})
243
- else:
244
- raise ValueError(f"Please install the {base}:{type} model named {name} via starter models")
245
-
246
212
 
247
213
  @invocation(
248
214
  "main_model_loader",
@@ -2,13 +2,13 @@
2
2
  "name": "FLUX Text to Image",
3
3
  "author": "InvokeAI",
4
4
  "description": "A simple text-to-image workflow using FLUX dev or schnell models. Prerequisite model downloads: T5 Encoder, CLIP-L Encoder, and FLUX VAE. Quantized and un-quantized versions can be found in the starter models tab within your Model Manager. We recommend 4 steps for FLUX schnell models and 30 steps for FLUX dev models.",
5
- "version": "1.0.0",
5
+ "version": "1.0.4",
6
6
  "contact": "",
7
7
  "tags": "text2image, flux",
8
8
  "notes": "Prerequisite model downloads: T5 Encoder, CLIP-L Encoder, and FLUX VAE. Quantized and un-quantized versions can be found in the starter models tab within your Model Manager. We recommend 4 steps for FLUX schnell models and 30 steps for FLUX dev models.",
9
9
  "exposedFields": [
10
10
  {
11
- "nodeId": "4f0207c2-ff40-41fd-b047-ad33fbb1c33a",
11
+ "nodeId": "f8d9d7c8-9ed7-4bd7-9e42-ab0e89bfac90",
12
12
  "fieldName": "model"
13
13
  },
14
14
  {
@@ -20,8 +20,8 @@
20
20
  "fieldName": "num_steps"
21
21
  },
22
22
  {
23
- "nodeId": "4f0207c2-ff40-41fd-b047-ad33fbb1c33a",
24
- "fieldName": "t5_encoder"
23
+ "nodeId": "f8d9d7c8-9ed7-4bd7-9e42-ab0e89bfac90",
24
+ "fieldName": "t5_encoder_model"
25
25
  }
26
26
  ],
27
27
  "meta": {
@@ -30,12 +30,12 @@
30
30
  },
31
31
  "nodes": [
32
32
  {
33
- "id": "4f0207c2-ff40-41fd-b047-ad33fbb1c33a",
33
+ "id": "f8d9d7c8-9ed7-4bd7-9e42-ab0e89bfac90",
34
34
  "type": "invocation",
35
35
  "data": {
36
- "id": "4f0207c2-ff40-41fd-b047-ad33fbb1c33a",
36
+ "id": "f8d9d7c8-9ed7-4bd7-9e42-ab0e89bfac90",
37
37
  "type": "flux_model_loader",
38
- "version": "1.0.3",
38
+ "version": "1.0.4",
39
39
  "label": "",
40
40
  "notes": "",
41
41
  "isOpen": true,
@@ -44,31 +44,25 @@
44
44
  "inputs": {
45
45
  "model": {
46
46
  "name": "model",
47
- "label": "Model (Starter Models can be found in Model Manager)",
48
- "value": {
49
- "key": "f04a7a2f-c74d-4538-8d5e-879a53501662",
50
- "hash": "random:4875da7a9508444ffa706f61961c260d0c6729f6181a86b31fad06df1277b850",
51
- "name": "FLUX Dev (Quantized)",
52
- "base": "flux",
53
- "type": "main"
54
- }
47
+ "label": ""
55
48
  },
56
- "t5_encoder": {
57
- "name": "t5_encoder",
58
- "label": "T 5 Encoder (Starter Models can be found in Model Manager)",
59
- "value": {
60
- "key": "20dcd9ec-5fbb-4012-8401-049e707da5e5",
61
- "hash": "random:f986be43ff3502169e4adbdcee158afb0e0a65a1edc4cab16ae59963630cfd8f",
62
- "name": "t5_bnb_int8_quantized_encoder",
63
- "base": "any",
64
- "type": "t5_encoder"
65
- }
49
+ "t5_encoder_model": {
50
+ "name": "t5_encoder_model",
51
+ "label": ""
52
+ },
53
+ "clip_embed_model": {
54
+ "name": "clip_embed_model",
55
+ "label": ""
56
+ },
57
+ "vae_model": {
58
+ "name": "vae_model",
59
+ "label": ""
66
60
  }
67
61
  }
68
62
  },
69
63
  "position": {
70
- "x": 337.09365228062825,
71
- "y": 40.63469521079861
64
+ "x": 381.1882713063478,
65
+ "y": -95.89663532854017
72
66
  }
73
67
  },
74
68
  {
@@ -207,45 +201,45 @@
207
201
  ],
208
202
  "edges": [
209
203
  {
210
- "id": "reactflow__edge-4f0207c2-ff40-41fd-b047-ad33fbb1c33amax_seq_len-01f674f8-b3d1-4df1-acac-6cb8e0bfb63ct5_max_seq_len",
204
+ "id": "reactflow__edge-f8d9d7c8-9ed7-4bd7-9e42-ab0e89bfac90max_seq_len-01f674f8-b3d1-4df1-acac-6cb8e0bfb63ct5_max_seq_len",
211
205
  "type": "default",
212
- "source": "4f0207c2-ff40-41fd-b047-ad33fbb1c33a",
206
+ "source": "f8d9d7c8-9ed7-4bd7-9e42-ab0e89bfac90",
213
207
  "target": "01f674f8-b3d1-4df1-acac-6cb8e0bfb63c",
214
208
  "sourceHandle": "max_seq_len",
215
209
  "targetHandle": "t5_max_seq_len"
216
210
  },
217
211
  {
218
- "id": "reactflow__edge-4f0207c2-ff40-41fd-b047-ad33fbb1c33avae-159bdf1b-79e7-4174-b86e-d40e646964c8vae",
212
+ "id": "reactflow__edge-f8d9d7c8-9ed7-4bd7-9e42-ab0e89bfac90vae-159bdf1b-79e7-4174-b86e-d40e646964c8vae",
219
213
  "type": "default",
220
- "source": "4f0207c2-ff40-41fd-b047-ad33fbb1c33a",
214
+ "source": "f8d9d7c8-9ed7-4bd7-9e42-ab0e89bfac90",
221
215
  "target": "159bdf1b-79e7-4174-b86e-d40e646964c8",
222
216
  "sourceHandle": "vae",
223
217
  "targetHandle": "vae"
224
218
  },
225
219
  {
226
- "id": "reactflow__edge-4f0207c2-ff40-41fd-b047-ad33fbb1c33atransformer-159bdf1b-79e7-4174-b86e-d40e646964c8transformer",
227
- "type": "default",
228
- "source": "4f0207c2-ff40-41fd-b047-ad33fbb1c33a",
229
- "target": "159bdf1b-79e7-4174-b86e-d40e646964c8",
230
- "sourceHandle": "transformer",
231
- "targetHandle": "transformer"
232
- },
233
- {
234
- "id": "reactflow__edge-4f0207c2-ff40-41fd-b047-ad33fbb1c33at5_encoder-01f674f8-b3d1-4df1-acac-6cb8e0bfb63ct5_encoder",
220
+ "id": "reactflow__edge-f8d9d7c8-9ed7-4bd7-9e42-ab0e89bfac90t5_encoder-01f674f8-b3d1-4df1-acac-6cb8e0bfb63ct5_encoder",
235
221
  "type": "default",
236
- "source": "4f0207c2-ff40-41fd-b047-ad33fbb1c33a",
222
+ "source": "f8d9d7c8-9ed7-4bd7-9e42-ab0e89bfac90",
237
223
  "target": "01f674f8-b3d1-4df1-acac-6cb8e0bfb63c",
238
224
  "sourceHandle": "t5_encoder",
239
225
  "targetHandle": "t5_encoder"
240
226
  },
241
227
  {
242
- "id": "reactflow__edge-4f0207c2-ff40-41fd-b047-ad33fbb1c33aclip-01f674f8-b3d1-4df1-acac-6cb8e0bfb63cclip",
228
+ "id": "reactflow__edge-f8d9d7c8-9ed7-4bd7-9e42-ab0e89bfac90clip-01f674f8-b3d1-4df1-acac-6cb8e0bfb63cclip",
243
229
  "type": "default",
244
- "source": "4f0207c2-ff40-41fd-b047-ad33fbb1c33a",
230
+ "source": "f8d9d7c8-9ed7-4bd7-9e42-ab0e89bfac90",
245
231
  "target": "01f674f8-b3d1-4df1-acac-6cb8e0bfb63c",
246
232
  "sourceHandle": "clip",
247
233
  "targetHandle": "clip"
248
234
  },
235
+ {
236
+ "id": "reactflow__edge-f8d9d7c8-9ed7-4bd7-9e42-ab0e89bfac90transformer-159bdf1b-79e7-4174-b86e-d40e646964c8transformer",
237
+ "type": "default",
238
+ "source": "f8d9d7c8-9ed7-4bd7-9e42-ab0e89bfac90",
239
+ "target": "159bdf1b-79e7-4174-b86e-d40e646964c8",
240
+ "sourceHandle": "transformer",
241
+ "targetHandle": "transformer"
242
+ },
249
243
  {
250
244
  "id": "reactflow__edge-01f674f8-b3d1-4df1-acac-6cb8e0bfb63cconditioning-159bdf1b-79e7-4174-b86e-d40e646964c8positive_text_conditioning",
251
245
  "type": "default",
@@ -111,16 +111,7 @@ def denoise(
111
111
  step_callback: Callable[[], None],
112
112
  guidance: float = 4.0,
113
113
  ):
114
- dtype = model.txt_in.bias.dtype
115
-
116
- # TODO(ryand): This shouldn't be necessary if we manage the dtypes properly in the caller.
117
- img = img.to(dtype=dtype)
118
- img_ids = img_ids.to(dtype=dtype)
119
- txt = txt.to(dtype=dtype)
120
- txt_ids = txt_ids.to(dtype=dtype)
121
- vec = vec.to(dtype=dtype)
122
-
123
- # this is ignored for schnell
114
+ # guidance_vec is ignored for schnell.
124
115
  guidance_vec = torch.full((img.shape[0],), guidance, device=img.device, dtype=img.dtype)
125
116
  for t_curr, t_prev in tqdm(list(zip(timesteps[:-1], timesteps[1:], strict=True))):
126
117
  t_vec = torch.full((img.shape[0],), t_curr, dtype=img.dtype, device=img.device)
@@ -168,9 +159,9 @@ def prepare_latent_img_patches(latent_img: torch.Tensor) -> tuple[torch.Tensor,
168
159
  img = repeat(img, "1 ... -> bs ...", bs=bs)
169
160
 
170
161
  # Generate patch position ids.
171
- img_ids = torch.zeros(h // 2, w // 2, 3, device=img.device)
172
- img_ids[..., 1] = img_ids[..., 1] + torch.arange(h // 2, device=img.device)[:, None]
173
- img_ids[..., 2] = img_ids[..., 2] + torch.arange(w // 2, device=img.device)[None, :]
162
+ img_ids = torch.zeros(h // 2, w // 2, 3, device=img.device, dtype=img.dtype)
163
+ img_ids[..., 1] = img_ids[..., 1] + torch.arange(h // 2, device=img.device, dtype=img.dtype)[:, None]
164
+ img_ids[..., 2] = img_ids[..., 2] + torch.arange(w // 2, device=img.device, dtype=img.dtype)[None, :]
174
165
  img_ids = repeat(img_ids, "h w c -> b (h w) c", b=bs)
175
166
 
176
167
  return img, img_ids
@@ -72,6 +72,7 @@ class ModelLoader(ModelLoaderBase):
72
72
  pass
73
73
 
74
74
  config.path = str(self._get_model_path(config))
75
+ self._ram_cache.make_room(self.get_size_fs(config, Path(config.path), submodel_type))
75
76
  loaded_model = self._load_model(config, submodel_type)
76
77
 
77
78
  self._ram_cache.put(
@@ -193,15 +193,6 @@ class ModelCacheBase(ABC, Generic[T]):
193
193
  """
194
194
  pass
195
195
 
196
- @abstractmethod
197
- def exists(
198
- self,
199
- key: str,
200
- submodel_type: Optional[SubModelType] = None,
201
- ) -> bool:
202
- """Return true if the model identified by key and submodel_type is in the cache."""
203
- pass
204
-
205
196
  @abstractmethod
206
197
  def cache_size(self) -> int:
207
198
  """Get the total size of the models currently cached."""