From 19b01e50001800b31e48fd72f12636f44db35b62 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sat, 1 Feb 2025 10:31:07 -0500 Subject: [PATCH] make nvml work in cli Signed-off-by: Vladimir Mandic --- javascript/sdnext.css | 1 + modules/api/nvml.py | 15 ++++++++++++++- modules/ui_common.py | 7 ++++--- modules/ui_sections.py | 6 ++++++ modules/ui_symbols.py | 1 + 5 files changed, 26 insertions(+), 4 deletions(-) diff --git a/javascript/sdnext.css b/javascript/sdnext.css index c3deebad7..b6f72b593 100644 --- a/javascript/sdnext.css +++ b/javascript/sdnext.css @@ -113,6 +113,7 @@ button.custom-button { border-radius: var(--button-large-radius); padding: var(- .interrogate-clip { position: absolute; right: 6em; top: 8px; max-width: fit-content; background: none !important; z-index: 50; } .interrogate-blip { position: absolute; right: 4em; top: 8px; max-width: fit-content; background: none !important; z-index: 50; } +.interrogate { position: absolute; right: 4em; top: 8px; max-width: fit-content; background: none !important; z-index: 50; } .interrogate-col { min-width: 0 !important; max-width: fit-content; margin-right: var(--spacing-xxl); } .interrogate-col>button { flex: 1; width: 7em; max-height: 84px; } #sampler_selection_img2img { margin-top: 1em; } diff --git a/modules/api/nvml.py b/modules/api/nvml.py index 174fcecd5..3554e62c8 100644 --- a/modules/api/nvml.py +++ b/modules/api/nvml.py @@ -1,4 +1,11 @@ -from installer import install, log +try: + from installer import install, log +except Exception: + def install(*args, **kwargs): # pylint: disable=unused-argument + pass + import logging + log = logging.getLogger(__name__) + nvml_initialized = False @@ -76,3 +83,9 @@ def get_nvml(): except Exception as e: log.error(f'NVML: {e}') return [] + + +if __name__ == '__main__': + from rich import print as rprint + for gpu in get_nvml(): + rprint(gpu) diff --git a/modules/ui_common.py b/modules/ui_common.py index 3e7c68bec..b42373957 100644 --- a/modules/ui_common.py +++ b/modules/ui_common.py @@ -258,9 +258,10 @@ def create_output_panel(tabname, preview=True, prompt=None, height=None): elem_classes=["gallery_main"], ) if prompt is not None: - interrogate_clip_btn, interrogate_booru_btn = ui_sections.create_interrogate_buttons('control') - interrogate_clip_btn.click(fn=interrogate_clip, inputs=[result_gallery], outputs=[prompt]) - interrogate_booru_btn.click(fn=interrogate_booru, inputs=[result_gallery], outputs=[prompt]) + ui_sections.create_interrogate_button(tab=tabname, inputs=result_gallery, output=prompt) + # interrogate_clip_btn, interrogate_booru_btn = ui_sections.create_interrogate_buttons(tabname) + # interrogate_clip_btn.click(fn=interrogate_clip, inputs=[result_gallery], outputs=[prompt]) + # interrogate_booru_btn.click(fn=interrogate_booru, inputs=[result_gallery], outputs=[prompt]) with gr.Column(elem_id=f"{tabname}_footer", elem_classes="gallery_footer"): diff --git a/modules/ui_sections.py b/modules/ui_sections.py index 17436dd31..f3395ff4a 100644 --- a/modules/ui_sections.py +++ b/modules/ui_sections.py @@ -90,6 +90,12 @@ def create_resolution_inputs(tab): return width, height +def create_interrogate_button(tab: str, inputs: list, outputs: str): + button_interrogate = gr.Button(ui_symbols.interrogate, elem_id=f"{tab}_interrogate", elem_classes=['interrogate']) + button_interrogate.click(fn=lambda: None, _js='() => quickInterrogate()', inputs=[], outputs=[]) + return button_interrogate + + def create_interrogate_buttons(tab): button_interrogate = gr.Button(ui_symbols.int_clip, elem_id=f"{tab}_interrogate", elem_classes=['interrogate-clip']) button_deepbooru = gr.Button(ui_symbols.int_blip, elem_id=f"{tab}_deepbooru", elem_classes=['interrogate-blip']) diff --git a/modules/ui_symbols.py b/modules/ui_symbols.py index 7a999bad2..c92ddb8f6 100644 --- a/modules/ui_symbols.py +++ b/modules/ui_symbols.py @@ -26,6 +26,7 @@ preview = '🖼️' image = '🖌️' mark_diag = '※' mark_flag = '⁜' +interrogate = '♻' int_clip = '✎' int_blip = '✐' bullet = '⃝'