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