NeoPy commited on
Commit
c20ba3e
·
verified ·
1 Parent(s): 336c5c0

Create ckpt.py

Browse files
Files changed (1) hide show
  1. app/tabs/train/ckpt.py +161 -0
app/tabs/train/ckpt.py ADDED
@@ -0,0 +1,161 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from original import *
3
+
4
+
5
+ def ckpt_edits():
6
+ with gr.TabItem(i18n("ckpt处理")):
7
+ with gr.Group():
8
+ gr.Markdown(value=i18n("模型融合, 可用于测试音色融合"))
9
+ with gr.Row():
10
+ ckpt_a = gr.Textbox(
11
+ label=i18n("A模型路径"), value="", interactive=True
12
+ )
13
+ ckpt_b = gr.Textbox(
14
+ label=i18n("B模型路径"), value="", interactive=True
15
+ )
16
+ alpha_a = gr.Slider(
17
+ minimum=0,
18
+ maximum=1,
19
+ label=i18n("A模型权重"),
20
+ value=0.5,
21
+ interactive=True,
22
+ )
23
+ with gr.Row():
24
+ sr_ = gr.Radio(
25
+ label=i18n("目标采样率"),
26
+ choices=["40k", "48k"],
27
+ value="40k",
28
+ interactive=True,
29
+ )
30
+ if_f0_ = gr.Radio(
31
+ label=i18n("模型是否带音高指导"),
32
+ choices=[i18n("是"), i18n("否")],
33
+ value=i18n("是"),
34
+ interactive=True,
35
+ )
36
+ info__ = gr.Textbox(
37
+ label=i18n("要置入的模型信息"),
38
+ value="",
39
+ max_lines=8,
40
+ interactive=True,
41
+ )
42
+ name_to_save0 = gr.Textbox(
43
+ label=i18n("保存的模型名不带后缀"),
44
+ value="",
45
+ max_lines=1,
46
+ interactive=True,
47
+ )
48
+ version_2 = gr.Radio(
49
+ label=i18n("模型版本型号"),
50
+ choices=["v1", "v2"],
51
+ value="v1",
52
+ interactive=True,
53
+ )
54
+ with gr.Row():
55
+ but6 = gr.Button(i18n("融合"), variant="primary")
56
+ info4 = gr.Textbox(label=i18n("输出信息"), value="", max_lines=8)
57
+ but6.click(
58
+ merge,
59
+ [
60
+ ckpt_a,
61
+ ckpt_b,
62
+ alpha_a,
63
+ sr_,
64
+ if_f0_,
65
+ info__,
66
+ name_to_save0,
67
+ version_2,
68
+ ],
69
+ info4,
70
+ api_name="ckpt_merge",
71
+ ) # def merge(path1,path2,alpha1,sr,f0,info):
72
+ with gr.Group():
73
+ gr.Markdown(
74
+ value=i18n("修改模型信息(仅支持weights文件夹下提取的小模型文件)")
75
+ )
76
+ with gr.Row():
77
+ ckpt_path0 = gr.Textbox(
78
+ label=i18n("模型路径"), value="", interactive=True
79
+ )
80
+ info_ = gr.Textbox(
81
+ label=i18n("要改的模型信息"),
82
+ value="",
83
+ max_lines=8,
84
+ interactive=True,
85
+ )
86
+ name_to_save1 = gr.Textbox(
87
+ label=i18n("保存的文件名, 默认空为和源文件同名"),
88
+ value="",
89
+ max_lines=8,
90
+ interactive=True,
91
+ )
92
+ with gr.Row():
93
+ but7 = gr.Button(i18n("修改"), variant="primary")
94
+ info5 = gr.Textbox(label=i18n("输出信息"), value="", max_lines=8)
95
+ but7.click(
96
+ change_info,
97
+ [ckpt_path0, info_, name_to_save1],
98
+ info5,
99
+ api_name="ckpt_modify",
100
+ )
101
+ with gr.Group():
102
+ gr.Markdown(
103
+ value=i18n("查看模型信息(仅支持weights文件夹下提取的小模型文件)")
104
+ )
105
+ with gr.Row():
106
+ ckpt_path1 = gr.Textbox(
107
+ label=i18n("模型路径"), value="", interactive=True
108
+ )
109
+ but8 = gr.Button(i18n("查看"), variant="primary")
110
+ info6 = gr.Textbox(label=i18n("输出信息"), value="", max_lines=8)
111
+ but8.click(show_info, [ckpt_path1], info6, api_name="ckpt_show")
112
+ with gr.Group():
113
+ gr.Markdown(
114
+ value=i18n(
115
+ "模型提取(输入logs文件夹下大文件模型路径),适用于训一半不想训了模型没有自动提取保存小文件模型,或者想测试中间模型的情况"
116
+ )
117
+ )
118
+ with gr.Row():
119
+ ckpt_path2 = gr.Textbox(
120
+ label=i18n("模型路径"),
121
+ value="E:\\codes\\py39\\logs\\mi-test_f0_48k\\G_23333.pth",
122
+ interactive=True,
123
+ )
124
+ save_name = gr.Textbox(
125
+ label=i18n("保存名"), value="", interactive=True
126
+ )
127
+ sr__ = gr.Radio(
128
+ label=i18n("目标采样率"),
129
+ choices=["32k", "40k", "48k"],
130
+ value="40k",
131
+ interactive=True,
132
+ )
133
+ if_f0__ = gr.Radio(
134
+ label=i18n("模型是否带音高指导,1是0否"),
135
+ choices=["1", "0"],
136
+ value="1",
137
+ interactive=True,
138
+ )
139
+ version_1 = gr.Radio(
140
+ label=i18n("模型版本型号"),
141
+ choices=["v1", "v2"],
142
+ value="v2",
143
+ interactive=True,
144
+ )
145
+ info___ = gr.Textbox(
146
+ label=i18n("要置入的模型信息"),
147
+ value="",
148
+ max_lines=8,
149
+ interactive=True,
150
+ )
151
+ but9 = gr.Button(i18n("提取"), variant="primary")
152
+ info7 = gr.Textbox(label=i18n("输出信息"), value="", max_lines=8)
153
+ ckpt_path2.change(
154
+ change_info_, [ckpt_path2], [sr__, if_f0__, version_1]
155
+ )
156
+ but9.click(
157
+ extract_small_model,
158
+ [ckpt_path2, save_name, sr__, if_f0__, info___, version_1],
159
+ info7,
160
+ api_name="ckpt_extract",
161
+ )