聯繫我們

課程簡介

簡介

  • TensorFlow 與深度學習入門
  • TensorFlow 使用案例與應用
  • TensorFlow 生態系與工具
  • 機器學習與深度學習工作流程
  • 課程目標與實務演練概述

TensorFlow 2.x 與舊版本比較 — 新特性

  • TensorFlow 1.x 與 2.x 的主要差異
  • 即時執行 (Eager execution)
  • 簡化的 API 與提升的可操作性
  • 模型構建與訓練的變更
  • Keras 高層 API 介紹
  • 現有 TensorFlow 應用的遷移考量
  • TensorFlow 2.x 最佳實務

設定 TensorFlow 2.x

  • 安裝 TensorFlow
  • 配置 Python 環境
  • 驗證 TensorFlow 安裝
  • 安裝與管理必要依賴項
  • 配置 CPU 與 GPU 環境
  • 使用 Jupyter 筆記本運行 TensorFlow
  • 基本 TensorFlow 指令與操作
  • 排除安裝與配置問題

TensorFlow 2.x 功能與架構概覽

  • TensorFlow 架構與核心組件
  • 張量 (Tensors) 與張量操作
  • 變數 (Variables) 與常數
  • 計算圖 (Computational graphs) 與即時執行
  • 自動微分 (Automatic differentiation)
  • TensorFlow API 與模組
  • Keras 整合
  • 使用 tf.data 建立數據管線
  • 模型序列化與 TensorFlow SavedModel
  • TensorFlow 生態系與開發工作流程

神經網絡的工作原理

  • 人工神經網絡基礎
  • 神經元、層與網絡架構
  • 激活函數
  • 前向傳播 (Forward propagation)
  • 損失函數
  • 反向傳播 (Backpropagation)
  • 梯度下降與優化
  • 學習率與優化策略
  • 過擬合 (Overfitting) 與欠擬合 (Underfitting)
  • 正則化技術
  • 訓練集、驗證集與測試集

使用 TensorFlow 2.x 建立深度學習模型

  • 創建張量與變數
  • 使用 Keras 構建神經網絡
  • 序貫式 (Sequential) 與函數式 (Functional) 模型 API
  • 定義自定義模型與層
  • 配置優化器
  • 選擇適當的損失函數
  • 使用 fit() 訓練模型
  • 自定義訓練循環
  • 回調 (Callbacks) 與訓練監控
  • 管理模型檢查點 (Checkpoints)

數據分析

  • 理解機器學習數據集
  • 探索結構化與非結構化數據
  • 數據可視化
  • 識別模式與異常
  • 處理缺失與不一致數據
  • 數據劃分為訓練、驗證與測試集
  • 選擇相關特徵
  • 為 TensorFlow 模型準備數據集

數據預處理

  • 數據歸一化與標準化
  • 編碼分類數據
  • 處理缺失值
  • 特徵縮放 (Feature scaling)
  • 圖像預處理
  • 文本預處理
  • 數據增強 (Data augmentation)
  • 構建高效輸入管線
  • 使用 tf.data
  • 小批量 (Batching)、混洗 (Shuffling)、快取 (Caching) 與預取 (Prefetching)
  • 為模型訓練準備數據

構建模型

  • 選擇適當的神經網絡架構
  • 定義模型輸入與輸出
  • 創建密集神經網絡 (Dense neural networks)
  • 選擇激活函數
  • 配置模型以進行訓練
  • 選擇優化器與損失函數
  • 訓練與驗證模型
  • 監控訓練指標
  • 提升模型效能
  • 防止過擬合
  • 實現正則化與 Dropout

實現先進圖像分類器

  • 圖像分類基礎
  • 準備圖像數據集
  • 圖像歸一化與增強
  • 卷積神經網絡 (CNN)
  • 卷積與池化層
  • 設計圖像分類架構
  • 遷移學習 (Transfer learning)
  • 使用預訓練模型
  • 微調 (Fine-tuning) 預訓練網絡
  • 構建進階圖像分類器
  • 評估分類效能

訓練模型

  • 配置訓練參數
  • 小批量大小 (Batch size) 與迭代輪數 (Epochs)
  • 優化器選擇
  • 學習率調度 (Learning-rate scheduling)
  • 訓練回調 (Callbacks)
  • 早期停止 (Early stopping)
  • 模型檢查點 (Checkpointing)
  • 監控訓練進度
  • 檢測過擬合
  • 提升訓練效能
  • 分佈式訓練考量

