kohya_ss / kohya_gui /class_sdxl_parameters.py
Shinguitar's picture
Upload folder using huggingface_hub
f889344 verified
raw
history blame contribute delete
No virus
1.72 kB
import gradio as gr
from .class_gui_config import KohyaSSGUIConfig
class SDXLParameters:
def __init__(
self,
sdxl_checkbox: gr.Checkbox,
show_sdxl_cache_text_encoder_outputs: bool = True,
config: KohyaSSGUIConfig = {},
):
self.sdxl_checkbox = sdxl_checkbox
self.show_sdxl_cache_text_encoder_outputs = show_sdxl_cache_text_encoder_outputs
self.config = config
self.initialize_accordion()
def initialize_accordion(self):
with gr.Accordion(
visible=False, open=True, label="SDXL Specific Parameters"
) as self.sdxl_row:
with gr.Row():
self.sdxl_cache_text_encoder_outputs = gr.Checkbox(
label="Cache text encoder outputs",
info="Cache the outputs of the text encoders. This option is useful to reduce the GPU memory usage. This option cannot be used with options for shuffling or dropping the captions.",
value=self.config.get("sdxl.sdxl_cache_text_encoder_outputs", False),
visible=self.show_sdxl_cache_text_encoder_outputs,
)
self.sdxl_no_half_vae = gr.Checkbox(
label="No half VAE",
info="Disable the half-precision (mixed-precision) VAE. VAE for SDXL seems to produce NaNs in some cases. This option is useful to avoid the NaNs.",
value=self.config.get("sdxl.sdxl_no_half_vae", False),
)
self.sdxl_checkbox.change(
lambda sdxl_checkbox: gr.Accordion(visible=sdxl_checkbox),
inputs=[self.sdxl_checkbox],
outputs=[self.sdxl_row],
)