| | 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", |
| | ) |