TensorFlow 是业界最流行的深度学习框架,如何将 TensorFlow 真正运用于生产却并不简单,它面临着资源隔离,应用调度和部署,GPU资源分配,训练生命周期管理等挑战。特别是大规模的分布式训练场景,单靠手动部署和人力运维已经无法有效处理。特别启动每个模块都需要指定好分布式集群的 clusterSpec,更是让人挠头。 在 Kubernetes 集群上运行分布式 TensorFlow 模型训练,可以依靠 Kubernetes 本身在应用调度,GPU资源分配,共享存储等方面的能力,实现训练任务和参数服务器的调度以及生命周期的管理。同时利用共享存储查看训练的程度,调整超参。 但是手动写部署 Yaml 对于最终用户来说过于繁杂,阿里云容器服务提供了基于 Helm 的 TensorFlow 分布式训练解决方案: 创建包含适当数量弹性计算资源(ECS 或 EGS)的 Kubernetes 集群。创建步骤请参考创建 GN5 型Kubernetes 集群。 如果您需要使用 NAS 文件系统保存用于模型训练的数据,您需要使用相同账号创建 NAS;然后在的 Kubernetes 集群中创建持久化数据卷(PV),动态生成 PVC 作为本地目录挂载到执行训练任务的容器内。参见创建 NAS 数据卷。 在前面的准备环节,已经创建了一个 NAS 文件系统,并且设置 VPC 挂载点,参见创建 NAS 数据卷。本例的挂载点为 以下为创建 NAS 的 nas.yaml 样例,实际上您也可以创建云盘或者 OSS 等持久化存储,参见Kubernetes 存储管理概述。 通过 Tensorboad 查看训练效果,前面已经获得了 Tensorboard 的外部 IP 106.1.1.1,直接通过浏览器访问 ,就可以观测到训练的效果。 容器服务(Container Service)提供了高性能可伸缩的容器应用管理服务,支持在一组云服务器上通过 Docker 容器来进行应用生命周期管理。容器服务极大地简化了用户对容器管理集群的搭建工作,无缝整合了阿里云虚拟化、存储、网络和安全能力,打造 Docker 云端最优化的运行。容器服务提供了多种应用发布方式和流水线般的持续交付能力,原生支持微服务架构,助力用户无缝上云和跨云管理。 容器服务Kubernetes版(Container Service for Kubernetes)提供高性能可伸缩的容器应用管理服务,支持企业级Kubernetes容器化应用的生命周期管理。 容器镜像服务(Container Registry)提供安全的应用镜像托管能力,精确的镜像安全扫描功能,稳定的国内外镜像构建服务,便捷的镜像授权功能,方便用户进行镜像全生命周期管理。容器镜像服务简化了Registry的搭建运维工作,支持多地域的镜像托管,并联合容器服务等云产品,打造云上使用Docker的一体化体验。五行缺木的女孩名字
|