您可以在训练集群中使用数据集加速器来读取挂载的文件,提高数据集访问效率。本文为您介绍如何使用数据集加速器。

前提条件

在开始执行操作之前,请确认您已完成以下准备工作。

注意事项

训练集群和挂载点需要在同一个VPC内,否则挂载数据会读取失败。

部署数据集加速器客户端

  1. 下载安装包。
    wget http://dlc-release.oss-cn-zhangjiakou.aliyuncs.com/datasetacc/datasetacc-0.1.0.tgz
  2. 安装客户端。
    helm install datasetacc ./datasetacc-0.1.0.tgz
  3. 验证客户端安装是否成功。
    kubectl get pods -n datasetacc-system
    类似如下输出结果,说明客户端已安装成功。输出结果其中CSI Pod数量应与集群内Node数量一致。

在集群中创建YAML文件

  1. 登录PAI控制台
  2. 按照下图操作指引,下载YAML文件。
    下载YAML文件
  3. 在Kubernetes集群中创建YAML文件。
    kubectl create -f /XXXX/dataset-accelerator.yaml
    重要 dataset-accelerator.yaml文件中需要包含步骤2中下载的YAML内容。

创建应用容器来使用数据集加速器

准备好数据集加速器客户端和YAML文件之后,您可以参考以下操作步骤使用数据集加速器来读取文件。

  1. 在Kubernetes集群中创建demo.yaml文件,文件内容如下。
    apiVersion: v1
    kind: Pod
    metadata:
      name: demo-datasetacc-test
    spec:
      containers:
        - name: demo
          image: nginx
          volumeMounts:
            - mountPath: /data
              name: datasetacctest
      volumes:
        - name: datasetacctest
          persistentVolumeClaim:
            claimName: rel-1fmcg74oq6dxwdpjup
    其中:
    • claimName:应与您创建的数据集加速器客户端名称保持一致。
    • mountPath:数据集挂载的位置。在集群Pod中,您可以通过该位置来访问您需要加速的文件。
  2. 使用demo.yaml文件创建Pod。
    kubectl create -f demo.yaml
  3. 进入Pod内,验证是否能正常读取数据。
    kubectl exec -it demo-datasetacc-test -- /bin/bash
    进入容器后,使用ls data/命令查看挂载目录下的文件与数据集一致,说明数据读取正常。

您可以按照以上方法,将persistentVolumeClaim挂载到您训练任务的Pod上,即可在该Pod内通过挂载的文件夹来访问您需要的文件。