219 lines
5.8 KiB
Python
219 lines
5.8 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding: UTF-8 -*-
|
|
###########################################################################
|
|
# Copyright © 1998 - 2026 Tencent. All Rights Reserved.
|
|
###########################################################################
|
|
"""
|
|
Author: Tencent AI Arena Authors
|
|
|
|
Monitor panel configuration builder for Robot Vacuum.
|
|
清扫大作战监控面板配置构建器。
|
|
"""
|
|
|
|
|
|
from kaiwudrl.common.monitor.monitor_config_builder import MonitorConfigBuilder
|
|
|
|
|
|
def build_monitor():
|
|
"""
|
|
# This function is used to create monitoring panel configurations for custom indicators.
|
|
# 该函数用于创建自定义指标的监控面板配置。
|
|
"""
|
|
monitor = MonitorConfigBuilder()
|
|
|
|
config_dict = (
|
|
monitor.title("清扫大作战")
|
|
.add_group(
|
|
group_name="算法指标",
|
|
group_name_en="algorithm",
|
|
)
|
|
.add_panel(
|
|
name="累积回报",
|
|
name_en="reward",
|
|
type="line",
|
|
)
|
|
.add_metric(
|
|
metrics_name="reward",
|
|
expr="avg(reward{})",
|
|
)
|
|
.end_panel()
|
|
.add_panel(
|
|
name="总损失",
|
|
name_en="total_loss",
|
|
type="line",
|
|
)
|
|
.add_metric(
|
|
metrics_name="total_loss",
|
|
expr="avg(total_loss{})",
|
|
)
|
|
.end_panel()
|
|
.add_panel(
|
|
name="价值损失",
|
|
name_en="value_loss",
|
|
type="line",
|
|
)
|
|
.add_metric(
|
|
metrics_name="value_loss",
|
|
expr="avg(value_loss{})",
|
|
)
|
|
.end_panel()
|
|
.add_panel(
|
|
name="策略损失",
|
|
name_en="policy_loss",
|
|
type="line",
|
|
)
|
|
.add_metric(
|
|
metrics_name="policy_loss",
|
|
expr="avg(policy_loss{})",
|
|
)
|
|
.end_panel()
|
|
.add_panel(
|
|
name="熵损失",
|
|
name_en="entropy_loss",
|
|
type="line",
|
|
)
|
|
.add_metric(
|
|
metrics_name="entropy_loss",
|
|
expr="avg(entropy_loss{})",
|
|
)
|
|
.end_panel()
|
|
.add_panel(
|
|
name="近似KL",
|
|
name_en="approx_kl",
|
|
type="line",
|
|
)
|
|
.add_metric(
|
|
metrics_name="approx_kl",
|
|
expr="avg(approx_kl{})",
|
|
)
|
|
.end_panel()
|
|
.add_panel(
|
|
name="裁剪比例",
|
|
name_en="clip_fraction",
|
|
type="line",
|
|
)
|
|
.add_metric(
|
|
metrics_name="clip_fraction",
|
|
expr="avg(clip_fraction{})",
|
|
)
|
|
.end_panel()
|
|
.end_group()
|
|
.add_group(
|
|
group_name="行为指标",
|
|
group_name_en="behavior",
|
|
)
|
|
.add_panel(
|
|
name="原地撞墙步数",
|
|
name_en="stuck",
|
|
type="line",
|
|
)
|
|
.add_metric(
|
|
metrics_name="stuck_count",
|
|
expr="avg(stuck_count{})",
|
|
)
|
|
.add_metric(
|
|
metrics_name="max_stuck_steps",
|
|
expr="avg(max_stuck_steps{})",
|
|
)
|
|
.end_panel()
|
|
.add_panel(
|
|
name="回充逃脱次数",
|
|
name_en="recharge_escape",
|
|
type="line",
|
|
)
|
|
.add_metric(
|
|
metrics_name="recharge_escape_count",
|
|
expr="avg(recharge_escape_count{})",
|
|
)
|
|
.add_metric(
|
|
metrics_name="recharge_steps",
|
|
expr="avg(recharge_steps{})",
|
|
)
|
|
.end_panel()
|
|
.add_panel(
|
|
name="NPC危险接近",
|
|
name_en="npc_danger",
|
|
type="line",
|
|
)
|
|
.add_metric(
|
|
metrics_name="npc_close_steps",
|
|
expr="avg(npc_close_steps{})",
|
|
)
|
|
.add_metric(
|
|
metrics_name="npc_danger_steps",
|
|
expr="avg(npc_danger_steps{})",
|
|
)
|
|
.end_panel()
|
|
.add_panel(
|
|
name="失败类型",
|
|
name_en="failure_type",
|
|
type="line",
|
|
)
|
|
.add_metric(
|
|
metrics_name="npc_collision",
|
|
expr="avg(npc_collision{})",
|
|
)
|
|
.add_metric(
|
|
metrics_name="battery_fail",
|
|
expr="avg(battery_fail{})",
|
|
)
|
|
.end_panel()
|
|
.add_panel(
|
|
name="得分与充电",
|
|
name_en="score_charge",
|
|
type="line",
|
|
)
|
|
.add_metric(
|
|
metrics_name="total_score",
|
|
expr="avg(total_score{})",
|
|
)
|
|
.add_metric(
|
|
metrics_name="charge_count",
|
|
expr="avg(charge_count{})",
|
|
)
|
|
.add_metric(
|
|
metrics_name="remaining_charge",
|
|
expr="avg(remaining_charge{})",
|
|
)
|
|
.end_panel()
|
|
.add_panel(
|
|
name="动作掩码健康",
|
|
name_en="mask_health",
|
|
type="line",
|
|
)
|
|
.add_metric(
|
|
metrics_name="mask_final_avg",
|
|
expr="avg(mask_final_avg{})",
|
|
)
|
|
.add_metric(
|
|
metrics_name="mask_one_action_steps",
|
|
expr="avg(mask_one_action_steps{})",
|
|
)
|
|
.add_metric(
|
|
metrics_name="mask_two_or_less_action_steps",
|
|
expr="avg(mask_two_or_less_action_steps{})",
|
|
)
|
|
.add_metric(
|
|
metrics_name="mask_zero_final_steps",
|
|
expr="avg(mask_zero_final_steps{})",
|
|
)
|
|
.end_panel()
|
|
.add_panel(
|
|
name="回充动作掩码",
|
|
name_en="recharge_mask",
|
|
type="line",
|
|
)
|
|
.add_metric(
|
|
metrics_name="mask_recharge_active",
|
|
expr="avg(mask_recharge_active{})",
|
|
)
|
|
.add_metric(
|
|
metrics_name="mask_recharge_changed",
|
|
expr="avg(mask_recharge_changed{})",
|
|
)
|
|
.end_panel()
|
|
.end_group()
|
|
.build()
|
|
)
|
|
return config_dict
|