一 目的
本文介紹如何在檔案存儲HDFS版上使用 TensorFlow。
二 背景資訊
TensorFlow 是一個采用資料流圖(Data Flow Graphs)用于數值計算的開源軟體庫。
注意:TensorFlow 對檔案系統的 Scheme 有特别的指定,目前在檔案存儲HDFS版上使用 TensorFlow 時需要對TensorFlow 源碼進行修改,您可參考第四章節重新編譯安裝 TensorFlow。
三 準備工作
- 開通檔案存儲HDFS版服務并建立檔案系統執行個體和挂載點,詳情請參見: 快速入門 。
- 在 Hadoop 叢集所有節點上安裝JDK。版本不能低于1.8。
- 在 Hadoop 叢集中配置檔案存儲HDFS版執行個體,詳情請參見: 挂載檔案系統
- 根據您目前使用的 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版的産品資訊,歡迎通路
https://www.aliyun.com/product/alidfs如果您對檔案存儲HDFS版有任何問題,歡迎釘釘掃描以下二維碼加入檔案存儲HDFS版技術交流群。