# 上报服务

# 背景

平台支持上报多种数据,包括但不限于训练产生的模型、训练性能数据和指标,仅需几行代码即可支持

# 环境安装

在镜像中安装一下下面的python包即可

pip3 install -U efdl  --no-cache-dir --extra-index https://npm.huya.info/repository/pypi-huya/simple

# 模型上报

托管训练需要对训练输出的模型路径进行上报,等训练完成后,平台会保存训练好的模型

上报模型路径,支持在代码中添加下面2行,先import函数,然后在代码中某个位置执行一次 add_model_path("生成模型的路径")

from efdl.common.model import add_model_path


add_model_path("/workspace/nas-data/model.pth")

# 指标上报

可以自定义上报各种指标,包括训练的精度、loss等,然后在平台上对比查看

# 说明

  • 接口完全兼容开源的tensorboardX用法,只是增加了上报到平台上
  • 目前上报平台的接口,仅实现了 add_scalar 这个接口

# 用法

用法1:在保留原来tensorboardX基础上,上报到平台的用法,即还可以通过tensorboard查看

from efdl.common.metric import SummaryWriter

writer = SummaryWriter(logdir="run-exp1")
# 训练的step,假设指标为precision,当前值为4.5
writer.add_scalar("precision", 4.5, step)

用法2:不往本地写数据,即只通过平台上看metric,不通过tensorboard看的用法

from efdl.common.metric import SummaryWriter

writer = SummaryWriter(write_to_disk=False)
# 训练的step,假设指标为precision,当前值为4.5
writer.add_scalar("precision", 4.5, step)

# 平台上查看

在模型详情页下,可以看到对应上报的指标