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