File size: 3,353 Bytes
2fdce3c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
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],
        )