目前,阿里云容器服务提供的深度学习解决方案内置了 Tensorflow、Keras、MXnet 框架的镜像,并支持基于它们的模型开发、训练和预测。同时,对于模型训练和预测,也可以通过指定自定义容器镜像,来支持用户使用其他框架。

本文将描述如何通过自定义镜像的方式,实现使用 Caffe 框架在 GPU 容器集群上进行模型训练。

使用容器服务的深度学习解决方案,主要的工作包括:

  1. 准备计算集群。
    • 购买ECS计算资源,可以包括 CPU 和 GPU。
    • 创建容器集群管理上述 ECS 节点。
  2. 准备数据存储,用于保存和共享训练数据集、训练日志和结果模型。
    • 创建阿里云存储服务实例。
    • 为上述数据存储创建数据卷,用于将共享存储挂载入容器内部,方便训练、预测代码本地读写。
  3. 在解决方案页面配置任务参数,启动模型训练任务。

前提须知

  1. 准备一个 GPU 类型的容器集群。详情参见 创建容器集群
  2. 不同 ECS 服务地域提供的 GPU 实例类型可能不同。您需要提前确认。
  3. 请在与上述 ECS 节点的相同阿里云服务区域,创建 OSS 或 NAS 存储实例。否则,运行在 ECS上的容器将无法访问它们。
  4. 首次使用需要进行角色授权,开通容器服务。请参见 角色授权

操作步骤

创建容器服务集群

  1. 登录 容器服务控制台
  2. 创建 GPU 型的容器集群,本示例创建 GN5 型的容器集群。详情请参见 创建容器集群
  3. 在容器服务控制台查看容器集群的详情,本例中创建的是位于华东 1 的容器集群 swarmcluster。


创建共享数据存储

容器服务可以通过数据卷挂载的方式支持阿里云 OSS 对象存储和 NAS 文件存储。本示例选择 OSS 数据存储类型。

  1. 登录 对象存储 OSS 管理控制台
  2. 在左侧导航栏,单击 新建 Bucket


  3. 进行 Bucket 参数配置,注意选择和容器集群一样的地域。 本例中在华东 1 区创建 OSS bucket caffe-bucket,可以查看其内外网访问地址。


您也可以创建 NAS 文件存储实例,NAS 文件实例创建过程需要两个步骤,详见Linux系统Windows系统

创建数据卷

创建好数据存储实例后,需要在容器集群中创建对应的数据卷。本例中使用 OSS 作为训练数据和日志存储,可以创建 OSS 数据卷,详情参见 创建 OSSFS 数据卷

  1. 登录 容器服务管理控制台
  2. 单击左侧导航栏中的数据卷,再单击右上角 创建,开始创建数据卷。
  3. 本例中创建 OSS 数据卷 caffe-volume,用于连接前一步创建的 OSS bucket caffe-bucket。


创建NAS数据卷的过程与OSS类似。参见 创建NAS数据卷