Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • V verify
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 22
    • Issues 22
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • ran.lu
  • verify
  • Wiki
  • aim SDK 支持 tensorboard 日志

Last edited by ran.lu Nov 16, 2022
Page history

aim SDK 支持 tensorboard 日志

思路

  • 定时任务不停调用 convert
  • 训练|评估结束时调用 convert

key: 用户无感知;不出错

要点

convert 支持远程 repo.

修改 convert。

要点

convert 本地缓存了转化进度,需要适配。

要点

convert 自启动。

主要是用 __init__ 包导入来做。

(此要点已作废,因为,要让用户不改已有模型的代码)

要点

  • 问题: 如何避免多个执行单元执行 convert
  • 回答: 不能用普通单例模式。多进程的可能性比较多,普通单例模式难以保全。打算用系统级的文件锁。这样的话,对于分布式训练,应该也没有问题。

要点

convert 工具对目录结构有要求,见这里

而我们的模型,并不一定自动会满足这个要求。

两者存在冲突。

所以,打算修改 aim, 使它对目录下的所有 tensorboard 数据,都进行关联。

要点

结束时,要调一下 convert, 别让数据丢失。

实现:

  • init-container
  • slurm 拼命令
    • 注意,如果 命令不存在,也不要导致命令出错。

要点

考虑 aimstack rpc 服务访问不到的影响

  • 定时转换,是用 os.system 去转的,连不上影响不大
  • 结束时:
    • 对于有 init-container 的情况,没问题, 只会告警
    • 对于没有 init-container 的情况,可能要插入一个伪命令。

要点

用户不用改已有模型的代码,就可以享受 tensorboard 的自动转换

改动涉及项目

  • ai-arts aistudio-v1.7.1-tensorboard-logs
  • init-container aistudio-v1.7.1-tensorboard-logs
  • aim aistudio-v1.7.1-tensorboard-logs

数据准备

哪个模型,会产生 tensorboard 数据?

3.137 环境,有 gpu-model.zip:1.0 模型。

/data/nfs/apulis/pvc/aiplatform-ailab-data/1.org/orgadmin-user-group/ai-arts/17062/train-4758cbff-cc5a-4e1c-96ab-b3b4deb539f7

pvc://aiplatform-model-data-pvc/models/apulis/orgadmin-user-group/318/37

/data/nfs/apulis/pvc/aiplatform-model-data

/data/nfs/apulis/pvc/aiplatform-model-data/models/apulis/orgadmin-user-group/318/37

另一方面,凯杰之前有给过文件: tb.tar 解压命令: tar -xvf ./tb.tar

自测

思路: 训练过程中,手动复制一些数据进去,看有没有数据增加。

可用镜像:

harbor.apulis.cn:8443/algorithm/apulistech/aimstack-sdk:aistudio-v1.7.0-rc2-mmopenlab <== 这个镜像. aim 安装在了 conda 环境中,不能用来调 convert

harbor.apulis.cn:8443/algorithm/apulistech/save-1104-3:ubuntu-20.04-aimstack-sdk 这个镜像基于: 安装了开发工具的 ubuntu 20.04, 安装了 tensorboard 库

可用模型

aim-model: 1.0

但是环境上面没有卡…

只好用 utility model 了

select engine from studio_model_versions where id = 37;

pvc://aiplatform-model-data-pvc/models/apulis/orgadmin-user-group/318/37

update studio_model_versions engine set engine = 'harbor.apulis.cn:8443/algorithm/apulistech/aimstack-sdk:aistudio-v1.7.0-rc2-mmopenlab' where id = 37;

易错点: 要想 convert 成功, 镜像中要装有 aim, 而不是 source activate AD 中有。

自测:

  • 本地集群
  • slurm 集群
    • 这个目前不知如何向 slurm 任务里面复制文件,现在先没有测。

TODO

  • 定时转换 tensorboard 会形成较多日志,可以隐藏一下。
  • 时间间隔别写死。
    • 已经可配置了: AILAB_JOB_CONVERT_INTERVAL环境变量。

caveat

1. 如果用户使用的镜像没有安装 tensorflow , 则会失败。这个估计影响不大,因为这种情况,用户估计没有用 tensorboard …

2. 没有入口: 因为现在实验对比,只能查看”运行中“的训练。

其它

注意缓存

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.tuna.tsinghua.edu.cn  --upgrade  pip

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.tuna.tsinghua.edu.cn tensorflow 

pip3 install -i  http://mirrors.aliyun.com/pypi/simple/  --trusted-host mirrors.aliyun.com  tensorflow 

这次阿里源比较快.

aim demo:

# aim_test.py
from aim import Run

run = Run()

# set training hyperparameters
run['hparams'] = {
    'learning_rate': 0.001,
    'batch_size': 32,
}

# log metric
for i in range(10):
    run.track(i, name='numbers')
Clone repository
  • 3.137 环境 websocket 连接失败,其它环境无此问题
  • 3.137 环境,即使使用 env 中的 grafana 密码,都无法登陆;测试环境则可以
  • 3.172 不定期出现“疯狂写盘”
  • [2022 11 17] 本地数据集要在 slurm|superpodk8s 上面使用
  • [TODO] 合入日志加速发动
  • [build] 加快 SDK 打包
  • [info] 平台日志
  • [优化] ai arts 调用 aim 时,设置超时时间
  • [问题] aim SDK, 连不上 rpc 时会报错?这不能达到无感知
  • [问题] aimstack 有时会很慢
  • [问题] desay 171 部署: 单个训练成功, 收到 2 次调用, 一次训练成功, 一次训练失败
  • [问题] 收集到的日志只有几个服务。问题: 这个是哪里配置的?
  • aim SDK 支持 tensorboard 日志
  • aim SDK 瘦身
  • gpu02环境 选择 推理模型目录 很慢
View All Pages