from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets("MNIST_data", one_hot=True)這將下載MNIST數(shù)據(jù)集并將其存儲(chǔ)在"MNIST_data"目錄中。one_hot=True參數(shù)將標(biāo)簽轉(zhuǎn)換為one-hot編碼格式。 mnist_softmax.py文件包含一個(gè)使用softmax回歸模型進(jìn)行手寫(xiě)數(shù)字識(shí)別的示例程序。softmax回歸是一種用于多類(lèi)別分類(lèi)的線性模型。它將輸入向量乘以權(quán)重矩陣,并將結(jié)果傳遞到softmax函數(shù)中,以產(chǎn)生每個(gè)類(lèi)別的概率分布。我們可以使用以下代碼來(lái)定義softmax回歸模型:
import tensorflow as tf x = tf.placeholder(tf.float32, [None, 784]) W = tf.Variable(tf.zeros([784, 10])) b = tf.Variable(tf.zeros([10])) y = tf.nn.softmax(tf.matmul(x, W) + b)這里,x是一個(gè)占位符,它將在運(yùn)行時(shí)被替換為輸入圖像的扁平化版本。W和b是模型的權(quán)重和偏差,它們將在訓(xùn)練過(guò)程中優(yōu)化。y是模型的輸出,它是每個(gè)類(lèi)別的概率分布。 接下來(lái),我們需要定義損失函數(shù)和優(yōu)化器。損失函數(shù)用于衡量模型的預(yù)測(cè)結(jié)果和實(shí)際標(biāo)簽之間的差異。我們使用交叉熵作為損失函數(shù),它是一種廣泛使用的多類(lèi)別分類(lèi)損失函數(shù)。優(yōu)化器用于最小化損失函數(shù),我們使用隨機(jī)梯度下降優(yōu)化器。我們可以使用以下代碼來(lái)定義損失函數(shù)和優(yōu)化器:
y_ = tf.placeholder(tf.float32, [None, 10]) cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y), reduction_indices=[1])) train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)這里,y_是一個(gè)占位符,它將在運(yùn)行時(shí)被替換為實(shí)際標(biāo)簽的one-hot編碼。cross_entropy是交叉熵?fù)p失函數(shù)。train_step是優(yōu)化器,它將使用學(xué)習(xí)率0.5的隨機(jī)梯度下降算法最小化交叉熵?fù)p失函數(shù)。 最后,我們需要定義一個(gè)會(huì)話并運(yùn)行訓(xùn)練循環(huán)。訓(xùn)練循環(huán)將重復(fù)執(zhí)行以下步驟:從MNIST數(shù)據(jù)集中獲取一個(gè)批次的圖像和標(biāo)簽,將它們傳遞給模型進(jìn)行訓(xùn)練,計(jì)算損失函數(shù)并更新模型的權(quán)重和偏差。我們可以使用以下代碼來(lái)定義會(huì)話和訓(xùn)練循環(huán):
sess = tf.InteractiveSession() tf.global_variables_initializer().run() for i in range(1000): batch_xs, batch_ys = mnist.train.next_batch(100) sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys}) correct_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_,1)) accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32)) print(sess.run(accuracy, feed_dict={x: mnist.test.images, y_: mnist.test.labels}))這里,我們使用InteractiveSession來(lái)創(chuàng)建一個(gè)會(huì)話。我們使用global_variables_initializer()函數(shù)初始化模型的權(quán)重和偏差。在訓(xùn)練循環(huán)中,我們使用mnist.train.next_batch(100)函數(shù)獲取一個(gè)批次的圖像和標(biāo)簽。我們使用feed_dict參數(shù)將批次的圖像和標(biāo)簽傳遞給模型進(jìn)行訓(xùn)練。在訓(xùn)練完成后,我們使用測(cè)試集計(jì)算模型的準(zhǔn)確率。 總之,tensorflow.examples.tutorials.mnist是一個(gè)非常有用的示例程序,可以幫助新手了解如何使用TensorFlow構(gòu)建機(jī)器學(xué)習(xí)模型。通過(guò)學(xué)習(xí)這個(gè)示例程序,我們可以掌握如何加載數(shù)據(jù)集、定義模型、定義損失函數(shù)和優(yōu)化器,并運(yùn)行訓(xùn)練循環(huán)來(lái)訓(xùn)練模型。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/130661.html
摘要:使用內(nèi)置的優(yōu)化器對(duì)數(shù)據(jù)集進(jìn)行回歸在使用實(shí)現(xiàn)梯度下降之前,我們先嘗試使用的內(nèi)置優(yōu)化器比如來(lái)解決數(shù)據(jù)集分類(lèi)問(wèn)題。使用對(duì)數(shù)據(jù)集進(jìn)行回歸通過(guò)梯度下降公式,權(quán)重的更新方式如下為了實(shí)現(xiàn)梯度下降,我將不使用優(yōu)化器的代碼,而是采用自己寫(xiě)的權(quán)重更新。 作者:chen_h微信號(hào) & QQ:862251340微信公眾號(hào):coderpai簡(jiǎn)書(shū)地址:http://www.jianshu.com/p/13e0.....
摘要:的卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用卷積神經(jīng)網(wǎng)絡(luò)的概念卷積神經(jīng)網(wǎng)絡(luò)是一種前饋神經(jīng)網(wǎng)絡(luò),它的人工神經(jīng)元可以響應(yīng)一部分覆蓋范圍內(nèi)的周?chē)鷨卧?,?duì)于大型圖像處理有出色表現(xiàn)。 MNIST的卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用 卷積神經(jīng)網(wǎng)絡(luò)的概念 卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)是一種前饋神經(jīng)網(wǎng)絡(luò),它的人工神經(jīng)元可以響應(yīng)一部分覆蓋范圍內(nèi)的周?chē)鷨卧?,?duì)于大型圖像處理有出色表現(xiàn)。[2] 它...
摘要:在第輪的時(shí)候,竟然跑出了的正確率綜上,借助和機(jī)器學(xué)習(xí)工具,我們只有幾十行代碼,就解決了手寫(xiě)識(shí)別這樣級(jí)別的問(wèn)題,而且準(zhǔn)確度可以達(dá)到如此程度。 摘要: Tensorflow入門(mén)教程1 去年買(mǎi)了幾本講tensorflow的書(shū),結(jié)果今年看的時(shí)候發(fā)現(xiàn)有些樣例代碼所用的API已經(jīng)過(guò)時(shí)了??磥?lái)自己維護(hù)一個(gè)保持更新的Tensorflow的教程還是有意義的。這是寫(xiě)這一系列的初心。快餐教程系列希望能夠盡可...
摘要:前言本文基于官網(wǎng)的寫(xiě)成。是自帶的一個(gè)可視化工具,是其中的一個(gè)功能,用于在二維或三維空間對(duì)高維數(shù)據(jù)進(jìn)行探索。本文使用數(shù)據(jù)講解的使用方法。 前言 本文基于TensorFlow官網(wǎng)的How-Tos寫(xiě)成。 TensorBoard是TensorFlow自帶的一個(gè)可視化工具,Embeddings是其中的一個(gè)功能,用于在二維或三維空間對(duì)高維數(shù)據(jù)進(jìn)行探索。 An embedding is a map ...
閱讀 1176·2023-04-26 00:34
閱讀 3348·2023-04-25 16:47
閱讀 2109·2021-11-24 11:14
閱讀 3092·2021-09-26 09:55
閱讀 3682·2019-08-30 15:56
閱讀 3211·2019-08-29 16:57
閱讀 1903·2019-08-26 13:38
閱讀 2663·2019-08-26 12:22