本文介绍如何在文件存储 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 版
在TensorFlow源码中添加对文件存储 HDFS 版的支持,具体操作,请参见tensorflow support aliyun HDFS。
编译TensorFlow。
编译步骤1中已修改的TensorFlow源码,具体操作,请参见Build from source。
验证配置结果。
在文件存储 HDFS 版上创建测试文件。
创建目录(例如,test_tensorflow)。
hadoop fs -mkdir dfs://f-xxxx.cn-xxxx.dfs.aliyuncs.com:10290/test_tensorflow
创建文件(例如,words)。
hadoop fs -touchz dfs://f-xxxx.cn-xxxx.dfs.aliyuncs.com:10290/test_tensorflow/words
向文件(例如,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 版的挂载点域名,请根据实际情况替换。使用TensorFlow的api gfile查看文件存储 HDFS 版上的数据。检查命令如下所示:
执行命令,进入Python。
python
执行命令,导入TensorFlow模块。
import tensorflow as tf
执行命令,列出目录test_tensorflow中的所有内容。
tf.io.gfile.listdir('dfs://f-xxxx.cn-xxxx.dfs.aliyuncs.com:10290/test_tensorflow')
执行命令,查看文件words中的内容。
with tf.gfile.Open('dfs://f-xxxx.cn-xxxx.dfs.aliyuncs.com:10290/test_tensorflow/words') as rf: rf.read()
如果与刚写入的测试数据一样,则表示配置成功。