TensorFlow入門文章

mychat發表於2024-06-01

文件說明

1. 介紹

TensorFlow 是一個開源的機器學習框架,由谷歌開發和維護。它廣泛應用於各類機器學習任務,包括但不限於影像分類、自然語言處理和時間序列預測。本文將介紹如何使用TensorFlow建立一個簡單的神經網路進行影像分類。

2. 安裝

在開始之前,請確保你已經安裝了TensorFlow。你可以透過以下命令安裝:

pip install tensorflow

3. 資料準備

我們將使用MNIST資料集,這是一個包含手寫數字的經典資料集。以下是載入資料集的程式碼:

import tensorflow as tf
from tensorflow.keras.datasets import mnist

# 載入資料
(x_train, y_train), (x_test, y_test) = mnist.load_data()

# 歸一化
x_train, x_test = x_train / 255.0, x_test / 255.0

4. 模型構建

構建一個簡單的神經網路模型:

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Flatten

model = Sequential([
    Flatten(input_shape=(28, 28)),
    Dense(128, activation='relu'),
    Dense(10, activation='softmax')
])

5. 編譯和訓練模型

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

model.fit(x_train, y_train, epochs=5)

6. 評估模型

test_loss, test_acc = model.evaluate(x_test, y_test)
print(f'\nTest accuracy: {test_acc}')

程式碼測試用例

為了驗證程式碼的正確性,可以編寫一些簡單的測試用例:

def test_model_accuracy():
    # 確保測試集的準確率不低於 90%
    assert test_acc >= 0.90, f"Test accuracy too low: {test_acc}"

def test_model_output():
    # 確保模型輸出的shape正確
    predictions = model.predict(x_test)
    assert predictions.shape == (10000, 10), f"Prediction shape incorrect: {predictions.shape}"

test_model_accuracy()
test_model_output()

UML圖

相關文章