TF之LiR:基于tensorflow实现手写数字图片识别准确率
生活随笔
收集整理的這篇文章主要介紹了
TF之LiR:基于tensorflow实现手写数字图片识别准确率
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
TF之LiR:基于tensorflow實現手寫數字圖片識別準確率
?
?
?
目錄
輸出結果
代碼設計
?
?
?
輸出結果
Extracting MNIST_data\train-images-idx3-ubyte.gz Please use tf.data to implement this functionality. Extracting MNIST_data\train-labels-idx1-ubyte.gz Please use tf.one_hot on tensors. Extracting MNIST_data\t10k-images-idx3-ubyte.gz Extracting MNIST_data\t10k-labels-idx1-ubyte.gz Please use alternatives such as official/mnist/dataset.py from tensorflow/models. Datasets(train=<tensorflow.contrib.learn.python.learn.datasets.mnist.DataSet object at 0x00000207535F9EB8>, validation=<tensorflow.contrib.learn.python.learn.datasets.mnist.DataSet object at 0x00000207611319E8>, test=<tensorflow.contrib.learn.python.learn.datasets.mnist.DataSet object at 0x0000020761131A20>) 迭代次數Epoch: 0001 下降值cost= 0.000000000 迭代次數Epoch: 0002 下降值cost= 0.000000000 迭代次數Epoch: 0003 下降值cost= 0.000000000 迭代次數Epoch: 0004 下降值cost= 0.000000000 迭代次數Epoch: 0005 下降值cost= 0.000000000 迭代次數Epoch: 0006 下降值cost= 0.000000000 迭代次數Epoch: 0007 下降值cost= 0.000000000 迭代次數Epoch: 0008 下降值cost= 0.000000000 迭代次數Epoch: 0009 下降值cost= 0.000000000 迭代次數Epoch: 0010 下降值cost= 0.000000000 迭代次數Epoch: 0011 下降值cost= 0.000000000 迭代次數Epoch: 0012 下降值cost= 0.000000000 迭代次數Epoch: 0013 下降值cost= 0.000000000 迭代次數Epoch: 0014 下降值cost= 0.000000000 迭代次數Epoch: 0015 下降值cost= 0.000000000 迭代次數Epoch: 0016 下降值cost= 0.000000000 …… 迭代次數Epoch: 0099 下降值cost= 0.000000000 迭代次數Epoch: 0100 下降值cost= 0.000000000 Optimizer Finished!?
代碼設計
# -*- coding: utf-8 -*-#TF之LiR:基于tensorflow實現手寫數字圖片識別準確率import os os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_datamnist = input_data.read_data_sets('MNIST_data', one_hot=True) print(mnist)#設置超參數 lr=0.001 #學習率 training_iters=100 #訓練次數 batch_size=128 #每輪訓練數據的大小,如果一次訓練5000張圖片,電腦會卡死,分批次訓練會更好 display_step=1#tf Graph的輸入 x=tf.placeholder(tf.float32, [None,784]) y=tf.placeholder(tf.float32, [None, 10])#設置權重和偏置 w =tf.Variable(tf.zeros([784,10])) b =tf.Variable(tf.zeros([10]))#設定運行模式 pred =tf.nn.softmax(tf.matmul(x,w)+b) # #設置cost function為cross entropy cost =tf.reduce_mean(-tf.reduce_sum(y*tf.log(pred),reduction_indices=1)) #GD算法 optimizer=tf.train.GradientDescentOptimizer(lr).minimize(cost) #初始化權重 init=tf.global_variables_initializer() #開始訓練 with tf.Session() as sess: sess.run(init)for epoch in range(training_iters): #輸入所有訓練數據avg_cost=0.total_batch=int(mnist.train.num_examples/batch_size)for i in range(total_batch): #遍歷每個batchbatch_xs,batch_ys=mnist.train.next_batch(batch_size)_, c=sess.run([optimizer,cost],feed_dict={x:batch_xs,y:batch_ys}) #把每個batch數據放進去訓練avg_cost==c/total_batchif (epoch+1) % display_step ==0: #顯示每次迭代日志print("迭代次數Epoch:","%04d" % (epoch+1),"下降值cost=","{:.9f}".format(avg_cost))print("Optimizer Finished!")#測試模型correct_prediction=tf.equal(tf.argmax(pred,1),tf.argmax(y,1))accuracy=tf.equal_mean(tf.cast(correct_prediction),tf.float32)print("Accuracy:",accuracy_eval({x:mnist.test.image[:3000],y:mnist}))?
?
?
總結
以上是生活随笔為你收集整理的TF之LiR:基于tensorflow实现手写数字图片识别准确率的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Tool之Git:Git的简介、安装、使
- 下一篇: CV之IG:图像生成(Image Gen