什么是tensorflow?tensorflow如何讀取csv文件?
tensorflow是目前流行框架之一,本文中,小編將對tensorflow的基本內(nèi)容予以介紹,如什么是tensorflow以及什么是數(shù)據(jù)流圖。此外,本文還將對tensorflow讀取csv文件的過程予以解讀,并給出具體代碼。如果你對tensorflow具有興趣,不妨一起來了解下。
一、tensorflow介紹
(一) TensorFlow是什么
TensorFlow? 是一個采用數(shù)據(jù)流圖(data flow graphs),用于數(shù)值計算的開源軟件庫。節(jié)點(Nodes)在圖中表示數(shù)學操作,圖中的線(edges)則表示在節(jié)點間相互聯(lián)系的多維數(shù)據(jù)數(shù)組,即張量(tensor)。它靈活的架構(gòu)讓你可以在多種平臺上展開計算,例如臺式計算機中的一個或多個CPU(或GPU),服務(wù)器,移動設(shè)備等等。TensorFlow 最初由Google大腦小組(隸屬于Google機器智能研究機構(gòu))的研究員和工程師們開發(fā)出來,用于機器學習和深度神經(jīng)網(wǎng)絡(luò)方面的研究,但這個系統(tǒng)的通用性使其也可廣泛用于其他計算領(lǐng)域。
Tensorflow是谷歌公司在2015年9月開源的一個深度學習框架。
(二)數(shù)據(jù)流圖是什么
數(shù)據(jù)流圖用“結(jié)點”(nodes)和“線”(edges)的有向圖來描述數(shù)學計算?!肮?jié)點” 一般用來表示施加的數(shù)學操作,但也可以表示數(shù)據(jù)輸入(feed in)的起點/輸出(push out)的終點,或者是讀取/寫入持久變量(persistent variable)的終點?!熬€”表示“節(jié)點”之間的輸入/輸出關(guān)系。這些數(shù)據(jù)“線”可以輸運“size可動態(tài)調(diào)整”的多維數(shù)據(jù)數(shù)組,即“張量”(tensor)。張量從圖中流過的直觀圖像是這個工具取名為“Tensorflow”的原因。一旦輸入端的所有張量準備好,節(jié)點將被分配到各種計算設(shè)備完成異步
二、TensorFlow讀取csv文件過程
本節(jié)將采用哈里森和魯賓菲爾德于 1978 年收集的波士頓房價數(shù)據(jù)集,數(shù)據(jù)集相關(guān)內(nèi)容,大家可以百度自行了解。
導入所需的模塊并聲明全局變量:
1. 定義一個將文件名作為參數(shù)的函數(shù),并返回大小等于 BATCH_SIZE 的張量:
2. 定義 f_queue 和 reader 為文件名:
3. 這里指定要使用的數(shù)據(jù)以防數(shù)據(jù)丟失。對 .csv 解碼并選擇需要的特征。例如,選擇 RM、PTRATIO 和 LSTAT 特征:
4. 定義參數(shù)來生成批并使用 tf.train.shuffle_batch() 來隨機重新排列張量。該函數(shù)返回張量 feature_batch 和 label_batch:
5. 這里定義了另一個函數(shù)在會話中生成批:
6. 使用這兩個函數(shù)得到批中的數(shù)據(jù)。這里,僅打印數(shù)據(jù);在學習訓練時,將在這里執(zhí)行優(yōu)化步驟:
TensorFlow csv數(shù)據(jù)預處理
用前面章節(jié)提到的 TensorFlow 控制操作和張量來對數(shù)據(jù)進行預處理。例如,對于波士頓房價的情況,大約有 16 個數(shù)據(jù)行的 MEDV 是 50.0。在大多數(shù)情況下,這些數(shù)據(jù)點包含缺失或刪減的值,因此建議不要考慮用這些數(shù)據(jù)訓練??梢允褂孟旅娴拇a在訓練數(shù)據(jù)集中刪除它們:
以上便是此次小編帶來的“tensorflow”相關(guān)內(nèi)容,通過本文,希望大家對tensorflow讀取csv文件的過程具備一定的了解。如果你喜歡本文,不妨持續(xù)關(guān)注我們網(wǎng)站哦,小編將于后期帶來更多精彩內(nèi)容。最后,十分感謝大家的閱讀,have a nice day!