Skip to content

Commit 9bab3df

Browse files
gblong1arisha07RyanMetcalfeInt8luke-lin-vmcymangukiya
authored
v2.99-R3-Release branch merge to Main (#135)
* Added new web * Final push * Added in-painting to main branch of open-source * Added model conversion support for SD1.5 Inpainting * Added inital image from canvas support * Modified mask creation step, fixed bug in load model, updated readme * small readme update * small readme update * small readme update * small readme update * Added controlnet-openpose * First version of updated internal version with external & internal controlnet, external inpainting * Optimized pipeline - moving infer_request.wait() * updated pipeline to N=2 controlnet-pose IR * Added Super-Res workflow in SD for acer * Latest optimized pipeline wirh share_outputs = True etc. * updated pipeline to use ergan and set SR resolution to landscape 2240x1400 * keeping final cache.png image * updated to run esrgan on GPU * Added inpainting internal version and updated device list to show NPU instead of VPUX * updated transformer version and removed unwanted debug prints * Update stable-diffusion-ov-server.py * Added model caching for SR model to reduce the load time * Added model caching for SR model to reduce the load time * Added padding as input image is square and output landscape * fixed a bug in SR standalone plugin * Fixed a bug in style transfer and semseg * fixed progress bar update in controlnet-pose, added model caching for other plugins and updated model setup * Updates for VPUX/VPU to NPU transition * Removed direct SR support from SD gui for release * Added controlnet-canny internal blob support * Updates to the path specification to be cross platform compatible * Updating paths to be cross platform compatible * Update to OV 2023.0.2 * Cleanup of _NEW and _org files * Combined StableDiffusion engines into one module * Run Inference becomes Generate, Internal becomes Advanced. * Replaced model conversion with model download from hugging face, some change in directory structure, added canny-edge batch2, scribble batch1 and batch2 * fixed a bug in repo-id for HF download * bug fix around shutil.copytree * uncomment the delete HF model cache * Fixed few more bugs * Fixed a typo * Removed UniPCM scheduler from local file for all batch-size 2 controlnet * Fixed corrupt image issue with landscape and portrait models: * Moved NPU to INT8 and added LCM * Updated import of diffusion pipeline for diffusers 0.23.0 * Initial checkin of working LCM * Updated to OV 2023.1.0 and diffusers 0.23.0. Added accelerate * removed some debug statements. * Moving install to use requirements.txt to ease linux/windows parity Added activation/deactivation of gimpenv3 on Windows during install * Updates for the UI to hide non-needed elements for LCM * Removed old class, other LCM updates * Adding LCM Scheduler and removing unneeded prints. * Updated Latent_Consistency to SD_1.5_lcm * Removed HF pull of scheduler for LCM. Commented out scheduler log print for now, until i find a better way to do it. * updated LCM model dir to be in square_lcm * added lcm in model download * update tensorflow version for scan issue * update onnx version for scan issue * update README * Fixed tabs v spaces * Added model_setup to Linux install script. * Updated to be linux compatible. added functions, and put back the "all" option * Update README.md Fixed Linux instructions, other edits to add LCM as supported. * Update model_setup.py to remove token Models are now public and downloads tested with access_token = None * Fixed device list parsing due to bug found in systmed with dGPU * updated to match public repo * updated to match public repo * Initial commit * Rebase to http://github.com/intel/openvino-ai-plugins-gimp * removed gimpml dir, not needed. * Fixed installer location bug. * initial set of changes to support config files for models to determine device list * Adding driver detection for NPU * more updates for powermodes * fixed few issues, including revision * Adding LCM under my idsid * Updating LCM to use config.json and load blobs for NPU * Updating setup to point to my private repo for testing. * Removed blob and swap flags, as they are no longer needed. * Removed blob and swap flags, as they are no longer needed. * Updated links in README.md * Removing current direcotry echo as not needed. * Initial checkin of SD3 support * Update power mode support checking. Still needs work, though... * Fixing typo in MTL NPU arch naming * Adding config file and code to download models from the revision adding ubuntu distro check * Updating model setup for LNL. * SAI Logo adding for SD3.0 * Bug fixes for Linux. * Added default for config.json, and better dGPU handling * trimming down plugin requirements * Pulling updates from opensource. * Rolled back SAI logo addition * Moved spinner to avoid horizontal shifts in the UI. Moved the license to over by the new logo location. * Update model_setup.py with spectral comment * Update model_setup.py * Update model_setup.py * Update model_setup.py * Update model_setup.py * Update model_setup_config.json * fixed typo * Removed repeated code. * Update for testing configs * Fixed issues with platform detection. * fixing tab alignment * Fixing case issue with SD which was root cause of neg prompt still showing up in LCM menu. * update for merge to main. * Updating testcases * removing unneeded files * Updated test case with all SD models. * Reduced redunant redundancies. * Aligned around image instead of init_image to be consistent with other controlnet engines * Added more engine support * Added FP16 support for NPU * fixing powermode ui logic * Added Decoder info for LCM model. * updating result naming to make comparing the same seed images easier. * Adding blob compilation to model setup * remove key from model setup * Removing chmod call for deprecated features. * update model_setup to compile 2T for Unet INT8 * add CLI options for model weights directory location * removed reliance on driver versions. * removed win32com which is no longer needed. * Create README.md * Update README.md * Model Loading and Compiling are multithreaded, mainly on SD1.5 INT8 * Merge WW30 Snapshot into Main (#38) * Fixing initilization bug * Adding better default config.json support and fixed a bug in the device_list parsing in the case there are more than one GPU in the system. * updating dgpu device choosing logic * Bug fixes for Linux. * Fixed paths * update branch info for LCM for Linux * Fix issue with Vulkan and OV giving more than 1 GPU. * light refactoring, and removing NPU from SuperRes device list (for now). * created function for handling inference result * aligned on lowercase sd_, SD UI tweaks. * Deleting unneeded files. * Reorganzing tree to make installation easier. * Add workaround for caching issue in GPU for SR * updated path due to dir structure changes. * updated to reflect case changes. * Updated windows install. Plugin path is no longer needed to be modified. * Refactor install.sh * Updated documentation to reflect Windows install changes. * Major overhall of installation. Blobs are now created after model download. * Updated windows install documenation * More documenation updates * updated UI elements * bug fixes for SR * syncing with v2.99-R3 * Adding support for comma separated list * Spaces are better than commas * Simplifying flow by not giving option to skip setup. Users can just exit right away, if needed * Updated install flow * switched from xcopy to robocopy * removed unneeded lines * removing cls for now * whitespace changes * remove files not needed. * Renamed files to be consistent with pythonic module nameing convention. * Add model setup back to install * Fixed logo paths for inclusion * more dash to underscore fixes * updated complete install * updating linux installer * fixed missed merge conflict * Whitespace changes. * added back exit * Removing tile specific config for compilation. now using default. * Needed to be recongnized as a module * Removing unused files * Fixed logo paths * updating testcase to align with new module organization. * Updated documentation to reflect 2.99.16 and new model setup flow. * Updated documentation to reflect 2.99.16 and new model setup flow. * updating screenshot * Resizing and removing figs not needed. * Update user_guide_for_windows_users.md * Fixing Super Resolution naming. * Model Loading and Compiling are multithreaded, mainly on SD1.5 INT8 * Adding multithreading for model compilation and load. * removed blank line at the start of the file. * Removed unused function. * fixed botched merge. * fixed botched merge * Bug fixes * Removing redundant print * minor update * Fixed FP16 powermode issue --------- Co-authored-by: arisha07 <[email protected]> Co-authored-by: Siwoo Park <[email protected]> * Npu turbo feature (#40) * Fixing initilization bug * Adding better default config.json support and fixed a bug in the device_list parsing in the case there are more than one GPU in the system. * updating dgpu device choosing logic * Bug fixes for Linux. * Fixed paths * update branch info for LCM for Linux * Fix issue with Vulkan and OV giving more than 1 GPU. * light refactoring, and removing NPU from SuperRes device list (for now). * created function for handling inference result * aligned on lowercase sd_, SD UI tweaks. * Deleting unneeded files. * Reorganzing tree to make installation easier. * Add workaround for caching issue in GPU for SR * updated path due to dir structure changes. * updated to reflect case changes. * Updated windows install. Plugin path is no longer needed to be modified. * Refactor install.sh * Updated documentation to reflect Windows install changes. * Major overhall of installation. Blobs are now created after model download. * Updated windows install documenation * More documenation updates * updated UI elements * bug fixes for SR * syncing with v2.99-R3 * Adding support for comma separated list * Spaces are better than commas * Simplifying flow by not giving option to skip setup. Users can just exit right away, if needed * Updated install flow * switched from xcopy to robocopy * removed unneeded lines * removing cls for now * whitespace changes * remove files not needed. * Renamed files to be consistent with pythonic module nameing convention. * Add model setup back to install * Fixed logo paths for inclusion * more dash to underscore fixes * updated complete install * updating linux installer * fixed missed merge conflict * Whitespace changes. * added back exit * Removing tile specific config for compilation. now using default. * Needed to be recongnized as a module * Removing unused files * Fixed logo paths * updating testcase to align with new module organization. * Updated documentation to reflect 2.99.16 and new model setup flow. * Updated documentation to reflect 2.99.16 and new model setup flow. * updating screenshot * Resizing and removing figs not needed. * Update user_guide_for_windows_users.md * Fixing Super Resolution naming. * Model Loading and Compiling are multithreaded, mainly on SD1.5 INT8 * Adding multithreading for model compilation and load. * removed blank line at the start of the file. * Removed unused function. * fixed botched merge. * fixed botched merge * Bug fixes * Removing redundant print * minor update * Fixed FP16 powermode issue * Fixing issue with pytorch 2.4.0 * Added exit after opton 12. fixed ref-only download. * Adding turbo mode. * relocated art. * Adding wmi for driver version detection on Windows * Added platform info logging for easier tracking * Add back initial SD3.0 support. * Updated Turbo mode and removed Artwork which could cause issues on some systems. * Moving OV version to 2024.3.0 * Gating NPU turbo DEVICE_ARCHITECTURE. * Test case tweaks to add timestamps to images generated. * removing pip upgrade. may cause SSL errors. --------- Co-authored-by: arisha07 <[email protected]> Co-authored-by: Siwoo Park <[email protected]> * Fixing default steps and min guidance. * Fix sys.path extend calls to for openvino_utils/tools folder * WIP versions of the model management server / GUI * model_manager UI: Get model details from server * model manager ui: add install poll threads, and hook up progress bar * model manager: Add remaining model dl routines * model manager: Implement install queueing * model manager ui: Start progress bar thread if install is in progress on new dialog * model manager ui: install cancellation * Merge v2.99-R3 into MAIN (#48) * Fixing initilization bug * Adding better default config.json support and fixed a bug in the device_list parsing in the case there are more than one GPU in the system. * updating dgpu device choosing logic * Bug fixes for Linux. * Fixed paths * update branch info for LCM for Linux * Fix issue with Vulkan and OV giving more than 1 GPU. * light refactoring, and removing NPU from SuperRes device list (for now). * created function for handling inference result * aligned on lowercase sd_, SD UI tweaks. * Deleting unneeded files. * Reorganzing tree to make installation easier. * Add workaround for caching issue in GPU for SR * updated path due to dir structure changes. * updated to reflect case changes. * Updated windows install. Plugin path is no longer needed to be modified. * Refactor install.sh * Updated documentation to reflect Windows install changes. * Major overhall of installation. Blobs are now created after model download. * Updated windows install documenation * More documenation updates * updated UI elements * bug fixes for SR * syncing with v2.99-R3 * Adding support for comma separated list * Spaces are better than commas * Simplifying flow by not giving option to skip setup. Users can just exit right away, if needed * Updated install flow * switched from xcopy to robocopy * removed unneeded lines * removing cls for now * whitespace changes * remove files not needed. * Renamed files to be consistent with pythonic module nameing convention. * Add model setup back to install * Fixed logo paths for inclusion * more dash to underscore fixes * updated complete install * updating linux installer * fixed missed merge conflict * Whitespace changes. * added back exit * Removing tile specific config for compilation. now using default. * Needed to be recongnized as a module * Removing unused files * Fixed logo paths * updating testcase to align with new module organization. * Updated documentation to reflect 2.99.16 and new model setup flow. * Updated documentation to reflect 2.99.16 and new model setup flow. * updating screenshot * Resizing and removing figs not needed. * Update user_guide_for_windows_users.md * Enabling multiple models for download. * Fixing Super Resolution naming. * Model Loading and Compiling are multithreaded, mainly on SD1.5 INT8 * Adding multithreading for model compilation and load. * removed blank line at the start of the file. * Removed unused function. * fixed botched merge. * fixed botched merge * Bug fixes * Removing redundant print * minor update * Fixed FP16 powermode issue * V2.99 r3 staging (#126) * Adding multithreading for compile and load * tweaks for perf * adding back in exit * Fixing naming * Syncing with internal snapshot * Syncing with internal snapshot * Correcting capitalization * Doc update * Update user_guide_for_windows_users.md * Fixed model download bug. * Fix issue with torch 2.4.0 * Auto exit if a user chooses option 12. * Fixing issue with pytorch 2.4.0 * Remove debug statements * Added exit after opton 12. fixed ref-only download. * fixing NPU turbo to not fail if not enabled in the plugin * Adding flash SD3 and hardcoding dev version of OV (for now). * Updating sd3 implementation from Alpha to sd3-medium * Stable Diffusion 3 Medium support * Removing SD2.1 and adding DPU groups config for NPU model compile. * updating default prompt * Correcting SD3 paths * V2.99 r3 staging update (#131) * Initial commit * Initial commit of gimp-ml with semantic seg powered by OV * Added OV based deblur plugin * Added super-resolution OV based plugin supports esrgan & sr_1033 * Initial version for OV Inpainting * Replaced checkboxes with drop down list & added edsr model support to superres * Added ov style transfer filter * Super-res changes * Adding weights folder * Added initial version of stable diffusion * automated stable difussion model paths * Initial commit of gimp-ov * Removed unwanted files * Removed unwanted files * Fixed semseg and removed unwanted code * Removed unwanted dependencies * Added screenshot and removed unwanted files * Updated Readme * Updated Readme * Updated Readme * Updated Readme * Updated Readme * Updated Readme * Updated Readme * Delete LICENSE * Added thirdparty license and copyrights notices * Create LICENSE.md * Updated Readme * Delete testscases/.ipynb_checkpoints directory * Updated Readme * Added missing gdown during install * Added missing gdown during install * Changed license to Apache * Removed VPU device from mainline and deleted deblur plugin * Removed unused function and files after checkmarx scan * Commented out the exc_info to fix the Information_Exporsure issue in checkmarx * Replaced gimpov from the entire code base * Updated the GUI screen shot for readme * Renamed gimpov folder * Replaced GIMP-OV to GIMP-OpenVINO & gimpopenvino * Removed md5 and html related blacklisted items for bandit * Removed use of pickle from the plugin infrastructure * Replace readlines from text with json format for semantic seg * Replaced readlines method with json * Updated OpenVino to 2022.3.0 * Updated transformer version * Added copyright header to all source files * staging for final upstream part1 * final staging part2 * Modify readme * modify readme * Added more gifs * replaced the links * updated readme * updated readme * updated readme * updated sem-seg gif * updated readme * updated readme * updated readme * updated readme * Added new web * Final push * Added in-painting to main branch of open-source * Added model conversion support for SD1.5 Inpainting * Added inital image from canvas support * Modified mask creation step, fixed bug in load model, updated readme * small readme update * small readme update * small readme update * small readme update * Added controlnet-openpose * First version of updated internal version with external & internal controlnet, external inpainting * Optimized pipeline - moving infer_request.wait() * updated pipeline to N=2 controlnet-pose IR * Added Super-Res workflow in SD for acer * Latest optimized pipeline wirh share_outputs = True etc. * updated pipeline to use ergan and set SR resolution to landscape 2240x1400 * keeping final cache.png image * updated to run esrgan on GPU * Added inpainting internal version and updated device list to show NPU instead of VPUX * updated transformer version and removed unwanted debug prints * Update stable-diffusion-ov-server.py * Added model caching for SR model to reduce the load time * Added model caching for SR model to reduce the load time * Added padding as input image is square and output landscape * fixed a bug in SR standalone plugin * Fixed a bug in style transfer and semseg * fixed progress bar update in controlnet-pose, added model caching for other plugins and updated model setup * Updates for VPUX/VPU to NPU transition * Removed direct SR support from SD gui for release * Added controlnet-canny internal blob support * Updates to the path specification to be cross platform compatible * Updating paths to be cross platform compatible * Update to OV 2023.0.2 * Cleanup of _NEW and _org files * Combined StableDiffusion engines into one module * Run Inference becomes Generate, Internal becomes Advanced. * Replaced model conversion with model download from hugging face, some change in directory structure, added canny-edge batch2, scribble batch1 and batch2 * fixed a bug in repo-id for HF download * bug fix around shutil.copytree * uncomment the delete HF model cache * Fixed few more bugs * Fixed a typo * Removed UniPCM scheduler from local file for all batch-size 2 controlnet * Fixed corrupt image issue with landscape and portrait models: * Moved NPU to INT8 and added LCM * Updated import of diffusion pipeline for diffusers 0.23.0 * Initial checkin of working LCM * Updated to OV 2023.1.0 and diffusers 0.23.0. Added accelerate * removed some debug statements. * Moving install to use requirements.txt to ease linux/windows parity Added activation/deactivation of gimpenv3 on Windows during install * Updates for the UI to hide non-needed elements for LCM * Removed old class, other LCM updates * Adding LCM Scheduler and removing unneeded prints. * Updated Latent_Consistency to SD_1.5_lcm * Removed HF pull of scheduler for LCM. Commented out scheduler log print for now, until i find a better way to do it. * updated LCM model dir to be in square_lcm * added lcm in model download * update tensorflow version for scan issue * update onnx version for scan issue * update README * Fixed tabs v spaces * Added model_setup to Linux install script. * Updated to be linux compatible. added functions, and put back the "all" option * Update README.md Fixed Linux instructions, other edits to add LCM as supported. * Update model_setup.py to remove token Models are now public and downloads tested with access_token = None * Fixed device list parsing due to bug found in systmed with dGPU * updated to match public repo * updated to match public repo * Initial commit * Rebase to http://github.com/intel/openvino-ai-plugins-gimp * removed gimpml dir, not needed. * Fixed installer location bug. * initial set of changes to support config files for models to determine device list * Adding driver detection for NPU * more updates for powermodes * fixed few issues, including revision * Adding LCM under my idsid * Updating LCM to use config.json and load blobs for NPU * Updating setup to point to my private repo for testing. * Removed blob and swap flags, as they are no longer needed. * Removed blob and swap flags, as they are no longer needed. * Updated links in README.md * Removing current direcotry echo as not needed. * Initial checkin of SD3 support * Update power mode support checking. Still needs work, though... * Fixing typo in MTL NPU arch naming * Adding config file and code to download models from the revision adding ubuntu distro check * Updating model setup for LNL. * SAI Logo adding for SD3.0 * Bug fixes for Linux. * Added default for config.json, and better dGPU handling * trimming down plugin requirements * Pulling updates from opensource. * Rolled back SAI logo addition * Moved spinner to avoid horizontal shifts in the UI. Moved the license to over by the new logo location. * Update model_setup.py with spectral comment * Update model_setup.py * Update model_setup.py * Update model_setup.py * Update model_setup.py * Update model_setup_config.json * fixed typo * Removed repeated code. * Update for testing configs * Fixed issues with platform detection. * fixing tab alignment * Fixing case issue with SD which was root cause of neg prompt still showing up in LCM menu. * update for merge to main. * Updating testcases * removing unneeded files * Updated test case with all SD models. * Reduced redunant redundancies. * Aligned around image instead of init_image to be consistent with other controlnet engines * Added more engine support * Added FP16 support for NPU * fixing powermode ui logic * Added Decoder info for LCM model. * updating result naming to make comparing the same seed images easier. * Adding blob compilation to model setup * remove key from model setup * Removing chmod call for deprecated features. * update model_setup to compile 2T for Unet INT8 * add CLI options for model weights directory location * removed reliance on driver versions. * removed win32com which is no longer needed. * Create README.md * Update README.md * Model Loading and Compiling are multithreaded, mainly on SD1.5 INT8 * Adding multithreading for compile and load * tweaks for perf * adding back in exit * Fixing naming * Syncing with internal snapshot * Syncing with internal snapshot * Merge WW30 Snapshot into Main (#38) * Fixing initilization bug * Adding better default config.json support and fixed a bug in the device_list parsing in the case there are more than one GPU in the system. * updating dgpu device choosing logic * Bug fixes for Linux. * Fixed paths * update branch info for LCM for Linux * Fix issue with Vulkan and OV giving more than 1 GPU. * light refactoring, and removing NPU from SuperRes device list (for now). * created function for handling inference result * aligned on lowercase sd_, SD UI tweaks. * Deleting unneeded files. * Reorganzing tree to make installation easier. * Add workaround for caching issue in GPU for SR * updated path due to dir structure changes. * updated to reflect case changes. * Updated windows install. Plugin path is no longer needed to be modified. * Refactor install.sh * Updated documentation to reflect Windows install changes. * Major overhall of installation. Blobs are now created after model download. * Updated windows install documenation * More documenation updates * updated UI elements * bug fixes for SR * syncing with v2.99-R3 * Adding support for comma separated list * Spaces are better than commas * Simplifying flow by not giving option to skip setup. Users can just exit right away, if needed * Updated install flow * switched from xcopy to robocopy * removed unneeded lines * removing cls for now * whitespace changes * remove files not needed. * Renamed files to be consistent with pythonic module nameing convention. * Add model setup back to install * Fixed logo paths for inclusion * more dash to underscore fixes * updated complete install * updating linux installer * fixed missed merge conflict * Whitespace changes. * added back exit * Removing tile specific config for compilation. now using default. * Needed to be recongnized as a module * Removing unused files * Fixed logo paths * updating testcase to align with new module organization. * Updated documentation to reflect 2.99.16 and new model setup flow. * Updated documentation to reflect 2.99.16 and new model setup flow. * updating screenshot * Resizing and removing figs not needed. * Update user_guide_for_windows_users.md * Fixing Super Resolution naming. * Model Loading and Compiling are multithreaded, mainly on SD1.5 INT8 * Adding multithreading for model compilation and load. * removed blank line at the start of the file. * Removed unused function. * fixed botched merge. * fixed botched merge * Bug fixes * Removing redundant print * minor update * Fixed FP16 powermode issue --------- Co-authored-by: arisha07 <[email protected]> Co-authored-by: Siwoo Park <[email protected]> * Correcting capitalization * Npu turbo feature (#40) * Fixing initilization bug * Adding better default config.json support and fixed a bug in the device_list parsing in the case there are more than one GPU in the system. * updating dgpu device choosing logic * Bug fixes for Linux. * Fixed paths * update branch info for LCM for Linux * Fix issue with Vulkan and OV giving more than 1 GPU. * light refactoring, and removing NPU from SuperRes device list (for now). * created function for handling inference result * aligned on lowercase sd_, SD UI tweaks. * Deleting unneeded files. * Reorganzing tree to make installation easier. * Add workaround for caching issue in GPU for SR * updated path due to dir structure changes. * updated to reflect case changes. * Updated windows install. Plugin path is no longer needed to be modified. * Refactor install.sh * Updated documentation to reflect Windows install changes. * Major overhall of installation. Blobs are now created after model download. * Updated windows install documenation * More documenation updates * updated UI elements * bug fixes for SR * syncing with v2.99-R3 * Adding support for comma separated list * Spaces are better than commas * Simplifying flow by not giving option to skip setup. Users can just exit right away, if needed * Updated install flow * switched from xcopy to robocopy * removed unneeded lines * removing cls for now * whitespace changes * remove files not needed. * Renamed files to be consistent with pythonic module nameing convention. * Add model setup back to install * Fixed logo paths for inclusion * more dash to underscore fixes * updated complete install * updating linux installer * fixed missed merge conflict * Whitespace changes. * added back exit * Removing tile specific config for compilation. now using default. * Needed to be recongnized as a module * Removing unused files * Fixed logo paths * updating testcase to align with new module organization. * Updated documentation to reflect 2.99.16 and new model setup flow. * Updated documentation to reflect 2.99.16 and new model setup flow. * updating screenshot * Resizing and removing figs not needed. * Update user_guide_for_windows_users.md * Fixing Super Resolution naming. * Model Loading and Compiling are multithreaded, mainly on SD1.5 INT8 * Adding multithreading for model compilation and load. * removed blank line at the start of the file. * Removed unused function. * fixed botched merge. * fixed botched merge * Bug fixes * Removing redundant print * minor update * Fixed FP16 powermode issue * Fixing issue with pytorch 2.4.0 * Added exit after opton 12. fixed ref-only download. * Adding turbo mode. * relocated art. * Adding wmi for driver version detection on Windows * Added platform info logging for easier tracking * Add back initial SD3.0 support. * Updated Turbo mode and removed Artwork which could cause issues on some systems. * Moving OV version to 2024.3.0 * Gating NPU turbo DEVICE_ARCHITECTURE. * Test case tweaks to add timestamps to images generated. * removing pip upgrade. may cause SSL errors. --------- Co-authored-by: arisha07 <[email protected]> Co-authored-by: Siwoo Park <[email protected]> * Fixing default steps and min guidance. * fixing NPU turbo to not fail if not enabled in the plugin * Adding flash SD3 and hardcoding dev version of OV (for now). * Fix sys.path extend calls to for openvino_utils/tools folder * Updating sd3 implementation from Alpha to sd3-medium * update default prompt * Set openvino release * Removing unused files. * freezing requirements.txt --------- Co-authored-by: Arisha Kumar <[email protected]> Co-authored-by: RyanMetcalfeInt8 <[email protected]> Co-authored-by: Luke Lin <[email protected]> Co-authored-by: ymangukiya <[email protected]> Co-authored-by: nschaper-intel <[email protected]> Co-authored-by: Siwoo Park <[email protected]> Co-authored-by: Metcalfe, Ryan <[email protected]> * config causing issues on some machines. * Need the nightly build for NPU Turbo * Freezing requirements. * updating testcases with new default prompt and random seeds beyond the first image. * Adding NPU Arch detection * removed unused function * Add tile configuration to model setup * Add tile configuration to model setup * updating testcases with new default prompt and random seeds beyond the first image. * Adjusting model to IP mapping * Added guidance scale param * Removed unnecessary print. * Fixing git clone command. * updating threshold * updating tools path * remove unneeded print. * Syncing with v2.99-R3-staging * fixed model configs for FP16 and INT8 * fixed model configs for FP16 and INT8 * typo and bug fix in controlnet models * Once again, re-assigning profile mappings. * fixed seed issue * Fix threashold value. * Adapted stable_diffusion_engine.py and stable_diffusion_engine_tc.py for basic Linux (Ubuntu 22) support * Fixing torch to exactly 2.3.1 * Adjust init image checkbox to not display for LCM. * Update model configs. * freezing torchvision version. --------- Co-authored-by: arisha07 <[email protected]> Co-authored-by: Siwoo Park <[email protected]> Co-authored-by: RyanMetcalfeInt8 <[email protected]> Co-authored-by: Luke Lin <[email protected]> Co-authored-by: ymangukiya <[email protected]> Co-authored-by: nschaper-intel <[email protected]> Co-authored-by: Metcalfe, Ryan <[email protected]> Co-authored-by: Rafael Lago <[email protected]> * model manager ui: Trigger update of SD model selection combo upon completion of an install * model management server: Refactor supported model / installable model map, along with download routines * model management server: Implement file download exclude patterns * stable diffusion: Populate the model select drop-down with model_list retrieved from model manager * model manager: tweak model names * stable diffusion: Display 'full' model name in model selection drop-down * stable diffusion engine: swap deprecated download_tokenizer call to from_pretrained/save_pretrained sequence * model management server: update SD3.0 entries * Adding support for W8A16 model. * removing model which doesn't exist * model manager server: Update model install routine based on latest changes to model_setup.py * model management ui: move ModelManagementWindow to dedicated .py * model management server: Change name of OpenVINOModelInstaller class to 'ModelManager' * model manager: Move ModelManager class to a dedicated .py * model manager: Trigger error window pop-up when model installation fails * model manager: Remove test entries from UI * model manager: Remove Portrait / Landscape options from UI installable list * model manager: Write installation info (hf repo id, commit-id) into installation folder at end of install procedure * model manager: For sd_1.5_square_int8a16, confirm IR bin exists before presenting it as a usable option * model manager: Remove unneceaary print statements, fix error dialog upon cancellation * model_setup.py: Use an instance of ModelManager to populate user selection list, as well as perform install routines * Update to install.bat to remove model setup * moving model install button to the left. * SD selectable even without a layer present * model manager: record NPU driver version used to compile blobs into install_info.json * model manager: Require install_info.json to be present for a model to be deemed as 'installed' * model manager: 'Update' operation available for installed models that could require recompilation * model manager: Fix undeclared full_install_path * Updating install scripts and adding powershell. * stable diffusion engine: Fix issue in int8a16 if all devices are 'GPU' * GIMP-side stable diffusion plugin: Don't allow use of controlnet if n_layers==0 * Backing out error checking due to pip return codes. * Removing unneeded print. * Fixed issue with dir existance. Fixed bug in python3 pointer. * Adding missing imports. * Removing unnecessary print * model manager: Explicitly tag install routines that have NPU compilation routines * fixed alignment bug in model_setup * Fine tuning print messages * Fixed Precision reported for LCM * Fixed logic around power modes to ensure button sensitivity is correct. * Removed commented out lines which were experiments. * Move install_base_models routine from model_setup.py to complete_install.py * Completing merge. * model manager: Fix issue where an install entry doesn't show up in UI if it's currently installing * Updated the readme and windows doc * Fixed format in user guide * Fixed format in user guide * Remove int8 variants of inpainting, controlnet models * need to treat the path as a raw string to avoid unicode errors * updated user guide for win * Adding Stable Diffusion 3 guilde * Fixed typo and added detail about install_info.json * fixed a typo in the install_info.json * Added command line model setup instructions in standalone readme: * Fixed format in standalone readme * Fixed format in standalone readme * Fixed format in standalone readme * Fixed format in standalone readme * Fixed format in standalone readme * Fixed format in standalone readme * updated figure in standalone readme * Updating to support SD1.5 FP16 on Ultra Series 1 systems. * model manager: Handle potential race condition in server startup / connection * stable diffusion server: Add a retry mechanism for socket binding * stable diffusion server: Perform explicit close of the socket upon exit --------- Co-authored-by: Kumar <[email protected]> Co-authored-by: RyanMetcalfeInt8 <[email protected]> Co-authored-by: Luke Lin <[email protected]> Co-authored-by: ymangukiya <[email protected]> Co-authored-by: nschaper-intel <[email protected]> Co-authored-by: Siwoo Park <[email protected]> Co-authored-by: Metcalfe, Ryan <[email protected]> Co-authored-by: Rafael Lago <[email protected]>
1 parent e8158a7 commit 9bab3df

File tree

101 files changed

+2408
-743
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

101 files changed

+2408
-743
lines changed

Docs/figs/gimp_load_model.png

9.08 KB
Loading

Docs/figs/gimp_sd_ui.png

7.08 KB
Loading
35.1 KB
Loading
21.2 KB
Loading
23.7 KB
Loading
68 KB
Loading

Docs/figs/standalone1.png

49.2 KB
Loading

Docs/figs/standalone2.png

121 KB
Loading

Docs/stable-diffusion-v3.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# Image generation with Stable Diffusion 3.0
2+
3+
Stable Diffusion V3 is next generation of latent diffusion image Stable Diffusion models family that outperforms state-of-the-art text-to-image generation systems in typography and prompt adherence, based on human preference evaluations.
4+
5+
In comparison with previous versions, it based on Multimodal Diffusion Transformer (MMDiT) text-to-image model that features greatly improved performance in image quality, typography, complex prompt understanding, and resource-efficiency.
6+
7+
More details about model can be found in [model card](https://huggingface.co/stabilityai/stable-diffusion-3-medium), [research paper](https://stability.ai/news/stable-diffusion-3-research-paper) and [Stability.AI blog post](https://stability.ai/news/stable-diffusion-3-medium).
8+
9+
## Enabling SD3 in GIMP
10+
### Converting the Models
11+
The supported version of SD3 in GIMP is the flash_sd3 LoRA. In order to use with GIMP, you first need to download and convert the model into OpenVINO format. This can be done by following the instructions in the [OpenVINO Stable Diffusion v3 Notebook](https://github.com/openvinotoolkit/openvino_notebooks/tree/latest/notebooks/stable-diffusion-v3).
12+
>**Note**: Ensure you use the instructions for flash_sd3.
13+
14+
### Model Installation
15+
After completing the steps in the notebook, you will have the models located in `openvino_notebooks\notebooks\stable-diffusion-v3\stable-diffusion-3`. Copy these models to `openvino-ai-plugins-gimp\weights\stable-diffusion-ov\stable-diffusion-3.0`
16+
17+
For example, using robocopy to copy the files on the command line:
18+
```
19+
robocopy openvino_notebooks\notebooks\stable-diffusion-v3\stable-diffusion-3\ %userprofile%\openvino-ai-plugins-gimp\weights\stable-diffusion-ov\stable-diffusion-3.0\. /mir
20+
```
21+
After copying, create a file called `install_info.json` inside the stable-diffusion-3.0 directory. This will ensure that the GIMP plugin will recognize this as a valid model. It should contain the following text:
22+
```
23+
{
24+
"hf_repo_id": "none",
25+
"hf_commit_id": "none"
26+
}
27+
```
28+
29+
Verify that the copied files and directory structure looks as follows:
30+
31+
![image](https://github.com/user-attachments/assets/039073d1-e593-4365-92c9-3555ea023670)
32+
### Running with GIMP
33+
After completing model installation steps, SD3 will now be available in the Stable Diffusion UI. Note that SD3 can generate valid images in as few as 4 iterations. Also, the guidance scale needed is normally much lower. See the screenshot below:
34+
![image](https://github.com/user-attachments/assets/6daf3201-b873-4198-a752-19594f352c50)
35+
36+
37+
38+

Docs/user_guide_for_windows_users.md

Lines changed: 27 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,7 @@ Please download [gimp-2.99.16-setup.exe](https://download.gimp.org/gimp/v2.99/wi
105105
cd C:\Users\Public\
106106
mkdir GIMP
107107
cd GIMP
108-
109-
git clone https://github.com/intel/openvino-ai-plugins-gimp.git
108+
git clone --branch v2.99-R3 https://github.com/intel/openvino-ai-plugins-gimp.git
110109
```
111110
> __Notes__:
112111
> This is an example that will create a `GIMP` folder in `C:\Users\Public\`, and then download the package to `C:\Users\Public\GIMP`, you still can define where to place this package by yourself.
@@ -119,19 +118,7 @@ Please download [gimp-2.99.16-setup.exe](https://download.gimp.org/gimp/v2.99/wi
119118

120119
This step will take time for downloading necessary packages.
121120

122-
123-
- After creating python environment, gimpenv3, and downloaded necessary packages, you will be prompted to download models
124-
- Enter __\<number\>__ for downloading models you want to run. You can specify multiple models separated by spaces:
125-
126-
![](figs/model_downloding_SD1.5.png)
127-
128-
- Download "__1__", SD-1.5 Square (512x512) as an instance. Once installation process is completed when you see the messages below.
129-
130-
![](figs/download_SD1.5.png)
131-
132-
>**Notes:**
133-
> - The downloaded models include FP16 and INT8 precision, and INT8 precision can be executed on MTL NPU.
134-
> - Weights is saved at `C:\Users\<user_name>\openvino-ai-plugins-gimp\weights`.
121+
- After creating python environment, gimpenv3, and downloaded necessary packages, you can now start GIMP application from Start Menu.
135122

136123
# Execute Stable-Diffusion in GIMP
137124

@@ -143,18 +130,36 @@ With previous section, the GIMP AI plugins with OpenVINO™ Backend is installed
143130

144131
You can now simply open Gimp from the start menu as you would any normal Windows application.
145132

146-
## Execute Stable-Diffusion – SD1.5_square_int8
133+
## Download & Install Stable Diffusion Models
134+
- Once GIMP application is started, Click "__Layer__" \> "__OpenVINO-AI-Plugins__" \> "__Stable diffusion__".
135+
- Once Stable Diffusion Plugin UI opens up, click on Model Button on the top left corner as show in the below picture:
147136

148-
Please follow below steps to execute Stable-Diffusion - SD1.5_square_int8. For other features, please refer to [OpenVINO™ Image Generator Plugin with Stable Diffusion](https://github.com/intel/openvino-ai-plugins-gimp/tree/main?tab=readme-ov-file#openvino-image-generator-plugin-with-stable-diffusion) section.
137+
![](figs/stable-diffusion_model1.png)
138+
- This now opens the Stable Diffusion Model Management window from where you can install the required models by clicking on "Install" button next to the model name.
149139

150-
- Following previous section to launch GIMP
140+
![](figs/stable-diffusion_model2.png)
151141

152-
![](figs/gimp_launch.png)
142+
- Download Stable Diffusion 1.5 Square as an instance.
153143

154-
- Click "__File__" \> "__New__" \> "__OK__" to new a layer in GIMP
144+
![](figs/stable-diffusion_model3.png)
145+
146+
- Once installation process is completed, you will see the "Install" button is updated to "Installed" and you will find the models in the drop-down list
155147

156-
![](figs/gimp_create_image.png)
157-
![](figs/gimp_ok.png)
148+
![](figs/stable-diffusion_model4.png)
149+
150+
>**Notes:**
151+
> - The downloaded models include FP16 and INT8 precision
152+
> - Weights is saved at `C:\Users\<user_name>\openvino-ai-plugins-gimp\weights`.
153+
154+
155+
156+
## Execute Stable-Diffusion – Stable Diffusion 1.5 INT8
157+
158+
Please follow below steps to execute Stable-Diffusion - Stable Diffusion 1.5 INT8. For other features, please refer to [OpenVINO™ Image Generator Plugin with Stable Diffusion](https://github.com/intel/openvino-ai-plugins-gimp/tree/main?tab=readme-ov-file#openvino-image-generator-plugin-with-stable-diffusion) section.
159+
160+
- Following previous section to launch GIMP
161+
162+
![](figs/gimp_launch.png)
158163

159164
- Click "__Layer__" \> "__OpenVINO-AI-Plugins__" \> "__Stable diffusion__".
160165

@@ -177,10 +182,3 @@ Please follow below steps to execute Stable-Diffusion - SD1.5_square_int8. For o
177182
> - Balanced
178183
> - If you wish to generate more images in single run, please modify the Number of Images section.
179184
180-
### Detail of Power Mode
181-
182-
| Power mode | Execution detail |
183-
|----------:|:----------------|
184-
| Best Performance | Text Device: GPU<br>Unet Device: GPU<br>Unet-Neg Device: GPU<br>VAE Device: GPU |
185-
| Best Power Efficiency | Text Device: NPU<br>Unet Device: NPU<br>Unet-Neg Device: NPU<br>VAE Device: GPU |
186-
| Balanced | Text Device: NPU<br>Unet Device: NPU<br>Unet-Neg Device: GPU<br>VAE Device: GPU |

0 commit comments

Comments
 (0)