天天看点

在文件存储HDFS版上使用 TensorFlow一 目的二 背景信息三 准备工作四 配置 TensorFlow 支持文件存储HDFS版五 验证

一 目的

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

二 背景信息

TensorFlow 是一个采用数据流图(Data Flow Graphs)用于数值计算的开源软件库。

注意:TensorFlow 对文件系统的 Scheme 有特别的指定,目前在文件存储HDFS版上使用 TensorFlow 时需要对TensorFlow 源码进行修改,您可参考第四章节重新编译安装 TensorFlow。

三 准备工作

  1. 开通文件存储HDFS版服务并创建文件系统实例和挂载点,详情请参见: 快速入门
  2. 在 Hadoop 集群所有节点上安装JDK。版本不能低于1.8。
  3. 在 Hadoop 集群中配置文件存储HDFS版实例,详情请参见: 挂载文件系统
  4. 根据您目前使用的 TensorFlow 版本下载源码,下载地址: 官方链接 。本文档中使用的 TensorFlow 版本为 2.5.2。

四 配置 TensorFlow 支持文件存储HDFS版

4.1 添加文件存储HDFS版支持

在 TensorFlow 源码中添加对文件存储HDFS版支持 Patch:

Support aliyun HDFS

说明:TensorFlow 代码版本差异较大,如果您使用的 TensorFlow 非 2.5.2 版本,遇到代码问题,可以联系文件存储HDFS版团队协助。

4.2 编译TensorFlow

按照 4.1 章节对TensorFlow源码修改进行编译,编译步骤请参考官方编译文档:

Build from source

 。

五 验证

参考以下步骤,通过 TensorFlow 读取文件存储HDFS版上的数据进行连通性验证:

## 在文件存储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

## 使用 TensorFlow 查看文件存储HDFS版上的数据
## 其中 f-xxxx.cn-xxxx.dfs.aliyuncs 为您的文件系统挂载点域名, 需根据实际情况进行修改。
>>> import tensorflow as tf
>>> tf.__version__
'2.5.2'
>>> tf.io.gfile.listdir('dfs://f-xxxx.cn-xxxx.dfs.aliyuncs.com:10290/test_tensorflow')
['words']
>>> with tf.compat.v2.io.gfile.GFile('dfs://f-xxxx.cn-xxxx.dfs.aliyuncs.com:10290/test_tensorflow/words') as rf:
...     rf.read()
...
'hello tensorflow\n'      
在文件存储HDFS版上使用 TensorFlow一 目的二 背景信息三 准备工作四 配置 TensorFlow 支持文件存储HDFS版五 验证

了解更多关于文件存储HDFS版的产品信息,欢迎访问

https://www.aliyun.com/product/alidfs

如果您对文件存储HDFS版有任何问题,欢迎钉钉扫描以下二维码加入文件存储HDFS版技术交流群。

在文件存储HDFS版上使用 TensorFlow一 目的二 背景信息三 准备工作四 配置 TensorFlow 支持文件存储HDFS版五 验证