开发者社区> 问答> 正文

如何使用 ASK + ECI 快速体验 TensorFlow?

如何使用 ASK + ECI 快速体验 TensorFlow?

展开
收起
小天使爱美 2020-03-20 18:24:54 1309 0
1 条回答
写回答
取消 提交回答
  • 背景 人工智能与机器学习已经被广泛应用到各个领域,近些年来各种各样的训练模型被提出,更多的训练任务跑到了云上。然而上云之后,想要轻松、持久地运行训练任务,仍有一些痛点,例如:

    环境搭建:例如如果需要GPU实例,你必须首先购买GPU实例并安装GPU驱动,即便你把训练任务容器化后,还需要安装 gpu runtime hook ,使用 ASK + ECI,这些都不需要你操心 缺乏弹性:环境准备好,任务跑完后,为了节约成本,也许你需要释放闲置资源,下次启动任务时再重新创建实例配置环境,或者是计算节点不够,需要扩容,同样需要再次配置环境,使用ASK+ECI,能真正做到让你根据自己的业务按需使用,按需付费 本文将会介绍如何使用阿里云Serverless Kubernetes(ASK) + ECI,快速完成一个github上基于GPU的 TensorFlow 训练任务。

    具体步骤 创建以及操作集群的详细步骤参考:操作Serverless Kubernetes集群的方式

    前往容器服务控制台创建 Serverless Kubernetes集群,指定地域、vpc、vSwitch(如果你要走公网拉取镜像,或者训练任务需要出公网,请配置NAT网关)ask-create

    集群创建完成后,点【管理】,按照提示完成 kubectl 的安装与配置

    为了加速 GPU 镜像的拉取,ECI 提供了 ImageCache 功能,并且通过virtual kubelet无缝集成到Kubernetes CRD 中。第一次需要拉取镜像,时间取决于镜像大小,请耐心等待 创建 ImageCache:kubectl create -f imagecache.yaml imagecache.yaml 内容如下: apiVersion: eci.alibabacloud.com/v1 kind: ImageCache metadata: name: tensorflow spec: images: - registry-vpc.cn-zhangjiakou.aliyuncs.com/eci/tensorflow:1.0 # 训练任务的镜像,建议放到阿里云vpc私网仓库 可以通过命令查询进度:kubectl get imagecache tensorflow 使用镜像缓存,创建训练任务:kubectl create -f gpu_pod.yaml

    gpu_pod.yaml 内容如下: apiVersion: v1 kind: Pod metadata: name: tensorflow annotations: k8s.aliyun.com/eci-gpu-type: "P4" # GPU规格,或者你可以指定指定和ECS一样的instanceType创建 如:k8s.aliyun.com/eci-instance-type: "ecs.gn5i-c2g1.large"
    k8s.aliyun.com/eci-image-cache: "true" # 开启镜像缓存自动匹配 spec: containers: - image: registry-vpc.cn-zhangjiakou.aliyuncs.com/eci/tensorflow:1.0 # 训练任务的镜像 name: tensorflow command: - "sh" - "-c" - "python models/tutorials/image/imagenet/classify_image.py" # 触发训练任务的脚本 resources: limits: nvidia.com/gpu: "1" # 容器所需的GPU个数 volumeMounts: - name: nfs-pv mountPath: /tmp/imagenet volumes: - name: nfs-pv # 训练结果持久化到NAS文件存储 nfs: path: /share server: 0912430d-1nsl.cn-zhangjiakou.extreme.nas.aliyuncs.com restartPolicy: OnFailure 使用以下命令查询Pod事件信息和日志 kubectl describe pod tensorflow kubectl logs tensorflowlogs NAS存储里已经有训练完成的数据nas

    panda

    在 ECI 控制台可以看到运行成功的实例,运行成功表示实例已经到达终态,此时ECI会回收底层计算资源,不再对该Pod进行计费eci

    总结 使用 ASK + ECI,只需要以下几步,就可以轻松启动一个基于GPU实例的训练任务:

    准备好训练模型的容器镜像,准备好训练数据/结果的路径 创建 ASK 集群 准备好3个yaml文件,在集群中依次创建 同时使用此方案的优势:

    按需付费,免运维 一次配置,无限次复用 镜像缓存给你带来极致弹性的体验 数据与训练模型解耦,训练数据持久化(ECI同时支持阿里云云盘)

    2020-03-20 18:25:25
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
基于ECI的ACK集群高弹性架构 立即下载
阿里云 Kubernetes+Kubeflow – 加速深度学习实验的利器 立即下载
使用Kubernetes运行MXNet和AutoTVM 立即下载