本文介绍如何在文件存储HDFS上使用TensorFlow。
背景信息 TensorFlow是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。 说明 由于TensorFlow对文件系统的schema有特别的指定,因此在文件存储HDFS上使用TensorFlow时需要修改TensorFlow源码,详情请参见配置TensorFlow支持文件存储HDFS。 准备工作 开通文件存储HDFS服务并创建文件系统实例和挂载点,详情请参见HDFS快速入门。 在Hadoop集群所有节点上安装JDK,版本不能低于1.8。 在Hadoop集群中配置文件存储HDFS实例,详情请参见挂载文件系统。 根据您目前使用的TensorFlow版本下载源码,下载地址:官方链接。 本文档中使用的TensorFlow版本为1.15.0。 配置TensorFlow支持文件存储HDFS 在TensorFlow源码中添加对文件存储HDFS的支持,详情请参见tensorflow support aliyun HDFS。 编译TensorFlow。 编译步骤1中已修改的TensorFlow源码,详情请参见Build from source。 验证配置结果。 在文件存储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'
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。