InvokeAI 4.2.6__tar.gz → 4.2.6.post1__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.
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/InvokeAI.egg-info/PKG-INFO +1 -1
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/PKG-INFO +1 -1
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/ip_adapter/ip_adapter.py +3 -5
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/lora.py +29 -65
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/model_manager/load/model_cache/model_cache_default.py +2 -4
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/model_patcher.py +5 -10
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/onnx/onnx_runtime.py +1 -6
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/raw_model.py +1 -6
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/textual_inversion.py +2 -7
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/util/devices.py +0 -12
- InvokeAI-4.2.6.post1/invokeai/version/invokeai_version.py +1 -0
- InvokeAI-4.2.6/invokeai/version/invokeai_version.py +0 -1
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/InvokeAI.egg-info/SOURCES.txt +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/InvokeAI.egg-info/dependency_links.txt +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/InvokeAI.egg-info/entry_points.txt +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/InvokeAI.egg-info/requires.txt +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/InvokeAI.egg-info/top_level.txt +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/LICENSE +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/LICENSE-SD1+SD2.txt +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/LICENSE-SDXL.txt +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/README.md +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/api/dependencies.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/api/no_cache_staticfiles.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/api/routers/app_info.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/api/routers/board_images.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/api/routers/boards.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/api/routers/download_queue.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/api/routers/images.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/api/routers/model_manager.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/api/routers/session_queue.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/api/routers/utilities.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/api/routers/workflows.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/api/sockets.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/api_app.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/assets/images/caution.png +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/baseinvocation.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/blend_latents.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/collections.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/compel.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/constants.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/controlnet_image_processors.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/create_denoise_mask.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/create_gradient_mask.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/crop_latents.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/custom_nodes/README.md +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/custom_nodes/init.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/cv.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/denoise_latents.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/facetools.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/fields.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/ideal_size.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/image.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/image_to_latents.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/infill.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/ip_adapter.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/latents_to_image.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/mask.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/math.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/metadata.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/model.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/noise.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/param_easing.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/primitives.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/prompt.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/resize_latents.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/scheduler.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/sdxl.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/strings.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/t2i_adapter.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/tiled_multi_diffusion_denoise_latents.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/tiles.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/upscale.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/util.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/run_app.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/board_image_records/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/board_image_records/board_image_records_base.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/board_image_records/board_image_records_sqlite.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/board_images/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/board_images/board_images_base.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/board_images/board_images_common.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/board_images/board_images_default.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/board_records/board_records_base.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/board_records/board_records_common.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/board_records/board_records_sqlite.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/boards/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/boards/boards_base.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/boards/boards_common.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/boards/boards_default.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/bulk_download/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/bulk_download/bulk_download_base.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/bulk_download/bulk_download_common.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/bulk_download/bulk_download_default.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/config/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/config/config_common.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/config/config_default.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/download/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/download/download_base.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/download/download_default.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/events/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/events/events_base.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/events/events_common.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/events/events_fastapievents.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/image_files/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/image_files/image_files_base.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/image_files/image_files_common.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/image_files/image_files_disk.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/image_records/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/image_records/image_records_base.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/image_records/image_records_common.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/image_records/image_records_sqlite.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/images/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/images/images_base.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/images/images_common.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/images/images_default.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/invocation_cache/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/invocation_cache/invocation_cache_base.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/invocation_cache/invocation_cache_common.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/invocation_cache/invocation_cache_memory.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/invocation_services.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/invocation_stats/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/invocation_stats/invocation_stats_base.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/invocation_stats/invocation_stats_common.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/invocation_stats/invocation_stats_default.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/invoker.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/item_storage/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/item_storage/item_storage_base.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/item_storage/item_storage_common.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/item_storage/item_storage_memory.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/model_images/model_images_base.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/model_images/model_images_common.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/model_images/model_images_default.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/model_install/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/model_install/model_install_base.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/model_install/model_install_common.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/model_install/model_install_default.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/model_load/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/model_load/model_load_base.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/model_load/model_load_default.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/model_manager/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/model_manager/model_manager_base.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/model_manager/model_manager_common.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/model_manager/model_manager_default.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/model_records/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/model_records/model_records_base.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/model_records/model_records_sql.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/names/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/names/names_base.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/names/names_common.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/names/names_default.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/object_serializer/object_serializer_base.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/object_serializer/object_serializer_common.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/object_serializer/object_serializer_disk.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/object_serializer/object_serializer_forward_cache.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/session_processor/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/session_processor/session_processor_base.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/session_processor/session_processor_common.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/session_processor/session_processor_default.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/session_queue/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/session_queue/session_queue_base.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/session_queue/session_queue_common.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/session_queue/session_queue_sqlite.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/shared/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/shared/graph.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/shared/invocation_context.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/shared/pagination.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/shared/sqlite/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/shared/sqlite/sqlite_common.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/shared/sqlite/sqlite_database.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/shared/sqlite/sqlite_util.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/shared/sqlite_migrator/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/shared/sqlite_migrator/migrations/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_1.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_10.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_11.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_12.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_13.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_2.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_3.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_4.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_5.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_6.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_7.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_8.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_9.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/shared/sqlite_migrator/sqlite_migrator_common.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/shared/sqlite_migrator/sqlite_migrator_impl.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/urls/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/urls/urls_base.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/urls/urls_default.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/workflow_records/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/workflow_records/default_workflows/ESRGAN Upscaling with Canny ControlNet.json +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/workflow_records/default_workflows/Face Detailer with IP-Adapter & Canny (See Note in Details).json +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/workflow_records/default_workflows/Multi ControlNet (Canny & Depth).json +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/workflow_records/default_workflows/MultiDiffusion SDXL (Beta).json +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/workflow_records/default_workflows/Prompt from File.json +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/workflow_records/default_workflows/Text to Image - SD1.5.json +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/workflow_records/default_workflows/Text to Image - SDXL.json +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/workflow_records/default_workflows/Text to Image with LoRA.json +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/workflow_records/default_workflows/Tiled Upscaling (Beta).json +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/workflow_records/workflow_records_base.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/workflow_records/workflow_records_common.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/workflow_records/workflow_records_sqlite.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/shared/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/shared/models.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/util/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/util/controlnet_utils.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/util/custom_openapi.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/util/metaenum.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/util/misc.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/util/model_exclude_null.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/util/profiler.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/util/step_callback.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/util/suppress_output.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/util/thumbnails.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/util/ti_utils.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/assets/fonts/inter/Inter-Regular.ttf +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/image_util/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/image_util/basicsr/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/image_util/basicsr/arch_util.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/image_util/basicsr/rrdbnet_arch.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/image_util/canny.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/image_util/depth_anything/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/image_util/depth_anything/model/blocks.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/image_util/depth_anything/model/dpt.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/image_util/depth_anything/utilities/util.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/image_util/dw_openpose/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/image_util/dw_openpose/onnxdet.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/image_util/dw_openpose/onnxpose.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/image_util/dw_openpose/utils.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/image_util/dw_openpose/wholebody.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/image_util/hed.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/image_util/infill_methods/cv2_inpaint.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/image_util/infill_methods/lama.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/image_util/infill_methods/mosaic.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/image_util/infill_methods/patchmatch.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/image_util/infill_methods/tile.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/image_util/invisible_watermark.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/image_util/lineart.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/image_util/lineart_anime.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/image_util/pngwriter.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/image_util/realesrgan/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/image_util/realesrgan/realesrgan.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/image_util/safety_checker.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/image_util/util.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/ip_adapter/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/ip_adapter/ip_attention_weights.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/ip_adapter/resampler.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/model_hash/hash_validator.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/model_hash/model_hash.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/model_manager/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/model_manager/config.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/model_manager/load/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/model_manager/load/load_base.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/model_manager/load/load_default.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/model_manager/load/memory_snapshot.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/model_manager/load/model_cache/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/model_manager/load/model_cache/model_cache_base.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/model_manager/load/model_cache/model_locker.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/model_manager/load/model_loader_registry.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/model_manager/load/model_loaders/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/model_manager/load/model_loaders/controlnet.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/model_manager/load/model_loaders/generic_diffusers.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/model_manager/load/model_loaders/ip_adapter.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/model_manager/load/model_loaders/lora.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/model_manager/load/model_loaders/onnx.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/model_manager/load/model_loaders/stable_diffusion.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/model_manager/load/model_loaders/textual_inversion.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/model_manager/load/model_loaders/vae.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/model_manager/load/model_util.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/model_manager/load/optimizations.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/model_manager/merge.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/model_manager/metadata/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/model_manager/metadata/fetch/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/model_manager/metadata/fetch/fetch_base.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/model_manager/metadata/fetch/huggingface.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/model_manager/metadata/metadata_base.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/model_manager/probe.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/model_manager/search.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/model_manager/starter_models.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/model_manager/util/libc_util.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/model_manager/util/model_util.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/model_manager/util/select_hf_files.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/stable_diffusion/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/stable_diffusion/diffusers_pipeline.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/stable_diffusion/diffusion/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/stable_diffusion/diffusion/conditioning_data.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/stable_diffusion/diffusion/custom_atttention.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/stable_diffusion/diffusion/regional_ip_data.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/stable_diffusion/diffusion/regional_prompt_data.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/stable_diffusion/diffusion/unet_attention_patcher.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/stable_diffusion/multi_diffusion_pipeline.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/stable_diffusion/schedulers/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/stable_diffusion/schedulers/schedulers.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/stable_diffusion/seamless.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/stable_diffusion/vae_tiling.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/tiles/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/tiles/tiles.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/tiles/utils.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/util/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/util/attention.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/util/catch_sigint.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/util/db_maintenance.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/util/hotfixes.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/util/logging.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/util/mask.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/util/mps_fixes.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/util/silence_warnings.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/util/test_utils.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/backend/util/util.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/configs/controlnet/cldm_v15.yaml +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/configs/controlnet/cldm_v21.yaml +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/configs/stable-diffusion/sd_xl_base.yaml +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/configs/stable-diffusion/sd_xl_inpaint.yaml +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/configs/stable-diffusion/sd_xl_refiner.yaml +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/configs/stable-diffusion/v1-finetune.yaml +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/configs/stable-diffusion/v1-finetune_style.yaml +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/configs/stable-diffusion/v1-inference-v.yaml +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/configs/stable-diffusion/v1-inference.yaml +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/configs/stable-diffusion/v1-inpainting-inference.yaml +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/configs/stable-diffusion/v1-m1-finetune.yaml +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/configs/stable-diffusion/v2-inference-v.yaml +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/configs/stable-diffusion/v2-inference.yaml +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/configs/stable-diffusion/v2-inpainting-inference-v.yaml +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/configs/stable-diffusion/v2-inpainting-inference.yaml +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/configs/stable-diffusion/v2-midas-inference.yaml +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/cli/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/cli/arg_parser.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/install/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/install/import_images.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/assets/App-3K8Z8r6O.js +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/assets/App-DEu4J2pT.css +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-DeXoxqTU.js +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-DzjsLZSc.css +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/assets/images/invoke-alert-favicon.svg +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/assets/images/invoke-avatar-circle.svg +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/assets/images/invoke-avatar-square.svg +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/assets/images/invoke-favicon.png +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/assets/images/invoke-favicon.svg +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/assets/images/invoke-key-char-lrg.svg +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/assets/images/invoke-key-char-sml.svg +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/assets/images/invoke-key-wht-lrg.svg +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/assets/images/invoke-key-wht-sml.svg +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/assets/images/invoke-symbol-char-lrg.svg +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/assets/images/invoke-symbol-char-sml.svg +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/assets/images/invoke-symbol-wht-lrg.svg +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/assets/images/invoke-symbol-wht-sml.svg +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/assets/images/invoke-symbol-ylw-lrg.svg +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/assets/images/invoke-tag-char-lrg.svg +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/assets/images/invoke-tag-char-sml.svg +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/assets/images/invoke-tag-lrg.svg +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/assets/images/invoke-tag-sml.svg +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/assets/images/invoke-wordmark-charcoal.svg +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/assets/images/invoke-wordmark-white.svg +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/assets/images/mask.svg +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/assets/images/transparent_bg.png +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/assets/index-HGkeJVZh.js +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/assets/inter-cyrillic-ext-wght-normal-DIEz8p5i.woff2 +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/assets/inter-cyrillic-wght-normal-BmJJXa8e.woff2 +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/assets/inter-greek-ext-wght-normal-D5AYLNiq.woff2 +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/assets/inter-greek-wght-normal-DyIDNIyN.woff2 +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/assets/inter-latin-ext-wght-normal-CN1pIXkb.woff2 +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/assets/inter-latin-wght-normal-BgVq2Tq4.woff2 +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/assets/inter-vietnamese-wght-normal-_GQuwPVU.woff2 +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/index.html +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/locales/ar.json +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/locales/az.json +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/locales/bg.json +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/locales/de.json +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/locales/en.json +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/locales/es.json +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/locales/fi.json +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/locales/fr.json +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/locales/he.json +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/locales/hu.json +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/locales/it.json +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/locales/ja.json +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/locales/ko.json +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/locales/mn.json +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/locales/nl.json +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/locales/pl.json +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/locales/pt.json +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/locales/pt_BR.json +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/locales/ro.json +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/locales/ru.json +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/locales/sv.json +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/locales/tr.json +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/locales/uk.json +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/locales/vi.json +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/locales/zh_CN.json +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/dist/locales/zh_Hant.json +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/scripts/clean_translations.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/frontend/web/static/docs/invoke-favicon-docs.svg +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/invocation_api/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/version/__init__.py +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/pyproject.toml +0 -0
- {InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: InvokeAI
|
|
3
|
-
Version: 4.2.6
|
|
3
|
+
Version: 4.2.6.post1
|
|
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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: InvokeAI
|
|
3
|
-
Version: 4.2.6
|
|
3
|
+
Version: 4.2.6.post1
|
|
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
|
|
@@ -124,16 +124,14 @@ class IPAdapter(RawModel):
|
|
|
124
124
|
self.device, dtype=self.dtype
|
|
125
125
|
)
|
|
126
126
|
|
|
127
|
-
def to(
|
|
128
|
-
self, device: Optional[torch.device] = None, dtype: Optional[torch.dtype] = None, non_blocking: bool = False
|
|
129
|
-
):
|
|
127
|
+
def to(self, device: Optional[torch.device] = None, dtype: Optional[torch.dtype] = None):
|
|
130
128
|
if device is not None:
|
|
131
129
|
self.device = device
|
|
132
130
|
if dtype is not None:
|
|
133
131
|
self.dtype = dtype
|
|
134
132
|
|
|
135
|
-
self._image_proj_model.to(device=self.device, dtype=self.dtype
|
|
136
|
-
self.attn_weights.to(device=self.device, dtype=self.dtype
|
|
133
|
+
self._image_proj_model.to(device=self.device, dtype=self.dtype)
|
|
134
|
+
self.attn_weights.to(device=self.device, dtype=self.dtype)
|
|
137
135
|
|
|
138
136
|
def calc_size(self) -> int:
|
|
139
137
|
# HACK(ryand): Fix this issue with circular imports.
|
|
@@ -11,7 +11,6 @@ from typing_extensions import Self
|
|
|
11
11
|
|
|
12
12
|
from invokeai.backend.model_manager import BaseModelType
|
|
13
13
|
from invokeai.backend.raw_model import RawModel
|
|
14
|
-
from invokeai.backend.util.devices import TorchDevice
|
|
15
14
|
|
|
16
15
|
|
|
17
16
|
class LoRALayerBase:
|
|
@@ -57,14 +56,9 @@ class LoRALayerBase:
|
|
|
57
56
|
model_size += val.nelement() * val.element_size()
|
|
58
57
|
return model_size
|
|
59
58
|
|
|
60
|
-
def to(
|
|
61
|
-
self,
|
|
62
|
-
device: Optional[torch.device] = None,
|
|
63
|
-
dtype: Optional[torch.dtype] = None,
|
|
64
|
-
non_blocking: bool = False,
|
|
65
|
-
) -> None:
|
|
59
|
+
def to(self, device: Optional[torch.device] = None, dtype: Optional[torch.dtype] = None) -> None:
|
|
66
60
|
if self.bias is not None:
|
|
67
|
-
self.bias = self.bias.to(device=device, dtype=dtype
|
|
61
|
+
self.bias = self.bias.to(device=device, dtype=dtype)
|
|
68
62
|
|
|
69
63
|
|
|
70
64
|
# TODO: find and debug lora/locon with bias
|
|
@@ -106,19 +100,14 @@ class LoRALayer(LoRALayerBase):
|
|
|
106
100
|
model_size += val.nelement() * val.element_size()
|
|
107
101
|
return model_size
|
|
108
102
|
|
|
109
|
-
def to(
|
|
110
|
-
|
|
111
|
-
device: Optional[torch.device] = None,
|
|
112
|
-
dtype: Optional[torch.dtype] = None,
|
|
113
|
-
non_blocking: bool = False,
|
|
114
|
-
) -> None:
|
|
115
|
-
super().to(device=device, dtype=dtype, non_blocking=non_blocking)
|
|
103
|
+
def to(self, device: Optional[torch.device] = None, dtype: Optional[torch.dtype] = None) -> None:
|
|
104
|
+
super().to(device=device, dtype=dtype)
|
|
116
105
|
|
|
117
|
-
self.up = self.up.to(device=device, dtype=dtype
|
|
118
|
-
self.down = self.down.to(device=device, dtype=dtype
|
|
106
|
+
self.up = self.up.to(device=device, dtype=dtype)
|
|
107
|
+
self.down = self.down.to(device=device, dtype=dtype)
|
|
119
108
|
|
|
120
109
|
if self.mid is not None:
|
|
121
|
-
self.mid = self.mid.to(device=device, dtype=dtype
|
|
110
|
+
self.mid = self.mid.to(device=device, dtype=dtype)
|
|
122
111
|
|
|
123
112
|
|
|
124
113
|
class LoHALayer(LoRALayerBase):
|
|
@@ -167,23 +156,18 @@ class LoHALayer(LoRALayerBase):
|
|
|
167
156
|
model_size += val.nelement() * val.element_size()
|
|
168
157
|
return model_size
|
|
169
158
|
|
|
170
|
-
def to(
|
|
171
|
-
self,
|
|
172
|
-
device: Optional[torch.device] = None,
|
|
173
|
-
dtype: Optional[torch.dtype] = None,
|
|
174
|
-
non_blocking: bool = False,
|
|
175
|
-
) -> None:
|
|
159
|
+
def to(self, device: Optional[torch.device] = None, dtype: Optional[torch.dtype] = None) -> None:
|
|
176
160
|
super().to(device=device, dtype=dtype)
|
|
177
161
|
|
|
178
|
-
self.w1_a = self.w1_a.to(device=device, dtype=dtype
|
|
179
|
-
self.w1_b = self.w1_b.to(device=device, dtype=dtype
|
|
162
|
+
self.w1_a = self.w1_a.to(device=device, dtype=dtype)
|
|
163
|
+
self.w1_b = self.w1_b.to(device=device, dtype=dtype)
|
|
180
164
|
if self.t1 is not None:
|
|
181
|
-
self.t1 = self.t1.to(device=device, dtype=dtype
|
|
165
|
+
self.t1 = self.t1.to(device=device, dtype=dtype)
|
|
182
166
|
|
|
183
|
-
self.w2_a = self.w2_a.to(device=device, dtype=dtype
|
|
184
|
-
self.w2_b = self.w2_b.to(device=device, dtype=dtype
|
|
167
|
+
self.w2_a = self.w2_a.to(device=device, dtype=dtype)
|
|
168
|
+
self.w2_b = self.w2_b.to(device=device, dtype=dtype)
|
|
185
169
|
if self.t2 is not None:
|
|
186
|
-
self.t2 = self.t2.to(device=device, dtype=dtype
|
|
170
|
+
self.t2 = self.t2.to(device=device, dtype=dtype)
|
|
187
171
|
|
|
188
172
|
|
|
189
173
|
class LoKRLayer(LoRALayerBase):
|
|
@@ -264,12 +248,7 @@ class LoKRLayer(LoRALayerBase):
|
|
|
264
248
|
model_size += val.nelement() * val.element_size()
|
|
265
249
|
return model_size
|
|
266
250
|
|
|
267
|
-
def to(
|
|
268
|
-
self,
|
|
269
|
-
device: Optional[torch.device] = None,
|
|
270
|
-
dtype: Optional[torch.dtype] = None,
|
|
271
|
-
non_blocking: bool = False,
|
|
272
|
-
) -> None:
|
|
251
|
+
def to(self, device: Optional[torch.device] = None, dtype: Optional[torch.dtype] = None) -> None:
|
|
273
252
|
super().to(device=device, dtype=dtype)
|
|
274
253
|
|
|
275
254
|
if self.w1 is not None:
|
|
@@ -277,19 +256,19 @@ class LoKRLayer(LoRALayerBase):
|
|
|
277
256
|
else:
|
|
278
257
|
assert self.w1_a is not None
|
|
279
258
|
assert self.w1_b is not None
|
|
280
|
-
self.w1_a = self.w1_a.to(device=device, dtype=dtype
|
|
281
|
-
self.w1_b = self.w1_b.to(device=device, dtype=dtype
|
|
259
|
+
self.w1_a = self.w1_a.to(device=device, dtype=dtype)
|
|
260
|
+
self.w1_b = self.w1_b.to(device=device, dtype=dtype)
|
|
282
261
|
|
|
283
262
|
if self.w2 is not None:
|
|
284
|
-
self.w2 = self.w2.to(device=device, dtype=dtype
|
|
263
|
+
self.w2 = self.w2.to(device=device, dtype=dtype)
|
|
285
264
|
else:
|
|
286
265
|
assert self.w2_a is not None
|
|
287
266
|
assert self.w2_b is not None
|
|
288
|
-
self.w2_a = self.w2_a.to(device=device, dtype=dtype
|
|
289
|
-
self.w2_b = self.w2_b.to(device=device, dtype=dtype
|
|
267
|
+
self.w2_a = self.w2_a.to(device=device, dtype=dtype)
|
|
268
|
+
self.w2_b = self.w2_b.to(device=device, dtype=dtype)
|
|
290
269
|
|
|
291
270
|
if self.t2 is not None:
|
|
292
|
-
self.t2 = self.t2.to(device=device, dtype=dtype
|
|
271
|
+
self.t2 = self.t2.to(device=device, dtype=dtype)
|
|
293
272
|
|
|
294
273
|
|
|
295
274
|
class FullLayer(LoRALayerBase):
|
|
@@ -319,15 +298,10 @@ class FullLayer(LoRALayerBase):
|
|
|
319
298
|
model_size += self.weight.nelement() * self.weight.element_size()
|
|
320
299
|
return model_size
|
|
321
300
|
|
|
322
|
-
def to(
|
|
323
|
-
self,
|
|
324
|
-
device: Optional[torch.device] = None,
|
|
325
|
-
dtype: Optional[torch.dtype] = None,
|
|
326
|
-
non_blocking: bool = False,
|
|
327
|
-
) -> None:
|
|
301
|
+
def to(self, device: Optional[torch.device] = None, dtype: Optional[torch.dtype] = None) -> None:
|
|
328
302
|
super().to(device=device, dtype=dtype)
|
|
329
303
|
|
|
330
|
-
self.weight = self.weight.to(device=device, dtype=dtype
|
|
304
|
+
self.weight = self.weight.to(device=device, dtype=dtype)
|
|
331
305
|
|
|
332
306
|
|
|
333
307
|
class IA3Layer(LoRALayerBase):
|
|
@@ -359,16 +333,11 @@ class IA3Layer(LoRALayerBase):
|
|
|
359
333
|
model_size += self.on_input.nelement() * self.on_input.element_size()
|
|
360
334
|
return model_size
|
|
361
335
|
|
|
362
|
-
def to(
|
|
363
|
-
self,
|
|
364
|
-
device: Optional[torch.device] = None,
|
|
365
|
-
dtype: Optional[torch.dtype] = None,
|
|
366
|
-
non_blocking: bool = False,
|
|
367
|
-
):
|
|
336
|
+
def to(self, device: Optional[torch.device] = None, dtype: Optional[torch.dtype] = None):
|
|
368
337
|
super().to(device=device, dtype=dtype)
|
|
369
338
|
|
|
370
|
-
self.weight = self.weight.to(device=device, dtype=dtype
|
|
371
|
-
self.on_input = self.on_input.to(device=device, dtype=dtype
|
|
339
|
+
self.weight = self.weight.to(device=device, dtype=dtype)
|
|
340
|
+
self.on_input = self.on_input.to(device=device, dtype=dtype)
|
|
372
341
|
|
|
373
342
|
|
|
374
343
|
AnyLoRALayer = Union[LoRALayer, LoHALayer, LoKRLayer, FullLayer, IA3Layer]
|
|
@@ -390,15 +359,10 @@ class LoRAModelRaw(RawModel): # (torch.nn.Module):
|
|
|
390
359
|
def name(self) -> str:
|
|
391
360
|
return self._name
|
|
392
361
|
|
|
393
|
-
def to(
|
|
394
|
-
self,
|
|
395
|
-
device: Optional[torch.device] = None,
|
|
396
|
-
dtype: Optional[torch.dtype] = None,
|
|
397
|
-
non_blocking: bool = False,
|
|
398
|
-
) -> None:
|
|
362
|
+
def to(self, device: Optional[torch.device] = None, dtype: Optional[torch.dtype] = None) -> None:
|
|
399
363
|
# TODO: try revert if exception?
|
|
400
364
|
for _key, layer in self.layers.items():
|
|
401
|
-
layer.to(device=device, dtype=dtype
|
|
365
|
+
layer.to(device=device, dtype=dtype)
|
|
402
366
|
|
|
403
367
|
def calc_size(self) -> int:
|
|
404
368
|
model_size = 0
|
|
@@ -521,7 +485,7 @@ class LoRAModelRaw(RawModel): # (torch.nn.Module):
|
|
|
521
485
|
# lower memory consumption by removing already parsed layer values
|
|
522
486
|
state_dict[layer_key].clear()
|
|
523
487
|
|
|
524
|
-
layer.to(device=device, dtype=dtype
|
|
488
|
+
layer.to(device=device, dtype=dtype)
|
|
525
489
|
model.layers[layer_key] = layer
|
|
526
490
|
|
|
527
491
|
return model
|
|
@@ -289,11 +289,9 @@ class ModelCache(ModelCacheBase[AnyModel]):
|
|
|
289
289
|
else:
|
|
290
290
|
new_dict: Dict[str, torch.Tensor] = {}
|
|
291
291
|
for k, v in cache_entry.state_dict.items():
|
|
292
|
-
new_dict[k] = v.to(
|
|
293
|
-
target_device, copy=True, non_blocking=TorchDevice.get_non_blocking(target_device)
|
|
294
|
-
)
|
|
292
|
+
new_dict[k] = v.to(target_device, copy=True)
|
|
295
293
|
cache_entry.model.load_state_dict(new_dict, assign=True)
|
|
296
|
-
cache_entry.model.to(target_device
|
|
294
|
+
cache_entry.model.to(target_device)
|
|
297
295
|
cache_entry.device = target_device
|
|
298
296
|
except Exception as e: # blow away cache entry
|
|
299
297
|
self._delete_cache_entry(cache_entry)
|
|
@@ -139,15 +139,12 @@ class ModelPatcher:
|
|
|
139
139
|
# We intentionally move to the target device first, then cast. Experimentally, this was found to
|
|
140
140
|
# be significantly faster for 16-bit CPU tensors being moved to a CUDA device than doing the
|
|
141
141
|
# same thing in a single call to '.to(...)'.
|
|
142
|
-
layer.to(device=device
|
|
143
|
-
layer.to(dtype=torch.float32
|
|
142
|
+
layer.to(device=device)
|
|
143
|
+
layer.to(dtype=torch.float32)
|
|
144
144
|
# TODO(ryand): Using torch.autocast(...) over explicit casting may offer a speed benefit on CUDA
|
|
145
145
|
# devices here. Experimentally, it was found to be very slow on CPU. More investigation needed.
|
|
146
146
|
layer_weight = layer.get_weight(module.weight) * (lora_weight * layer_scale)
|
|
147
|
-
layer.to(
|
|
148
|
-
device=TorchDevice.CPU_DEVICE,
|
|
149
|
-
non_blocking=TorchDevice.get_non_blocking(TorchDevice.CPU_DEVICE),
|
|
150
|
-
)
|
|
147
|
+
layer.to(device=TorchDevice.CPU_DEVICE)
|
|
151
148
|
|
|
152
149
|
assert isinstance(layer_weight, torch.Tensor) # mypy thinks layer_weight is a float|Any ??!
|
|
153
150
|
if module.weight.shape != layer_weight.shape:
|
|
@@ -156,7 +153,7 @@ class ModelPatcher:
|
|
|
156
153
|
layer_weight = layer_weight.reshape(module.weight.shape)
|
|
157
154
|
|
|
158
155
|
assert isinstance(layer_weight, torch.Tensor) # mypy thinks layer_weight is a float|Any ??!
|
|
159
|
-
module.weight += layer_weight.to(dtype=dtype
|
|
156
|
+
module.weight += layer_weight.to(dtype=dtype)
|
|
160
157
|
|
|
161
158
|
yield # wait for context manager exit
|
|
162
159
|
|
|
@@ -164,9 +161,7 @@ class ModelPatcher:
|
|
|
164
161
|
assert hasattr(model, "get_submodule") # mypy not picking up fact that torch.nn.Module has get_submodule()
|
|
165
162
|
with torch.no_grad():
|
|
166
163
|
for module_key, weight in original_weights.items():
|
|
167
|
-
model.get_submodule(module_key).weight.copy_(
|
|
168
|
-
weight, non_blocking=TorchDevice.get_non_blocking(weight.device)
|
|
169
|
-
)
|
|
164
|
+
model.get_submodule(module_key).weight.copy_(weight)
|
|
170
165
|
|
|
171
166
|
@classmethod
|
|
172
167
|
@contextmanager
|
|
@@ -190,12 +190,7 @@ class IAIOnnxRuntimeModel(RawModel):
|
|
|
190
190
|
return self.session.run(None, inputs)
|
|
191
191
|
|
|
192
192
|
# compatability with RawModel ABC
|
|
193
|
-
def to(
|
|
194
|
-
self,
|
|
195
|
-
device: Optional[torch.device] = None,
|
|
196
|
-
dtype: Optional[torch.dtype] = None,
|
|
197
|
-
non_blocking: bool = False,
|
|
198
|
-
) -> None:
|
|
193
|
+
def to(self, device: Optional[torch.device] = None, dtype: Optional[torch.dtype] = None) -> None:
|
|
199
194
|
pass
|
|
200
195
|
|
|
201
196
|
# compatability with diffusers load code
|
|
@@ -20,10 +20,5 @@ class RawModel(ABC):
|
|
|
20
20
|
"""Abstract base class for 'Raw' model wrappers."""
|
|
21
21
|
|
|
22
22
|
@abstractmethod
|
|
23
|
-
def to(
|
|
24
|
-
self,
|
|
25
|
-
device: Optional[torch.device] = None,
|
|
26
|
-
dtype: Optional[torch.dtype] = None,
|
|
27
|
-
non_blocking: bool = False,
|
|
28
|
-
) -> None:
|
|
23
|
+
def to(self, device: Optional[torch.device] = None, dtype: Optional[torch.dtype] = None) -> None:
|
|
29
24
|
pass
|
|
@@ -65,17 +65,12 @@ class TextualInversionModelRaw(RawModel):
|
|
|
65
65
|
|
|
66
66
|
return result
|
|
67
67
|
|
|
68
|
-
def to(
|
|
69
|
-
self,
|
|
70
|
-
device: Optional[torch.device] = None,
|
|
71
|
-
dtype: Optional[torch.dtype] = None,
|
|
72
|
-
non_blocking: bool = False,
|
|
73
|
-
) -> None:
|
|
68
|
+
def to(self, device: Optional[torch.device] = None, dtype: Optional[torch.dtype] = None) -> None:
|
|
74
69
|
if not torch.cuda.is_available():
|
|
75
70
|
return
|
|
76
71
|
for emb in [self.embedding, self.embedding_2]:
|
|
77
72
|
if emb is not None:
|
|
78
|
-
emb.to(device=device, dtype=dtype
|
|
73
|
+
emb.to(device=device, dtype=dtype)
|
|
79
74
|
|
|
80
75
|
def calc_size(self) -> int:
|
|
81
76
|
"""Get the size of this model in bytes."""
|
|
@@ -112,15 +112,3 @@ class TorchDevice:
|
|
|
112
112
|
@classmethod
|
|
113
113
|
def _to_dtype(cls, precision_name: TorchPrecisionNames) -> torch.dtype:
|
|
114
114
|
return NAME_TO_PRECISION[precision_name]
|
|
115
|
-
|
|
116
|
-
@staticmethod
|
|
117
|
-
def get_non_blocking(to_device: torch.device) -> bool:
|
|
118
|
-
"""Return the non_blocking flag to be used when moving a tensor to a given device.
|
|
119
|
-
MPS may have unexpected errors with non-blocking operations - we should not use non-blocking when moving _to_ MPS.
|
|
120
|
-
When moving _from_ MPS, we can use non-blocking operations.
|
|
121
|
-
|
|
122
|
-
See:
|
|
123
|
-
- https://github.com/pytorch/pytorch/issues/107455
|
|
124
|
-
- https://discuss.pytorch.org/t/should-we-set-non-blocking-to-true/38234/28
|
|
125
|
-
"""
|
|
126
|
-
return False if to_device.type == "mps" else True
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "4.2.6post1"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "4.2.6"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/invocations/controlnet_image_processors.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/board_image_records/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/board_images/board_images_base.py
RENAMED
|
File without changes
|
{InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/board_images/board_images_common.py
RENAMED
|
File without changes
|
{InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/board_images/board_images_default.py
RENAMED
|
File without changes
|
{InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/board_records/board_records_base.py
RENAMED
|
File without changes
|
{InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/board_records/board_records_common.py
RENAMED
|
File without changes
|
{InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/board_records/board_records_sqlite.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/bulk_download/bulk_download_base.py
RENAMED
|
File without changes
|
{InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/bulk_download/bulk_download_common.py
RENAMED
|
File without changes
|
{InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/bulk_download/bulk_download_default.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/events/events_fastapievents.py
RENAMED
|
File without changes
|
|
File without changes
|
{InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/image_files/image_files_base.py
RENAMED
|
File without changes
|
{InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/image_files/image_files_common.py
RENAMED
|
File without changes
|
{InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/image_files/image_files_disk.py
RENAMED
|
File without changes
|
|
File without changes
|
{InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/image_records/image_records_base.py
RENAMED
|
File without changes
|
{InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/image_records/image_records_common.py
RENAMED
|
File without changes
|
{InvokeAI-4.2.6 → InvokeAI-4.2.6.post1}/invokeai/app/services/image_records/image_records_sqlite.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|