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。建議使用方式如下:
- 先閱讀文章,理解任務、資料格式與模型選擇。
- 開啟 Colab Notebook,從頭執行一次。
- 觀察訓練結果、評估指標與錯誤案例。
- 回到「如何套用自己的資料?」區塊,替換資料來源與欄位設定。
- 依照「常見調整方向」調整模型與訓練參數。
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. 套用自己資料時先檢查什麼?
套用自己的資料前,先確認五件事:
- 輸入資料的 shape 是否正確。
- 標籤格式是整數、one-hot、浮點數,還是多標籤向量。
- 輸出層神經元數量是否符合任務。
- loss function 是否符合標籤格式與任務類型。
- metrics 是否真的能反映任務表現。
Note
多數模型錯誤不是來自 TensorFlow API 本身,而是資料格式、標籤格式、輸出層與 loss 沒有對齊。
8. 小結
這個系列的主軸是:用固定、清楚、可複製的流程,完成常見 TensorFlow/Keras 任務。後續閱讀時,可以把每篇文章當成一份模板,再依照自己的資料與目標調整。
建議讀者不要只複製最後的模型程式,而是連同資料切分、前處理、評估與保存流程一起理解。真正可重用的不是某一個模型架構,而是一套能被穩定改寫的工作流程。