從0到1 TensorFlow編程手記
內容描述
大部分TensorFlow教材應用案例少,理論講解比較概括,學生數學基礎薄弱,對人工神經網絡較難入門。本教材介紹TensorFlow的發展和特點後,通過案例詳細介紹TensorFlow的使用,著重細致地講解學生學習中遇到的難點,比如張量的形狀、捲積、池化、交叉熵等。通過案例讓學生逐層遞進地掌握TensorFlow,最後將模型移植到安卓移動終端,隨時隨地感受人工智能的魅力。
目錄大綱
第1章 初識TensorFlow
1.1 場景導入 2
1.2 人工智能的發展歷程 3
1.2.1 早期人工智能階段 4
1.2.2 機器學習階段 4
1.2.3 深度學習階段 5
1.3 TensorFlow簡介 6
1.4 Anaconda的安裝和使用 7
1.4.1 安裝Anaconda 7
1.4.2 使用Anaconda 13
1.5 在Windows 10系統中安裝PyCharm 15
1.6 在Windows系統中安裝TensorFlow CPU版 20
1.6.1 創建和激活環境 20
1.6.2 解決錯誤 23
1.7 在PyCharm中使用Anaconda的環境 24
1.7.1 新建和配置項目 24
1.7.2 再次查看項目配置 27
1.7.3 運行案例代碼 28
1.8 在Windows系統中安裝Python版OpenCV 29
1.8.1 激活環境並安裝OpenCV 29
1.8.2 PyCharm配置 30
1.8.3 OpenCV代碼測試 31
第2章 深入了解TensorFlow
2.1 認識TensorFlow數據流圖 34
2.1.1 數據流圖簡介 34
2.1.2 實現數據流圖 35
2.1.3 數據流圖代碼解析 35
2.2 TensorBoard的使用 37
2.2.1 TensorBoard的啟動 37
2.2.2 TensorBoard界面介紹 40
2.3 TensorFlow張量思維 42
2.3.1 什麼是張量 42
2.3.2 用Numpy定義張量 43
2.3.3 張量的形狀 44
2.4 TensorFlow中張量的幾種形式 47
2.4.1 常量 47
2.4.2 變量 48
2.4.3 佔位符 51
第3章 機器學習入門
3.1 機器學習的基本步驟 54
3.2 泰坦尼克號案例 55
3.2.1 泰坦尼克號事件 55
3.2.2 泰坦尼克號案例數據集 56
3.2.3 訓練數據集預處理 58
3.2.4 測試數據集預處理 60
3.2.5 搭建神經網絡 60
3.2.6 進行訓練 62
3.2.7 進行預測並可視化 62
3.3 MNIST手寫數字識別案例 64
3.3.1 數據集簡介 64
3.3.2 加載MNIST數據集 65
3.3.3 構建網絡模型 66
3.3.4 訓練模型 68
3.3.5 測試模型 68
3.3.6 矩陣乘法和加法規則 70
3.4 機器學習相關概念詳解 72
3.4.1 線性回歸模型 73
3.4.2 激活函數 73
3.4.3 交叉熵 75
3.4.4 梯度下降法 77
第4章 深度學習之圖像分類
4.1 卷積神經網絡 80
4.1.1 卷積神經網絡簡介 80
4.1.2 卷積 81
4.2 卷積神經網絡的基本結構 86
4.2.1 卷積層 87
4.2.2 大池化層 93
4.3 樹葉識別案例 95
4.3.1 樣本集簡介 95
4.3.2 卷積層 96
4.3.3 池化層 98
4.3.4 全連接層 100
4.3.5 正則化 103
4.3.6 其他部分的代碼 106
第5章 TensorFlow Lite
5.1 概述 115
5.2 如何使用TensorFlow Lite 116
5.2.1 使用步驟 116
5.2.2 模型格式 117
5.2.3 模型格式轉換 117
5.2.4 模型格式轉換完整代碼 118
5.3 樹葉識別案例 119
5.3.1 功能和界面設計 119
5.3.2 Android Studio配置 121
5.3.3 調用模型 123
5.3.4 使用模型 124
5.3.5 添加交互功能 125
5.4 “你畫我猜”案例 127
5.4.1 功能和界面設計 127
5.4.2 添加模型並配置項目 129
5.4.3 調用模型 130
5.4.4 使用模型 131
5.4.5 其他部分的代碼 131
第6章 TensorFlow的樹莓派應用
6.1 嵌入式人工智能 138
6.1.1 概述 138
6.1.2 樹莓派簡介 138
6.2 樹莓派準備工作 139
6.2.1 安裝操作系統 139
6.2.2 配置網絡 145
6.2.3 安裝VNC Viewer 145
6.2.4 安裝TensorFlow 147
6.2.5 安裝OpenCV 148
6.2.6 連接攝像頭 151
6.2.7 安裝tqdm庫 154
6.3 基於樹莓派的人臉識別案例 155
6.3.1 MTCNN人臉識別模型 155
6.3.2 下載並運行人臉識別程序 157
第7章 Keras案例
7.1 Keras簡介 161
7.2 基於Keras的Fashion-MNIST案例 162
7.2.1 Fashion-MNIST數據集簡介 162
7.2.2 下載和加載Fashion-MNIST數據集 164
7.2.3 搭建網絡 165
7.2.4 編譯、訓練和評估模型 167
作者介紹
周倩
1996-2000 河南師範大學計算機科學系本科學習
2000-2006 河南科技學院計算機科學系本科生教學
2006-2008 北京郵電大學計算機科學系研究生學習
2008-至今 河南省濟源職業技術學院信息工程系高職教學