下載并導(dǎo)入mnist數(shù)據(jù)集
首先,利用input_data.py來(lái)下載并導(dǎo)入mnist數(shù)據(jù)集。在這個(gè)過(guò)程中,數(shù)據(jù)集會(huì)被下載并存儲(chǔ)到名為"MNIST_data"的目錄中。
import input_data
mnist = input_data.read_data_sets('MNIST_data', one_hot=True)
其中mnist是一個(gè)輕量級(jí)的類(lèi),其中以Numpy數(shù)組的形式中存儲(chǔ)著訓(xùn)練集、驗(yàn)證集、測(cè)試集。
進(jìn)入一個(gè)交互式的TensorFlow會(huì)話
TensorFlow實(shí)際上對(duì)應(yīng)的是一個(gè)C++后端,TensorFlow使用會(huì)話(Session)與后端連接。通常,我們都會(huì)先創(chuàng)建一個(gè)圖,然后再在會(huì)話(Session)中啟動(dòng)它。而InteractiveSession給了我們一個(gè)交互式會(huì)話的機(jī)會(huì),使得我們可以在運(yùn)行圖(Graph)的時(shí)候再插入計(jì)算圖,否則就要在啟動(dòng)會(huì)話之前構(gòu)建整個(gè)計(jì)算圖。使用InteractiveSession會(huì)使得我們的工作更加便利,所以大部分情況下,尤其是在交互環(huán)境下,我們都會(huì)選擇InteractiveSession。
import tensorflow as tf sess = tf.InteractiveSession()
利用占位符處理輸入數(shù)據(jù)
關(guān)于占位符的概念,官方給出的解釋是“不是特定的值,而是可以在TensorFlow運(yùn)行某一計(jì)算時(shí)根據(jù)該占位符輸入具體的值”。這里也比較容易理解。
x = tf.placeholder("float", shape=[None,784])
x代表的是輸入圖片的浮點(diǎn)數(shù)張量,因此定義dtype為"float"。其中,shape的None代表了沒(méi)有指定張量的shape,可以feed任何shape的張量,在這里指batch的大小未定。一張mnist圖像的大小是2828,784是一張展平的mnist圖像的維度,即2828=784。
y_ = tf.placeholder(
網(wǎng)友評(píng)論