手寫數字識別tf1 0

2021-10-02 11:21:22 字數 2225 閱讀 6643

import tensorflow as tf

mnist

mnist.train

mnist.validation

mnist.test

#影象顯示函式

import matplotlib.pyplot as plt

defplot_image

(image)

: plt.inshow(image.reshape(28,

28),cmap=

"binary"

)#輸入資料

x=tf.placeholder(tf.float32,[

none

,784])

y=tf.placeholder(tf.float32,

[none,10

])#定義變數

w=tf.variable(tf.random_normal(

[784,10

]))b=tf.variable(tf.zero([10

]))#模型構建

forward=tf.matmul(x,w)

+bpred=tf.nn.softmax(forward)

#損失函式

loss_function=

#交叉熵函式

#優化函式

optimizer=tf.train.gradientdenscentoptimizer(learning_rate)

.minimize(loss_function)

#準確率

correct_prefiction=tf.equal(tf.argmax(pred,1)

,tf.argmax(y,1)

)accuracy=tf.reduce_mean(tf.cast(correct_prediction,tf.float32)

#建立對話

sess=tf.sessin(

)init=tf.global_variables_initializer(

)sess.run(init)

#訓練模型

for epoch in

range

(train_epochs)

:for batch in

range

(total_batch)

: xs,ys=mnist.train.next_batc(batch_size)

sess.run(optimizer,feed_dict=

) loss,acc = sess.run(

[loss_function,accuracy]

,feed_dict=)if

(epoch)

%display_step==0:

pass

#列印準確率和損失值

#在測試集上評估模型準確率

accu_test = sess.run(accurary,feed_dict=

)#應用模型

prediction_result=sess.run(tf.argmax(pred,1)

,feed_dict=

)

多層神經網路

#兩層隱藏層

h1_nn=

256h2_nn=

64w1=tf.variable(tf.truncated_normal(

[784

,h1_nn]

,stddev=

0.1)

b1=tf.variable(tf.zero(

[h1_nn)

)w2=tf.variable(tf.truncated_normal(

[h1_nn,h2_nn]

,stddev=

0.1)

)b2=tf.variable(tf.zero(

[h2_nn]))

w3=tf.variable(tf.truncated_normal(

[h2_nn,10]

,stddev=

0.1)

)b3=tf.variable(tf.zero([10

]))y1=tf.nn.relu(tf.matul(x,w1)

+b1)

y2=tf.nn.relu(tf.matul(x,w2)

+b2)

forward=tf.matul(y1,w3)

+b3pred=tf.nn.softmax(forward)

10,knn手寫數字識別

導包 import numpy as np import matplotlib.pyplot as plt from sklearn.neighbors import kneighborsclassifier 獲取資料 feature target for i in range 10 for j i...

手寫數字識別

這幾天在想這做字元識別方面的程式,看了很多 但是發現 上的幾乎用處都不是特別的大,理論一大堆,但是用在程式裡面則很難實現,看到有些 上說用連碼法,但是連碼法對結構的變化太敏感了,但是也從一些 裡獲得了一些靈感,我採用的是網格匹配法,準備工作採集樣本,得到了樣本的網格資訊用於接下來的識別,當然也可 一...

手寫數字識別

import os os.environ tf cpp min log level 2 不想讓警告的資訊輸出可以新增 from tensorflow.examples.tutorials.mnist import input data import tensorflow as tf def mnis...