深度學習,教你使用Tensorflow2.0識別手寫數字(上)

課前知識python

新版的Tensorflow2.0與原版的Tensorflow有着較大的更新和變更,Tensorflow2.0將Keras做爲默認高級API,並捨棄掉其它的API。此外,另外較大的變更的是將用於機器學習的實驗和研究平臺 Eager execution 設置爲默認優先模式, 這樣設置的好處是咱們不用再像之前同樣預先定義靜態圖,任何的運算在調用以後均可以直接執行。與原版相比,Tensorflow2.0更方便,大幅下降了初學者學習的難度。微信

這裏並不對Tensorflow2.0的其它特性作具體描述,總之咱們能夠比較清楚的明白,Keras是咱們學習的首要基礎,下文即是對Keras一些經常使用操做結合一些基本案例來進行描述。機器學習

Tensorflow2.0的安裝 1.Tensorflow2.0的主要配置環境及使用仍是在Anaconda及Jupyter notebook裏,對於Anaconda的安裝這裏不作過多描述,有不少博客有很仔細的教程,這裏主要想講的一點的關於Tensorflow2.0安裝的點,由於如今用在Anaconda Prompt 直接 pip install 指令安裝實在是太慢了,常常會中斷,所以咱們能夠用國內的一些鏡像源進行安裝,你們能夠輸入如下指令,中間多了一個網站,而後就會發現安裝速度特別快了,其它庫的安裝也是同樣的,把後面庫的名字改掉便可。學習

pip install -i pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu==2.0.0-alpha0測試

MNIST 數據集已是一個被」嚼爛」了的數據集, 不少教程都會對它」下手」, 幾乎成爲一個 「典範」. 不過有些人可能對它還不是很瞭解, 下面來介紹一下.網站

MNIST 數據集可在 yann.lecun.com/exdb/mnist/ 獲取, 它包含了四個部分:​​​​​​​ Training set images: train-images-idx3-ubyte.gz (9.9 MB, 解壓後 47 MB, 包含 60,000 個樣本) Training set labels: train-labels-idx1-ubyte.gz (29 KB, 解壓後 60 KB, 包含 60,000 個標籤) Test set images: t10k-images-idx3-ubyte.gz (1.6 MB, 解壓後 7.8 MB, 包含 10,000 個樣本) Test set labels: t10k-labels-idx1-ubyte.gz (5KB, 解壓後 10 KB, 包含 10,000 個標籤) MNIST 數據集來自美國國家標準與技術研究所, National Institute of Standards and Technology (NIST). 訓練集 (training set) 由來自 250 個不一樣人手寫的數字構成, 其中 50% 是高中學生, 50% 來自人口普查局 (the Census Bureau) 的工做人員. 測試集(test set) 也是一樣比例的手寫數字數據..net

利用TensorFlow代碼下載MNISTcdn

TensorFlow 提供了一個庫,能夠直接用來自動下載與安裝MNIST, 見以下代碼:​​​​​​​ from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets("MNIST_data", one_hot=True) 其中"MNIST_data"爲保存MNIST數據的文件夾名,其中還會遇到blog

ModuleNotFoundError: No module named 'tensorflow.examples.tutorials' 這個問題,則須要參考小編博客的處理文章:教程

blog.csdn.net/qq_43060552…

MNIST 數據集中的圖片

MNIST 數據集中的圖片是28X 28 Pixel, 因此,每一幅圖就是1 行784 ( 28X28) 列

的數據, 括號中的每個值表明一個像素。

• 若是是黑白的圖片,圖片中黑色的地方數值爲0 ; . 有圖案的地方,數值爲O r-,....; 255

之間的數字, 表明其顏色的深度。

• 若是是彩色的圖片, 一個像素會由3 個值來表示RGB C 紅、黃、藍) 。

輸出MNIST 裏面的信息

代碼:

-- coding: utf-8 --

""" Created on Thu Nov 21 16:38:15 2019 @author: Cable-Ching""" from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets("MNIST_data", one_hot=True) print ( ' 輸入數據:', mnist.train.images) print ( ' 輸入數據打shape :', mnist.train.images.shape) import pylab im = mnist.train.images[1] im = im.reshape(-1 ,28) pylab.imshow(im) pylab.show() 結果​​​​​​​

Extracting MNIST_data\train-images-idx3-ubyte.gz Extracting MNIST_data\train-labels-idx1-ubyte.gz Extracting MNIST_data\t10k-images-idx3-ubyte.gz Extracting MNIST_data\t10k-labels-idx1-ubyte.gz 輸入數據:[[0. 0. 0. ... 0. 0. 0.] [0. 0. 0. ... 0. 0. 0.] [0. 0. 0. ... 0. 0. 0.] ... [0. 0. 0. ... 0. 0. 0.] [0. 0. 0. ... 0. 0. 0.] [0. 0. 0. ... 0. 0. 0.]]  輸入數據打shape : (55000, 784)

——————想跟着博主學習python,tensorflow能夠關注微信公衆號 : 碼奮

相關文章
相關標籤/搜索