本文介紹如何在文件存儲 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()
如果與剛寫入的測試數據一樣,則表示配置成功。