本書介紹卷積神經網絡的核心——錯綜復雜的細節(jié)和算法的微妙之處。主要包括卷積神經網絡的高級主題和使用Keras和TensorFlow的對象檢測。
前言
致謝
第1章 簡介和設置開發(fā)環(huán)境 1
1.1 GitHub存儲庫和配套網站 2
1.2 必備的數(shù)學知識 3
1.3 Python開發(fā)環(huán)境 3
1.3.1 Google Colab 4
1.3.2 Anaconda 6
1.3.3 Docker映像 14
1.3.4 你選擇哪個選項 18
第2章 TensorFlow:高級主題 20
2.1 Eager Execution簡介 21
2.1.1 啟用Eager Execution 21
2.1.2 Eager Execution多項式擬合 22
2.1.3 應用Eager Execution 的MNIST數(shù)據(jù)分類 26
2.2 TensorFlow和Numpy兼容性 30
2.3 硬件加速 30
2.3.1 檢測GPU的可用性 30
2.3.2 設備名稱 31
2.3.3 顯式設備使用 32
2.3.4 GPU加速器演示:矩陣乘法 33
2.3.5 MNIST示例上的GPU加速效果 34
2.4 僅特定層訓練 36
2.4.1 僅特定層訓練示例 37
2.4.2 層移除 40
2.5 Keras回調函數(shù) 42
2.5.1 自定義回調類 42
2.5.2 自定義回調類示例 44
2.6 模型存儲與加載 47
2.6.1 手動保存權重 52
2.6.2 保存整個模型 53
2.7 數(shù)據(jù)集抽象類 53
2.7.1 遍歷數(shù)據(jù)集 55
2.7.2 簡單批處理 56
2.7.3 使用MNIST數(shù)據(jù)集進行簡單批處理 57
2.7.4 在Eager Execution模式下使用tf.data.Dataset 60
2.8 本章小結 60
第3章 卷積神經網絡的基礎 61
3.1 核和過濾器 61
3.2 卷積 62
3.3 卷積示例 71
3.4 池化 77
3.5 CNN的構建基塊 81
3.5.1 卷積層 82
3.5.2 池化層 83
3.5.3 疊加層 84
3.6 CNN的權重數(shù)量 84
3.6.1 卷積層 84
3.6.2 池化層 85
3.6.3 稠密層 85
3.7 CNN的示例:MNIST數(shù)據(jù)集 85
3.8 CNN學習的可視化 89
3.8.1 keras.backend.function()簡介 89
3.8.2 核的作用效果 91
3.8.3 最大池化的作用效果 93
第4章 高級CNN與遷移學習 95
4.1 多通道卷積 95
4.2 初始網絡的歷史和基礎 98
4.2.1 初始模塊:初始版本 99
4.2.2 初始模塊中的參數(shù)數(shù)量 100
4.2.3 具有降維功能的初始模塊 100
4.3 多種成本函數(shù):GoogLeNet 102
4.4 Keras中的初始模塊示例 103
4.5 偏離:Keras中的自定義損失 106
4.6 如何使用預先訓練過的網絡 108
4.7 遷移學習簡介 111
4.8 貓狗問題 114
4.8.1 遷移學習的經典方法 114
4.8.2 遷移學習實驗 120
第5章 成本函數(shù)與風格轉換 123
5.1 神經網絡模型的構成 123
5.1.1 訓練被視為優(yōu)化問題 124
5.1.2 具體示例:線性回歸 125
5.2 成本函數(shù) 126
5.2.1 數(shù)學符號 126
5.2.2 典型成本函數(shù) 127
5.3 神經風格轉換 134
5.3.1 神經風格轉換背后的數(shù)學原理 135
5.3.2 Keras中的圖像風格轉換示例 139
5.3.3 使用神經風格轉換生成剪影 145
5.3.4 masking 146
第6章 對象分類簡介 148
6.1 什么是對象定位 148
6.1.1 重要的可用數(shù)據(jù)集 150
6.1.2 交并比 152
6.2 一種簡單的對象定位方法:滑動窗口法 153
6.3 分類和定位 159
6.4 基于區(qū)域的卷積神經網絡 161
6.5 快速R-CNN 164
6.6 更快的R-CNN 165
第7章 對象定位:基于Python的實現(xiàn) 167
7.1 YOLO方法 167
7.1.1 YOLO工作機制 168
7.1.2 YOLOv2 170
7.1.3 YOLOv3 171
7.1.4 非極大值抑制 171
7.1.5 損失函數(shù) 172
7.2 YOLO在Python和OpenCV中的實現(xiàn) 173
7.2.1 YOLO的Darknet實現(xiàn) 173
7.2.2 應用Darknet測試對象檢測 175
7.3 為特定圖像訓練YOLO模型 180
7.4 本章小結 181
第8章 組織學組織分類 183
8.1 數(shù)據(jù)分析和準備 184
8.2 建立模型 192
8.3 數(shù)據(jù)增強 201
8.3.1 水平和垂直移動 202
8.3.2 垂直翻轉圖像 203
8.3.3 隨機旋轉圖像 204
8.3.4 圖像縮放 205
8.3.5 綜合操作 206
8.4 帶有數(shù)據(jù)增強的VGG16 206
8.4.1 fit()函數(shù) 207
8.4.2 fit_generator()函數(shù) 207
8.4.3 train_on_batch()函數(shù) 208
8.4.4 訓練網絡 208
8.5 現(xiàn)在好好享受 209