跳轉到

0.1 TensorFlow 101 Cookbook 使用指南

TensorFlow 101 從零開始 是一套任務導向的 TensorFlow/Keras Cookbook。這個系列不只介紹 API,而是把常見神經網路任務整理成可重複套用的流程:資料格式、前處理、模型架構、訓練設定、評估方式與如何替換成自己的資料。

如果你曾經遇過「範例程式可以跑,但不知道怎麼換成自己的資料」的問題,這個系列的目標就是把每個任務拆成清楚步驟。讀者可以先跑通 Notebook,再回頭理解每個步驟背後的原因,最後改成自己的資料與任務。

1. 這個系列適合誰?

這個系列適合已經會基本 Python,想用 TensorFlow/Keras 解決實務任務的讀者。讀者不需要先完整掌握深度學習數學推導,但需要能看懂陣列、表格資料、函式與基本程式流程。

如果目標是快速建立可運作的模型,可以從任務 cookbook 開始;如果目標是補齊 TensorFlow 基礎,建議先閱讀 1.x 與 2.x。

2. Cookbook 的核心使用方式

每篇文章都會對應一份 Notebook。建議使用方式如下:

  1. 先閱讀文章,理解任務、資料格式與模型選擇。
  2. 開啟 Colab Notebook,從頭執行一次。
  3. 觀察訓練結果、評估指標與錯誤案例。
  4. 回到「如何套用自己的資料?」區塊,替換資料來源與欄位設定。
  5. 依照「常見調整方向」調整模型與訓練參數。

Info

這個系列的重點是建立可複製的實作流程。每篇文章都會盡量保留固定章節,讓讀者在不同任務之間快速對照。

3. 系列學習地圖

章節 主題 適合用途
0. 系列介紹與學習地圖 Colab、GPU、專案流程 建立學習環境與整體工作流
1. TensorFlow / Keras 基礎 Tensor、Keras API、Callback 補齊 TensorFlow/Keras 基本操作
2. 資料前處理與 tf.data 切分、正規化、編碼、資料管線 把自己的資料整理成模型可訓練格式
3. DNN 表格資料 Cookbook 回歸、分類、不平衡資料、異常偵測 處理 CSV、Excel、感測器與結構化資料
4. CNN 影像 Cookbook 圖片分類、資料增強、遷移學習 處理影像分類與視覺任務
5. 時間序列 Cookbook LSTM、GRU、1D CNN、異常偵測 處理預測、序列分類與時序監控
6. NLP Cookbook 文字向量化、情緒分類、文字分類 處理文字資料與簡易 NLP 任務
7. Transformer 入門 Attention、Encoder、ViT 理解 Transformer 的核心概念
8. 訓練優化技巧 Callback、Learning Rate、Overfitting 改善模型訓練品質
9. 模型儲存與部署 Save/Load、TFLite、TF.js、FastAPI 將模型帶到推論與部署

4. 建議閱讀順序

初學者建議先走這條路線:

0.x 學習環境與流程
→ 1.x TensorFlow / Keras 基礎
→ 2.x 資料前處理
→ 3.x DNN 表格資料
→ 4.x CNN 影像任務
→ 8.x 訓練優化技巧
→ 9.x 模型儲存與部署

已經有機器學習基礎、只想找範例套用的讀者,可以直接從任務章節開始。例如表格分類看 3.2 或 3.3,影像分類看 4.1 到 4.5,模型保存看 9.1。

5. 每篇文章會怎麼寫

正式 cookbook 文章會盡量維持相近的教學節奏,但不會硬套完全相同的小節名稱。核心原則是:先說明任務,再說明資料,接著進入可執行流程,最後整理如何改成自己的資料。

任務背景
→ 資料集或資料格式
→ 前處理
→ 建立模型或方法
→ 訓練或執行
→ 評估與觀察
→ 預測、保存或部署
→ 如何套用自己的資料
→ 小結

這樣設計的目的,是讓每篇文章都能像範本一樣被改寫。當任務不同時,資料、輸出層、loss 與 metrics 會改變,但「先釐清任務,再讓資料進入模型,最後用合適指標檢查結果」這條主線通常一致。

6. 如何判斷應該看哪一篇?

你的任務 優先閱讀
預測房價、耗電量、良率等連續數值 3.1 DNN Regression
判斷是否流失、是否故障、是否詐欺 3.2 Binary Classification
預測多個互斥類別 3.3 Multi-class Classification
一筆資料可同時屬於多個標籤 3.4 Multi-label Classification
正負樣本比例差很多 3.5 Imbalanced Classification
圖片分類 4.1 CNN Image Classification
使用自己的圖片資料夾 4.2 自己的圖片資料集
小資料集想用預訓練模型 4.4 Transfer Learning、4.5 Fine-tuning
訓練不穩或過擬合 8.x 訓練優化技巧
模型訓練完要保存與載入 9.1 Save Load Model

7. 套用自己資料時先檢查什麼?

套用自己的資料前,先確認五件事:

  1. 輸入資料的 shape 是否正確。
  2. 標籤格式是整數、one-hot、浮點數,還是多標籤向量。
  3. 輸出層神經元數量是否符合任務。
  4. loss function 是否符合標籤格式與任務類型。
  5. metrics 是否真的能反映任務表現。

Note

多數模型錯誤不是來自 TensorFlow API 本身,而是資料格式、標籤格式、輸出層與 loss 沒有對齊。

8. 小結

這個系列的主軸是:用固定、清楚、可複製的流程,完成常見 TensorFlow/Keras 任務。後續閱讀時,可以把每篇文章當成一份模板,再依照自己的資料與目標調整。

建議讀者不要只複製最後的模型程式,而是連同資料切分、前處理、評估與保存流程一起理解。真正可重用的不是某一個模型架構,而是一套能被穩定改寫的工作流程。