資源簡介
手寫數字識別MNIST數據集,內含t10k-images-idx3-ubyte.gz等四個壓縮文件以及卷積神經網絡識別代碼。
代碼片段和文件信息
import?tensorflow?as?tf
?
#?Import?MINST?data
from?tensorflow.examples.tutorials.mnist?import?input_data
mnist?=?input_data.read_data_sets(r‘/Users/apple/Desktop/Python_study/MNIST/mnist_data/‘?one_hot=True)
#加載數據集并保存在指定路徑中
def?weight_variable(shape):
??initial?=?tf.truncated_normal(shape?stddev=0.1)
??return?tf.Variable(initial)
def?bias_variable(shape):
??initial?=?tf.constant(0.1?shape=shape)
??return?tf.Variable(initial)
def?conv2d(x?W):
??return?tf.nn.conv2d(x?W?strides=[1?1?1?1]?padding=‘SAME‘)
def?max_pool_2x2(x):
??return?tf.nn.max_pool(x?ksize=[1?2?2?1]
????????????????????????strides=[1?2?2?1]?padding=‘SAME‘)
x?=?tf.placeholder(“float“?[None?784])?#占位符,運行計算時接收輸入值,None表示維度不定
y_?=?tf.placeholder(“float“?[None10])???#占位符,用來輸入正確值
#第一層
W_conv1?=?weight_variable([5?5?1?32])
b_conv1?=?bias_variable([32])
x_image?=?tf.reshape(x?[-128281])
h_conv1?=?tf.nn.relu(conv2d(x_image?W_conv1)?+?b_conv1)
h_pool1?=?max_pool_2x2(h_conv1)
#第二層
W_conv2?=?weight_variable([5?5?32?64])
b_conv2?=?bias_variable([64])
h_conv2?=?tf.nn.relu(conv2d(h_pool1?W_conv2)?+?b_conv2)
h_pool2?=?max_pool_2x2(h_conv2)
#全連接層
W_fc1?=?weight_variable([7?*?7?*?64?1024])
b_fc1?=?bias_variable([1024])
h_pool2_flat?=?tf.reshape(h_pool2?[-1?7*7*64])
h_fc1?=?tf.nn.relu(tf.matmul(h_pool2_flat?W_fc1)?+?b_fc1)
#dropout
keep_prob?=?tf.placeholder(“float“)
h_fc1_drop?=?tf.nn.dropout(h_fc1?keep_prob)
#輸出層
W_fc2?=?weight_variable([1024?10])
b_fc2?=?bias_variable([10])
y_conv=tf.nn.softmax(tf.matmul(h_fc1_drop?W_fc2)?+?b_fc2)
#訓練
cross_entropy?=?-tf.reduce_sum(y_*tf.log(y_conv))
train_step?=?tf.train.AdamOptimizer(1e-4).minimize(cross_entropy)
correct_prediction?=?tf.equal(tf.argmax(y_conv1)?tf.argmax(y_1))
accuracy?=?tf.reduce_mean(tf.cast(correct_prediction?“float“))
with?tf.Session()?as?sess:
?sess.run(tf.initialize_all_variables())
?for?i?in?range(20000):
??batch?=?mnist.train.next_batch(50)
??if?i%100?==?0:
????train_accuracy?=?accuracy.eval(feed_dict={
????????x:batch[0]?y_:?batch[1]?keep_prob:?1.0})
????print(“step?%d?training?accuracy?%g“%(i?train_accuracy))
??train_step.run(feed_dict={x:?batch[0]?y_:?batch[1]?keep_prob:?0.5})
?#測試
?print(“test?accuracy?%g“%accuracy.eval(feed_dict={
????x:?mnist.test.images?y_:?mnist.test.labels?keep_prob:?1.0}))
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????????0??2019-04-09?19:01??MNIST_鍚敞閲?
?????目錄???????????0??2019-04-09?19:02??MNIST_鍚敞閲?mnist_data\
?????文件????????6148??2019-02-19?18:28??MNIST_鍚敞閲?mnist_data\.DS_Store
?????目錄???????????0??2019-04-09?19:02??__MACOSX\
?????文件???????????0??2019-04-09?19:02??__MACOSX\MNIST_鍚敞閲?
?????目錄???????????0??2019-04-09?19:02??__MACOSX\MNIST_鍚敞閲?mnist_data\
?????文件?????????120??2019-02-19?18:28??__MACOSX\MNIST_鍚敞閲?mnist_data\._.DS_Store
?????文件?????1648877??2019-02-19?16:14??MNIST_鍚敞閲?mnist_data\t10k-images-idx3-ubyte.gz
?????文件?????????534??2019-02-19?16:14??__MACOSX\MNIST_鍚敞閲?mnist_data\._t10k-images-idx3-ubyte.gz
?????文件?????9912422??2019-02-19?16:14??MNIST_鍚敞閲?mnist_data\train-images-idx3-ubyte.gz
?????文件?????????535??2019-02-19?16:14??__MACOSX\MNIST_鍚敞閲?mnist_data\._train-images-idx3-ubyte.gz
?????文件???????28881??2019-02-19?16:14??MNIST_鍚敞閲?mnist_data\train-labels-idx1-ubyte.gz
?????文件?????????535??2019-02-19?16:14??__MACOSX\MNIST_鍚敞閲?mnist_data\._train-labels-idx1-ubyte.gz
?????文件????????4542??2019-02-19?16:14??MNIST_鍚敞閲?mnist_data\t10k-labels-idx1-ubyte.gz
?????文件?????????534??2019-02-19?16:14??__MACOSX\MNIST_鍚敞閲?mnist_data\._t10k-labels-idx1-ubyte.gz
?????文件????????6148??2019-04-09?19:00??MNIST_鍚敞閲?.DS_Store
?????文件?????????120??2019-04-09?19:00??__MACOSX\MNIST_鍚敞閲?._.DS_Store
?????文件????????2436??2019-02-21?17:55??MNIST_鍚敞閲?test_con.py
?????文件?????????266??2019-02-21?17:55??__MACOSX\MNIST_鍚敞閲?._test_con.py
?????目錄???????????0??2019-02-19?16:46??MNIST_鍚敞閲?.vscode\
?????文件??????????83??2019-02-19?16:46??MNIST_鍚敞閲?.vscode\settings.json
評論
共有 條評論