GPU 與 TPU 訓練比較

  • CPU、GPU 與 TPU 架構
  • 硬件加速的優勢
  • 配置 TensorFlow 進行 GPU 訓練
  • 理解基於 TPU 的訓練
  • 根據工作負載選擇硬件
  • 在設備間移動計算任務
  • 管理內存與計算資源
  • 比較訓練效能
  • 分佈式與加速訓練策略

評估模型

  • 選擇適當的評估指標
  • 準確率 (Accuracy)、精確度 (Precision)、召回率 (Recall) 與 F1 分數
  • 回歸評估指標
  • 混淆矩陣 (Confusion matrices)
  • 驗證策略
  • 評估分類模型
  • 評估模型泛化能力
  • 識別模型弱點
  • 比較不同模型配置

進行預測

  • 使用訓練好的模型進行推論
  • 準備新的輸入數據
  • 執行批量與單個預測
  • 解讀模型輸出
  • 分類機率
  • 回歸預測
  • 構建推論工作流程
  • 處理未見數據
  • 管理預測管線

評估預測結果

  • 分析預測質量
  • 比較預測與預期結果
  • 識別假陽性 (False positives) 與假陰性 (False negatives)
  • 錯誤分析
  • 評估模型置信度
  • 可視化預測結果
  • 檢測數據與預測偏差
  • 根據預測分析改進模型效能

調試模型

  • 識別常見訓練問題
  • 診斷錯誤預測
  • 調試數據管線
  • 調查損失與指標行為
  • 檢測梯度爆炸與消失
  • 診斷過擬合與欠擬合
  • 檢查模型層與輸出
  • 使用 TensorFlow 調試與分析工具
  • 提升模型穩定性與效能

保存模型

  • 保存訓練好的模型
  • TensorFlow SavedModel 格式
  • 保存與恢復模型權重
  • 保存模型架構與配置
  • 加載模型進行推論
  • 模型版本管理
  • 導出模型以供部署
  • 管理模型產出物 (Artifacts)
  • 為生產環境準備模型

將模型部署到雲端

  • 雲端模型部署入門
  • 為生產環境準備 TensorFlow 模型
  • 通過 API 提供模型服務
  • 模型服務概念
  • 容器化 TensorFlow 應用
  • 雲端推論
  • 縮放模型服務工作負載
  • 監控已部署模型
  • 管理模型版本
  • 生產部署考量

將模型部署到行動裝置

  • 行動機器學習的挑戰
  • TensorFlow Lite
  • 轉換 TensorFlow 模型以進行行動部署
  • 模型優化與體積縮減
  • 量化 (Quantization)
  • 在行動裝置上運行推論
  • 管理行動裝置資源
  • 將模型整合到行動應用中
  • 測試行動推論效能

將模型部署到嵌入式系統 (IoT)

  • 嵌入式設備上的機器學習
  • 適用於嵌入式應用的 TensorFlow Lite
  • 資源限制與優化
  • 縮減模型體積與計算需求
  • 邊緣推論 (Edge inference)
  • 傳感器與實時數據處理
  • 本地運行預測
  • 功耗與內存考量
  • 將 TensorFlow 模型整合到 IoT 工作流程
  • 測試與監控邊緣部署

將模型整合到不同語言

  • TensorFlow 模型互操作性
  • 通過 API 提供模型服務
  • 從不同編程環境使用 TensorFlow 模型
  • 基於 Python 的模型整合
  • 將模型整合到 Web 應用中
  • 通過基於 REST 的服務進行模型推論
  • 將 TensorFlow 整合到現有應用中
  • 數據交換與序列化
  • 生產整合考量

故障排除

  • 診斷 TensorFlow 安裝問題
  • 排除模型構建錯誤
  • 調試數據預處理問題
  • 解決訓練失敗
  • 調查 GPU 與 TPU 配置問題
  • 診斷內存與效能問題
  • 排除模型加載與保存問題
  • 調試部署問題
  • 實務故障排除演練

總結與結論

  • 回顧 TensorFlow 2.x 概念
  • 回顧神經網絡與深度學習工作流程
  • 回顧數據準備與模型開發
  • 回顧圖像分類
  • 回顧訓練與評估技術
  • 回顧模型調試與優化
  • 回顧雲端、行動與 IoT 部署
  • TensorFlow 開發最佳實務
  • 最終實務演練
  • 提問與討論

最低要求

  • 具備 Python 編程經驗。
  • 熟悉 Linux 命令列操作。

目標受眾

  • 開發人員
  • 數據科學家
 21 小時

人數


每位參與者的報價

客戶評論 (4)

即將到來的課程

課程分類