| import gradio as gr |
| from app.original import * |
|
|
|
|
| def ckpt_edits(): |
| with gr.TabItem(i18n("ckpt处理")): |
| with gr.Group(): |
| gr.Markdown(value=i18n("模型融合, 可用于测试音色融合")) |
| with gr.Row(): |
| ckpt_a = gr.Textbox( |
| label=i18n("A模型路径"), value="", interactive=True |
| ) |
| ckpt_b = gr.Textbox( |
| label=i18n("B模型路径"), value="", interactive=True |
| ) |
| alpha_a = gr.Slider( |
| minimum=0, |
| maximum=1, |
| label=i18n("A模型权重"), |
| value=0.5, |
| interactive=True, |
| ) |
| with gr.Row(): |
| sr_ = gr.Radio( |
| label=i18n("目标采样率"), |
| choices=["40k", "48k"], |
| value="40k", |
| interactive=True, |
| ) |
| if_f0_ = gr.Radio( |
| label=i18n("模型是否带音高指导"), |
| choices=[i18n("是"), i18n("否")], |
| value=i18n("是"), |
| interactive=True, |
| ) |
| info__ = gr.Textbox( |
| label=i18n("要置入的模型信息"), |
| value="", |
| max_lines=8, |
| interactive=True, |
| ) |
| name_to_save0 = gr.Textbox( |
| label=i18n("保存的模型名不带后缀"), |
| value="", |
| max_lines=1, |
| interactive=True, |
| ) |
| version_2 = gr.Radio( |
| label=i18n("模型版本型号"), |
| choices=["v1", "v2"], |
| value="v1", |
| interactive=True, |
| ) |
| with gr.Row(): |
| but6 = gr.Button(i18n("融合"), variant="primary") |
| info4 = gr.Textbox(label=i18n("输出信息"), value="", max_lines=8) |
| but6.click( |
| merge, |
| [ |
| ckpt_a, |
| ckpt_b, |
| alpha_a, |
| sr_, |
| if_f0_, |
| info__, |
| name_to_save0, |
| version_2, |
| ], |
| info4, |
| api_name="ckpt_merge", |
| ) |
| with gr.Group(): |
| gr.Markdown( |
| value=i18n("修改模型信息(仅支持weights文件夹下提取的小模型文件)") |
| ) |
| with gr.Row(): |
| ckpt_path0 = gr.Textbox( |
| label=i18n("模型路径"), value="", interactive=True |
| ) |
| info_ = gr.Textbox( |
| label=i18n("要改的模型信息"), |
| value="", |
| max_lines=8, |
| interactive=True, |
| ) |
| name_to_save1 = gr.Textbox( |
| label=i18n("保存的文件名, 默认空为和源文件同名"), |
| value="", |
| max_lines=8, |
| interactive=True, |
| ) |
| with gr.Row(): |
| but7 = gr.Button(i18n("修改"), variant="primary") |
| info5 = gr.Textbox(label=i18n("输出信息"), value="", max_lines=8) |
| but7.click( |
| change_info, |
| [ckpt_path0, info_, name_to_save1], |
| info5, |
| api_name="ckpt_modify", |
| ) |
| with gr.Group(): |
| gr.Markdown( |
| value=i18n("查看模型信息(仅支持weights文件夹下提取的小模型文件)") |
| ) |
| with gr.Row(): |
| ckpt_path1 = gr.Textbox( |
| label=i18n("模型路径"), value="", interactive=True |
| ) |
| but8 = gr.Button(i18n("查看"), variant="primary") |
| info6 = gr.Textbox(label=i18n("输出信息"), value="", max_lines=8) |
| but8.click(show_info, [ckpt_path1], info6, api_name="ckpt_show") |
| with gr.Group(): |
| gr.Markdown( |
| value=i18n( |
| "模型提取(输入logs文件夹下大文件模型路径),适用于训一半不想训了模型没有自动提取保存小文件模型,或者想测试中间模型的情况" |
| ) |
| ) |
| with gr.Row(): |
| ckpt_path2 = gr.Textbox( |
| label=i18n("模型路径"), |
| value="E:\\codes\\py39\\logs\\mi-test_f0_48k\\G_23333.pth", |
| interactive=True, |
| ) |
| save_name = gr.Textbox( |
| label=i18n("保存名"), value="", interactive=True |
| ) |
| sr__ = gr.Radio( |
| label=i18n("目标采样率"), |
| choices=["32k", "40k", "48k"], |
| value="40k", |
| interactive=True, |
| ) |
| if_f0__ = gr.Radio( |
| label=i18n("模型是否带音高指导,1是0否"), |
| choices=["1", "0"], |
| value="1", |
| interactive=True, |
| ) |
| version_1 = gr.Radio( |
| label=i18n("模型版本型号"), |
| choices=["v1", "v2"], |
| value="v2", |
| interactive=True, |
| ) |
| info___ = gr.Textbox( |
| label=i18n("要置入的模型信息"), |
| value="", |
| max_lines=8, |
| interactive=True, |
| ) |
| but9 = gr.Button(i18n("提取"), variant="primary") |
| info7 = gr.Textbox(label=i18n("输出信息"), value="", max_lines=8) |
| ckpt_path2.change( |
| change_info_, [ckpt_path2], [sr__, if_f0__, version_1] |
| ) |
| but9.click( |
| extract_small_model, |
| [ckpt_path2, save_name, sr__, if_f0__, info___, version_1], |
| info7, |
| api_name="ckpt_extract", |
| ) |