mirror of https://github.com/bmaltais/kohya_ss
89 lines
3.3 KiB
Python
89 lines
3.3 KiB
Python
import gradio as gr
|
|
from .common_gui import remove_doublequote, get_folder_path
|
|
|
|
class Folders:
|
|
def __init__(self, headless=False):
|
|
self.headless = headless
|
|
|
|
with gr.Row():
|
|
self.train_data_dir = gr.Textbox(
|
|
label='Image folder',
|
|
placeholder='Folder where the training folders containing the images are located',
|
|
)
|
|
self.train_data_dir_folder = gr.Button(
|
|
'📂', elem_id='open_folder_small', visible=(not self.headless)
|
|
)
|
|
self.train_data_dir_folder.click(
|
|
get_folder_path,
|
|
outputs=self.train_data_dir,
|
|
show_progress=False,
|
|
)
|
|
self.reg_data_dir = gr.Textbox(
|
|
label='Regularisation folder',
|
|
placeholder='(Optional) Folder where where the regularization folders containing the images are located',
|
|
)
|
|
self.reg_data_dir_folder = gr.Button(
|
|
'📂', elem_id='open_folder_small', visible=(not self.headless)
|
|
)
|
|
self.reg_data_dir_folder.click(
|
|
get_folder_path,
|
|
outputs=self.reg_data_dir,
|
|
show_progress=False,
|
|
)
|
|
with gr.Row():
|
|
self.output_dir = gr.Textbox(
|
|
label='Output folder',
|
|
placeholder='Folder to output trained model',
|
|
)
|
|
self.output_dir_folder = gr.Button(
|
|
'📂', elem_id='open_folder_small', visible=(not self.headless)
|
|
)
|
|
self.output_dir_folder.click(
|
|
get_folder_path,
|
|
outputs=self.output_dir,
|
|
show_progress=False,
|
|
)
|
|
self.logging_dir = gr.Textbox(
|
|
label='Logging folder',
|
|
placeholder='Optional: enable logging and output TensorBoard log to this folder',
|
|
)
|
|
self.logging_dir_folder = gr.Button(
|
|
'📂', elem_id='open_folder_small', visible=(not self.headless)
|
|
)
|
|
self.logging_dir_folder.click(
|
|
get_folder_path,
|
|
outputs=self.logging_dir,
|
|
show_progress=False,
|
|
)
|
|
with gr.Row():
|
|
self.output_name = gr.Textbox(
|
|
label='Model output name',
|
|
placeholder='(Name of the model to output)',
|
|
value='last',
|
|
interactive=True,
|
|
)
|
|
self.training_comment = gr.Textbox(
|
|
label='Training comment',
|
|
placeholder='(Optional) Add training comment to be included in metadata',
|
|
interactive=True,
|
|
)
|
|
self.train_data_dir.blur(
|
|
remove_doublequote,
|
|
inputs=[self.train_data_dir],
|
|
outputs=[self.train_data_dir],
|
|
)
|
|
self.reg_data_dir.blur(
|
|
remove_doublequote,
|
|
inputs=[self.reg_data_dir],
|
|
outputs=[self.reg_data_dir],
|
|
)
|
|
self.output_dir.blur(
|
|
remove_doublequote,
|
|
inputs=[self.output_dir],
|
|
outputs=[self.output_dir],
|
|
)
|
|
self.logging_dir.blur(
|
|
remove_doublequote,
|
|
inputs=[self.logging_dir],
|
|
outputs=[self.logging_dir],
|
|
) |