本文介绍如何在文件存储HDFS上使用TensorFlow。
背景信息
TensorFlow是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。
准备工作
- 开通文件存储HDFS服务并创建文件系统实例和挂载点,详情请参见HDFS快速入门。
- 在Hadoop集群所有节点上安装JDK,版本不能低于1.8。
- 在Hadoop集群中配置文件存储HDFS实例,详情请参见挂载文件系统。
- 根据您目前使用的TensorFlow版本下载源码,下载地址:官方链接。
本文档中使用的TensorFlow版本为1.15.0。
配置TensorFlow支持文件存储HDFS
- 在TensorFlow源码中添加对文件存储HDFS的支持,详情请参见tensorflow support aliyun HDFS。
- 编译TensorFlow。
- 验证配置结果。
- 在文件存储HDFS上创建测试文件。
hadoop fs -mkdir dfs://f-xxxx.cn-xxxx.dfs.aliyuncs.com:10290/test_tensorflow
hadoop fs -touchz dfs://f-xxxx.cn-xxxx.dfs.aliyuncs.com:10290/test_tensorflow/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上的数据。
如果显示HDFS上的数据,则表示配置成功。
(base) root@zb3 ~# python
Python 3.6.9 |Anaconda, Inc.| (default, Jul 30 2019, 19:07:31)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> 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()
'hello tensorflow\n'
>>>
评论