<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
之前工作中主要使用的是 Tensorflow 1.15 版本,但是漸漸跟不上工作中的專案需求了,而且因為 2.x 版本和 1.x 版本差異較大,所以要專門花時間學習一下 2.x 版本,本文作為學習 Tensorflow 2.x 版本的開篇,主要介紹了使用 cpu 版本的 Tensorflow 2.1 搭建深度學習模型,完成對於 MNIST 資料的圖片分類的任務。
這裡是要匯入 tensorflow 的包,前提是你要提前安裝 tensorflow ,我這裡為了方便直接使用的是 cpu 版本的 tensorflow==2.1.0 ,如果是為了學習的話,cpu 版本的也夠用了,畢竟資料量和模型都不大。
import tensorflow as tf
這裡是為了載入 mnist 資料集,mnist 資料集裡面就是 0-9 這 10 個數位的圖片集,我們要使用深度學習實現一個模型完成對 mnist 資料集進行分類的任務,這個專案相當於 java 中 hello world 。
mnist = tf.keras.datasets.mnist
這裡的 (x_train, y_train) 表示的是訓練集的圖片和標籤,(x_test, y_test) 表示的是測試集的圖片和標籤。
(x_train, y_train), (x_test, y_test) = mnist.load_data()
每張圖片是 28*28 個畫素點(數位)組成的,而每個畫素點(數位)都是 0-255 中的某個數位,我們對其都除 255 ,這樣就是相當於對這些圖片的畫素點值做歸一化,這樣有利於模型加速收斂,在本專案中執行本操作比不執行本操作最後的準確率高很多,在文末會展示註釋本行情況下,模型評估的指標結果,大家可以自行對比差異。
x_train, x_test = x_train / 255.0, x_test / 255.0
這裡主要是要構建機器學習模型,模型分為以下幾層:
第四層是一個輸出 10 維度的全連線操作,也就是預測該圖片分別屬於這十種型別的概率
model = tf.keras.models.Sequential([ tf.keras.layers.Flatten(input_shape=(28, 28)), tf.keras.layers.Dense(128, activation='relu'), tf.keras.layers.Dropout(0.2), tf.keras.layers.Dense(10) ])
這裡主要是定義損失函數,這裡的損失函數使用到了 SparseCategoricalCrossentropy ,主要是為了計算標籤和預測結果之間的交叉熵損失。
loss_fn = tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True)
這裡主要是設定和編譯模型,優化器使用了 adam ,要優化的評價指標選用了準確率 accuracy ,當然了還可以選擇其他的優化器和評價指標。
model.compile(optimizer='adam', loss=loss_fn, metrics=['accuracy'])
這裡主要使用訓練資料的圖片和標籤來訓練模型,將整個訓練樣本集訓練 5 次。
model.fit(x_train, y_train, epochs=5)
訓練過程結果輸出如下:
Train on 60000 samples
Epoch 1/5
60000/60000 [==============================] - 3s 43us/sample - loss: 0.2949 - accuracy: 0.9144
Epoch 2/5
60000/60000 [==============================] - 2s 40us/sample - loss: 0.1434 - accuracy: 0.9574
Epoch 3/5
60000/60000 [==============================] - 2s 36us/sample - loss: 0.1060 - accuracy: 0.9676
Epoch 4/5
60000/60000 [==============================] - 2s 31us/sample - loss: 0.0891 - accuracy: 0.9721
Epoch 5/5
60000/60000 [==============================] - 2s 29us/sample - loss: 0.0740 - accuracy: 0.9771
10000/10000 - 0s - loss: 0.0744 - accuracy: 0.9777
這裡主要是使用測試資料中的圖片和標籤來評估模型,verbose 可以選為 0、1、2 ,區別主要是結果輸出的形式不一樣,嫌麻煩可以不設定
model.evaluate(x_test, y_test, verbose=2)
評估的損失值和準確率如下:
[0.07444974237508141, 0.9777]
在不使用歸一化操作的情況下,訓練過程輸出如下:
Train on 60000 samples
Epoch 1/5
60000/60000 [==============================] - 3s 42us/sample - loss: 2.4383 - accuracy: 0.7449
Epoch 2/5
60000/60000 [==============================] - 2s 40us/sample - loss: 0.5852 - accuracy: 0.8432
Epoch 3/5
60000/60000 [==============================] - 2s 36us/sample - loss: 0.4770 - accuracy: 0.8724
Epoch 4/5
60000/60000 [==============================] - 2s 34us/sample - loss: 0.4069 - accuracy: 0.8950
Epoch 5/5
60000/60000 [==============================] - 2s 32us/sample - loss: 0.3897 - accuracy: 0.8996
10000/10000 - 0s - loss: 0.2898 - accuracy: 0.9285
評估結果輸入如下:
[0.2897613683119416, 0.9285]
所以我們通過和上面的進行對比發現,不進行歸一化操作,在訓練過程中收斂較慢,在相同 epoch 的訓練之後,評估的準確率和損失值都不理想,損失值比第(6)步操作的損失值大,準確率比第(6)步操作低 5% 左右。
以上就是Tensorflow2.1 MNIST影象分類實現思路分析的詳細內容,更多關於Tensorflow2.1 MNIST影象分類的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45