使用文件系统提交训练任务

最近更新时间:2020-01-15 15:04:30

操作场景

腾讯云的文件系统(Cloud File Storage,CFS)提供了标准的 NFS 及 CIFS/SMB 文件系统访问协议。使用 CFS,您的训练任务可以节省数据从远程下载的时间。 您上传数据至 CFS 文件系统的云服务器需满足以下条件:

  1. 云服务器已安装 NFS 客户端。
  2. 云服务器与 CFS 处于同一个私有网络环境中。

单击查看 CFS 操作指引

本文档将向您介绍如何使用文件系统作为输入源提交任务训练。

操作步骤

准备 CFS 训练数据

在 TI 中使用 CFS 训练数据作为输入源,与使用 COS 训练数据作为输入源类似,只需少量的修改训练脚本进行适配。CFS 文件系统主要提供如下参数:

  1. 文件系统 ID。
  2. 文件系统挂载目录。
  3. 读写方式。

文件系统详情信息,单击查看控制台

from ti.session import FileSystemInput

# 文件系统的ID
file_system_id = 'cfs-xxxxxxx'

# 指定文件系统的挂载目录
file_system_directory_path = '/data/input'

# 文件系统类型,目前取值为cfs
file_system_type = "cfs"

# 文件系统读写模式,分为只读和读写方式,取值为rw和ro
file_system_access_mode = 'rw'
inputs = FileSystemInput(file_system_id=file_system_id,
                                directory_path=file_system_directory_path,
                                file_system_type = file_system_type,
                                file_system_access_mode=file_system_access_mode)

构造 Estimator

tf_estimator = TensorFlow(role=role,
                          train_instance_count=1,
                          train_instance_type='ML.GN8.3XLARGE112',
                          py_version='py3',
                          script_mode=True,
                          framework_version='1.14.0',
                          entry_point='train.py',
                          subnet_id = "subnet-yyyyyy",
                          source_dir='gpu/code')

subnet_id 参数

subnet_id:子网 ID。提交的训练任务所处私有网络需与 CFS 文件系统所处私有网络保持一致。

调用 fit 方法

tf_estimator.fit(inputs)

文件系统参数

  • inputs:采用 CFS 文件系统时可以采用以下两种数据结构。
    • FileSystemInput:表示 CFS 数据集数据结构。
    • dict[str, FileSystemInput]:例如{'train': FileSystemInput, 'test': FileSystemInput},可以支持两个 CFS 数据集的字典结构。
目录