| # Copyright (c) Alibaba, Inc. and its affiliates. | |
| from typing import Type | |
| import gradio as gr | |
| from swift.ui.base import BaseUI | |
| class ReportTo(BaseUI): | |
| group = 'llm_train' | |
| locale_dict = { | |
| 'reporter': { | |
| 'label': { | |
| 'zh': '训练记录', | |
| 'en': 'Training report' | |
| }, | |
| }, | |
| 'report_to': { | |
| 'label': { | |
| 'zh': '训练记录方式', | |
| 'en': 'Report to' | |
| }, | |
| }, | |
| 'swanlab_token': { | |
| 'label': { | |
| 'zh': 'swanlab登录token', | |
| 'en': 'The login token of swanlab' | |
| }, | |
| }, | |
| 'swanlab_project': { | |
| 'label': { | |
| 'zh': 'swanlab项目名称', | |
| 'en': 'Project of swanlab' | |
| }, | |
| }, | |
| 'swanlab_workspace': { | |
| 'label': { | |
| 'zh': 'swanlab工作空间', | |
| 'en': 'Workspace of swanlab' | |
| }, | |
| }, | |
| 'swanlab_exp_name': { | |
| 'label': { | |
| 'zh': 'swanlab实验名称', | |
| 'en': 'Experiment of swanlab' | |
| }, | |
| }, | |
| 'swanlab_mode': { | |
| 'label': { | |
| 'zh': 'swanlab工作模式', | |
| 'en': 'Work mode of swanlab' | |
| }, | |
| }, | |
| } | |
| def do_build_ui(cls, base_tab: Type['BaseUI']): | |
| with gr.Accordion(elem_id='reporter', open=False): | |
| with gr.Blocks(): | |
| with gr.Row(): | |
| gr.Dropdown( | |
| elem_id='report_to', | |
| multiselect=True, | |
| is_list=True, | |
| choices=['tensorboard', 'wandb', 'swanlab'], | |
| allow_custom_value=True, | |
| scale=20) | |
| gr.Textbox(elem_id='swanlab_token', lines=1, scale=20) | |
| gr.Textbox(elem_id='swanlab_project', lines=1, scale=20) | |
| with gr.Row(): | |
| gr.Textbox(elem_id='swanlab_workspace', lines=1, scale=20) | |
| gr.Textbox(elem_id='swanlab_exp_name', lines=1, scale=20) | |
| gr.Dropdown(elem_id='swanlab_mode', scale=20) | |