91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 10KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-03
  • 語言: Python
  • 標簽: tensorflow??python??

資源簡介

tensorflow手寫數字識別python源碼官網案例,帶詳細注釋,適合剛初學tensorflow的mnist數據集訓練識別, 相關鏈接: 手寫數字識別 ----在已經訓練好的數據上根據28*28的圖片獲取識別概率(基于Tensorflow,Python) https://www.cnblogs.com/motao9527/p/10190987.html

資源截圖

代碼片段和文件信息

#?手寫數字識別??----Softmax回歸模型
#?regression
import?os
import?tensorflow?as?tf
from?tensorflow.examples.tutorials.mnist?import?input_data
data?=?input_data.read_data_sets(“/tmp/data/“?one_hot=True)??#?獲取數據?mnist是一個輕量級的類,其中以Numpy數組的形式中存儲著訓練集、驗證集、測試集。


#?一個對手寫數字進行識別的模型。
#?思路:
#?1、將訓練集中獲取的手寫數字圖像進行某一統一方式(全部按行或全部按列)的展開,
#?得到一個長向量(這是為了利用softmax做一維的回歸,不過損失了二維信息),
#?用一個二維張量來索引某一個樣本中的某一像素。
#?2、softmax模型:用來給不同的對象分配概率(即使在更精細的模型中,最后一步,往往也需要用softmax來分配概率)
#?兩步:
#?①?加權求和,并引入偏置
#?對于給定輸入圖片x,其代表圖像為數字i的證據為
#?evidencei?=∑i(wi?jxj)?+?bi
#?evidence_i?=∑_i(w_{i?j}x_j)+b_ievidencei=∑i?(wi?jxj)?+?bi
#?②?用softmax函數將evidence轉換成概率,即
#?y?=?softmax(evidence)
#?y?=?softmax(evidence)
#?y?=?softmax(evidence)
#?將輸入值當成冪指數求值,再正則化這些結果
#?更緊湊的寫法為
#?y?=?softmax(Wx?+?b)
#?y?=?softmax(Wx?+?b)
#?y?=?softmax(Wx?+?b)
#?3、為了節省在python外使用別的語言進行復雜矩陣運算帶來的開銷,TensorFlow做出的優化為,先用圖描述一系列可交互的操作,最后統一放在python外執行。
#?用占位符placeholder來描述這些可交互的單元:
#?---------------------
#?作者:Crystal?
#?來源:CSDN
#?原文:https:?//?blog.csdn.net?/?weixin_43226400?/?article?/?details?/?82749769
#?版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


#http://www.cnblogs.com/rgvb178/p/6052541.html?相關說明
#?Softmax?Regression?Model????????Softmax回歸模型
def?regression(x):
????W?=?tf.Variable(tf.zeros([784?10])?name=“W“)
????b?=?tf.Variable(tf.zeros([10])?name=“b“)
????y?=?tf.nn.softmax(tf.matmul(x?W)?+?b)
????#?print(y)
????return?y?[W?b]


#?model?聲明占位符
with?tf.variable_scope(“regression“):
????x?=?tf.placeholder(tf.float32?[None?784])
????y?variables?=?regression(x)

#?用交叉熵(cross?-?entropy)來評判模型的好壞,其表達式為
#?Hy′(y)?=?∑iy′ilog(yi)
#?其中y是預測的概率分布,y’是實際的概率分布(即訓練集對應的真實標簽,是一個one?-?hotvector)定義


#?train??開始訓練模型
y_?=?tf.placeholder(“float“?[None?10])
#?計算交叉熵
cross_entropy?=?-tf.reduce_sum(y_?*?tf.log(y))
#?tensorflow可以自動利用反向傳播算法,根據選擇的優化器來最小化你的目標函數
train_step?=?tf.train.GradientDescentOptimizer(0.01).minimize(cross_entropy)
#?tf.argmax給出對象在某一維度上最大值所對應的索引值,可以用來判斷預測是否準確,即
correct_prediction?=?tf.equal(tf.argmax(y?1)?tf.argmax(y_?1))
#?equal函數返回布爾值,用cast函數轉化為浮點數后求均值來計算正確率
accuracy?=?tf.reduce_mean(tf.cast(correct_prediction?tf.float32))

saver?=?tf.train.Saver(variables)
with?tf.Session()?as?sess:
????#?初始化操作
????sess.run(tf.global_variables_initializer())
????for?_?in?range(10000):
????????batch_xs?batch_ys?=?data.train.next_batch(100)
????????#?此為隨機梯度下降訓練,每次訓練隨機抓取訓練集中的100個數據作為一個batch
????????sess.run(train_step?feed_dict={x:?batch_xs?y_:?batch_ys})

????#?計算學習到的模型在訓練集上的準確率
????print(sess.run(accuracy?feed_dict={x:?data.test.images?y_:?data.test.labels}))

????#?保存訓練結果
????#?print(os.path.join(os.path.dirname(__file__)?‘data‘?‘regression.ckpt‘))
????#?//絕對路徑包含中文字符可能導致路徑不可用??相對路徑:‘mnist/data/regression.ckpt‘
????path?=?saver.save(
????????sess?‘mnist/data/regression.ckpt‘
????????write_meta_graph=False?write_state=False)
????print(“Saved:“?path)

????#?path?=?saver.save(
????#?????sess?os.path.join(os.path.dirname(__file__)?‘mnist\data‘?‘regression.ckpt‘)wri

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????4641??2018-12-28?15:21??tensorflow手寫文字識別python源碼案例\Softmax回歸模型.py

?????文件??????12755??2018-12-28?15:24??tensorflow手寫文字識別python源碼案例\卷積神經網絡模型.py

?????文件???????3298??2018-12-28?15:33??tensorflow手寫文字識別python源碼案例\識別.py

?????目錄??????????0??2018-12-28?15:52??tensorflow手寫文字識別python源碼案例

-----------?---------??----------?-----??----

????????????????20694????????????????????4


評論

共有 條評論