日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

TensorFlow 2.0 极简教程,不到 20 行代码带你入门

發(fā)布時(shí)間:2025/5/22 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TensorFlow 2.0 极简教程,不到 20 行代码带你入门 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

今天,Google 發(fā)布了 TensorFlow 2.0 的 alpha 版本,真是千呼萬喚始出來,對(duì)應(yīng)的 2.0 官方教程 也釋出,本文翻譯了官方最簡(jiǎn)單的一個(gè)教程,帶你入門 TensorFlow。

有條件的人,可以直接在 colab 上運(yùn)行代碼:https://colab.research.google.com/notebooks/welcome.ipynb

對(duì) TensorFlow 比較熟悉或者已經(jīng)使用過 tf.keras API 的可以看 進(jìn)階教程

由于 TensorFlow 升級(jí)到了 2.0 alpha 版本,因此需要先安裝:

# CPU 版本 pip install tensorflow==2.0.0-alpha0# GPU 版本 pip install tensorflow-gpu==2.0.0-alpha0

開始導(dǎo)入

from __future__ import absolute_import, division, print_functionimport tensorflow as tf

載入 MNIST 數(shù)據(jù)集,并將整型轉(zhuǎn)換為浮點(diǎn)型,除以 255 是為了歸一化。

mnist = tf.keras.datasets.mnist(x_train, y_train), (x_test, y_test) = mnist.load_data() x_train, x_test = x_train / 255.0, x_test / 255.0

也可以使用 TensorFlow 新出的 tensorflow-datasets 載入數(shù)據(jù)集,傳送門。

使用 tf.keras.Sequential 建立模型,并且選擇優(yōu)化器和損失函數(shù)

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, activation='softmax') ])model.compile(optimizer='adam',loss='sparse_categorical_crossentropy',metrics=['accuracy'])

代碼解釋:

  • Sequential 用于建立序列模型
  • Flatten 層用于展開張量,input_shape 定義輸入形狀為 28x28 的圖像,展開后為 28*28 的張量。
  • Dense 層為全連接層,輸出有 128 個(gè)神經(jīng)元,激活函數(shù)使用 relu。
  • Dropout 層使用 0.2 的失活率。
  • 再接一個(gè)全連接層,激活函數(shù)使用 softmax,得到對(duì)各個(gè)類別預(yù)測(cè)的概率。
  • 優(yōu)化器選擇 Adam 優(yōu)化器。
  • 損失函數(shù)使用 sparse_categorical_crossentropy,還有一個(gè)損失函數(shù)是 categorical_crossentropy,兩者的區(qū)別在于輸入的真實(shí)標(biāo)簽的形式,sparse_categorical 輸入的是整形的標(biāo)簽,例如 [1, 2, 3, 4],categorical 輸入的是 one-hot 編碼的標(biāo)簽。

然后訓(xùn)練評(píng)估模型

model.fit(x_train, y_train, epochs=5)model.evaluate(x_test, y_test) Epoch 1/5 60000/60000 [==============================] - 8s 137us/sample - loss: 0.2946 - accuracy: 0.9139 Epoch 2/5 60000/60000 [==============================] - 7s 124us/sample - loss: 0.1423 - accuracy: 0.9578 Epoch 3/5 60000/60000 [==============================] - 8s 131us/sample - loss: 0.1059 - accuracy: 0.9677 Epoch 4/5 60000/60000 [==============================] - 8s 127us/sample - loss: 0.0872 - accuracy: 0.9729 Epoch 5/5 60000/60000 [==============================] - 7s 125us/sample - loss: 0.0739 - accuracy: 0.9768 10000/10000 [==============================] - 1s 87us/sample - loss: 0.0747 - accuracy: 0.9783 [0.07466811984921806, 0.9783]

fit 用于訓(xùn)練模型,對(duì)訓(xùn)練數(shù)據(jù)遍歷一次為一個(gè) epoch,這里遍歷 5 次。
evaluate 用于評(píng)估模型,返回的數(shù)值分別是損失和指標(biāo)。

可以看到,我們訓(xùn)練的圖像分類器在 MNIST 上有接近 98% 的準(zhǔn)確率。

總結(jié)

以上是生活随笔為你收集整理的TensorFlow 2.0 极简教程,不到 20 行代码带你入门的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。