开发机常用操作
使用Tensorboard可视化训练日志
云开发机支持使用 Tensorboard 可视化训练日志,使得用户可以实现模型内部的参数跟踪和可视化调试,为了方便您更便捷地使用 Tensorboard 可视化功能,以下我们提供了以下示例。
首先,您需要将存储卷挂载到开发机的目录下,开发机的 Tensorboard 默认会从 /var/log/tensorboard_logs 路径下获取训练任务的日志信息。
请您确保日志输出格式为 Tensorboard 可以解读的格式,可以尝试使用 tf.summary() 函数保存训练过程的日志。
在提交任务时,需要将存储挂载到任务的指定目录下,以 /test 为例。
您的训练代码在写日志时,需要指定路径为 /test/log/task1、/test/log/task2 等,建议每一次训练新建一个文件夹。
如果您需要修改开发机的 Tensorboard 的日志获取的默认配置路径,可以通过以下命令行操作:
modify_tensorboard_logdir <path>
注:
1. 请不要在训练任务运行写日志的过程中修改该路径,将出现服务错误。建议先停止训练任务,再修改相应的写入配置路径。
2. 该配置无法永久保存,当开发机重启后,配置会恢复为默认配置路径。
大规模训练调度
云开发机支持从任意一个运行中的云开发机实例内,链接至高性能算力池,使得用户可以在云开发机内完成AI模型训练代码的调试,并将相应的任务发送至算力池来进行多机多卡的高效训练。
您可在通过云开发机的 Terminal,使用 SLURM 兼容 CLI 工具中的任何一条 CLI 来触发相应的命令。首次使用该 CLI 工具时,需要对您的身份信息作二次验证,您需要分别依次输入您的租户信息,账号名,密码。
通过 SLURM 兼容 CLI 工具,您可完成任务的配置、提交,任务信息的查看,任务的取消,排队信息的查看,集群资源的查看等训练任务的生命周期管理操作。
具体的操作详见:SLURM 兼容工具
私有镜像构建
若您需要使用私有镜像启动云开发机,您需要通过容器镜像服务,完成私有镜像的上传,并设置相应的云开发机产品标签,才可以被云开发机服务使用。详细的操作请参考:容器镜像服务
当前云开发机支持多种基于 linux 的镜像,包括以下系统和版本范围:
- Ubuntu >=18.04
- Centos>=7
云开发机服务将自动检测云开发机运行所依赖的版本库,并完成相应的配置。
请注意,若您的私有镜像中,缺乏 cuda、cudnn、python、pytorch、tensorflow 等环境,需要您手动配置安装。由于 cuda 和 cudnn 相应的编译较为复杂,我们推荐您基于 Nvidia 的官方镜像 再封装您需要的 python 和训练框框架。
注:建议您在镜像内安装 sssd 包,可减少开发机启动时间,若未安装将在每次启动开发机时在线安装。sssd 安装的 dockerfile 如下:
Ubuntu 系统:
apt update && apt install -y sssd-ldap
Centos 系统:
yum install -y sssd-ldap