在文件存储 HDFS 版上使用TensorFlow

本文介绍如何在文件存储 HDFS 版上使用TensorFlow。

前提条件

  • 已开通文件存储 HDFS 版服务并。具体操作,请参见开通文件存储HDFS版服务

  • 已完成创建文件系统、添加挂载点和挂载文件系统。具体操作,请参见快速入门

  • 已为Hadoop集群所有节点安装JDK,且版本不能低于1.8。

  • 已根据目前使用的TensorFlow版本下载源码

    本文使用的TensorFlow版本为1.15.0。

背景信息

TensorFlow是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。

说明

由于TensorFlow对文件系统的schema有特别的指定,因此在文件存储 HDFS 版上使用TensorFlow时需要修改TensorFlow源码。具体操作,请参见配置TensorFlow支持文件存储 HDFS 版

配置TensorFlow支持文件存储 HDFS 版

  1. TensorFlow源码中添加对文件存储 HDFS 版的支持,具体操作,请参见tensorflow support aliyun HDFS

  2. 编译TensorFlow。

    编译步骤1中已修改的TensorFlow源码,具体操作,请参见Build from source

  3. 验证配置结果。

    1. 文件存储 HDFS 版上创建测试文件。

      1. 创建目录(例如,test_tensorflow)。

        hadoop fs -mkdir  dfs://f-xxxx.cn-xxxx.dfs.aliyuncs.com:10290/test_tensorflow
      2. 创建文件(例如,words)。

        hadoop fs -touchz  dfs://f-xxxx.cn-xxxx.dfs.aliyuncs.com:10290/test_tensorflow/words
      3. 向文件(例如,words)中写入数据。

        echo "hello tensorflow" | hadoop fs -appendToFile - dfs://f-xxxx.cn-xxxx.dfs.aliyuncs.com:10290/test_tensorflow/words

      f-xxxx.cn-xxxx.dfs.aliyuncs.com文件存储 HDFS 版的挂载点域名,请根据实际情况替换。

    2. 使用TensorFlowapi gfile查看文件存储 HDFS 版上的数据。检查命令如下所示:

      1. 执行命令,进入Python。

        python
      2. 执行命令,导入TensorFlow模块。

        import tensorflow as tf
      3. 执行命令,列出目录test_tensorflow中的所有内容。

        tf.io.gfile.listdir('dfs://f-xxxx.cn-xxxx.dfs.aliyuncs.com:10290/test_tensorflow')
      4. 执行命令,查看文件words中的内容。

        with tf.gfile.Open('dfs://f-xxxx.cn-xxxx.dfs.aliyuncs.com:10290/test_tensorflow/words') as rf:
            rf.read()

        如果与刚写入的测试数据一样,则表示配置成功。