TensorFlow是Google所主導的機器學習框架,也是機器學習領域研究和應用的熱門對象。
本書主要介紹如何通過TensorFlow來構建真實世界的機器學習系統(tǒng),旨在讓讀者學以致用,能盡快地上手項目。本書的特色是通過實例來向讀者介紹TensorFlow的經(jīng)典知識。本書共有12章,包含手寫識別器、貓狗分類器、翻譯器、文本含義查找、金融中的機器學習、醫(yī)療應用等多個實例,完整地向讀者展示了實現(xiàn)機器學習應用的全流程。
本書適合想要學習、了解TensorFlow和機器學習的讀者閱讀。如果讀者知道基本的機器學習概念,并對Python語言有一定的了解,那么能夠更加輕松地閱讀本書。
谷歌的TensorFlow使機器學習比以往任何時候都更快、更簡單、更易于使用。本書將教你如何憑借Python和TensorFlow的強大功能輕松開啟機器學習之旅。
首先,你將了解TensorFlow的基本安裝過程,并探索其強大功能。接下來,你將訓練和運行自己的第一個分類器,并通過解決來自多個行業(yè)的問題來了解TensorBoard庫的特性,包括數(shù)據(jù)流圖、訓練和性能可視化。此外,你還將進一步探索文本和圖像分析,并了解CNN模型及其在TensorFlow中的設置。然后,通過訓練一個深度學習模型并利用其提供的服務,你將實現(xiàn)一個完整的真實生產系統(tǒng)。隨著學習的深入,你還將了解亞馬遜Web服務(AWS),并創(chuàng)建一個深度神經(jīng)網(wǎng)絡來解決視頻動作識別問題。最后,你將把Caffe模型轉換為TensorFlow,并學習高級TensorFlow庫——TensorFlow-Slim。
本書包含以下內容:
? 探索如何使用不同的機器學習模型來處理數(shù)據(jù);
? 學習如何使用TensorFlow構建深度神經(jīng)網(wǎng)絡;
·了解如何使用TensorFlow解決關鍵任務,比如聚類、情感分析和回歸分析;
·掌握如何編寫簡潔優(yōu)雅的Python代碼來優(yōu)化算法;
·了解如何在Web應用中嵌入機器學習模型以提高可訪問性;
·學習如何通過AWS利用多個GPU加快訓練過程。
全華是BodiData(一個身體測量數(shù)據(jù)平臺)的一位計算機視覺和機器學習工程師,專注于為某種手持技術開發(fā)計算機視覺和機器學習應用。
沙姆斯?烏爾?阿齊姆畢業(yè)于巴基斯坦國立科技大學電氣工程專業(yè)。他目前從事醫(yī)療相關的項目。
西福?艾哈邁德是一位經(jīng)驗豐富的量化分析師,同時也是一位擁有15年行業(yè)經(jīng)驗的數(shù)據(jù)科學家。
目錄
第 1章 初識TensorFlow 1
1.1 當前應用 2
1.2 安裝TensorFlow 2
1.2.1 Ubuntu安裝 2
1.2.2 macOS安裝 4
1.2.3 Windows安裝 5
1.2.4 創(chuàng)建虛擬機 8
1.2.5 測試安裝 13
1.3 總結 14
第 2章 你的第 一個分類器 15
2.1 關鍵部分 15
2.2 獲取訓練數(shù)據(jù) 16
2.3 下載訓練數(shù)據(jù) 16
2.4 理解分類 17
2.5 其他設置 19
2.6 邏輯停止點 23
2.7 機器學習公文包 23
2.8 訓練日 27
2.9 保存模型以供持續(xù)使用 30
2.10 為什么隱藏測試集 31
2.11 使用分類器 31
2.12 深入研究網(wǎng)絡 32
2.13 所學技能 32
2.14 總結 33
第3章 TensorFlow工具箱 34
3.1 快速預覽TensorBoard 35
3.2 安裝TensorBoard 37
3.2.1 嵌入鉤子(hook)到代碼中 38
3.2.2 AlexNet 42
3.3 自動化運行 44
3.4 總結 45
第4章 貓和狗 46
4.1 回顧notMNIST 46
4.1.1 程序配置 47
4.1.2 理解卷積神經(jīng)網(wǎng)絡 48
4.1.3 回顧配置 52
4.1.4 構造卷積神經(jīng)網(wǎng)絡 52
4.1.5 實現(xiàn) 56
4.2 訓練日 57
4.3 真實的貓和狗 59
4.4 保存模型以供持續(xù)使用 63
4.5 使用分類器 64
4.6 所學技能 65
4.7 總結 65
第5章 序列到序列模型—— 你講法語嗎 66
5.1 快速預覽 66
5.2 大量信息 68
5.3 訓練日 73
5.4 總結 81
第6章 探索文本含義 82
6.1 額外設置 83
6.2 所學技能 96
6.3 總結 97
第7章 利用機器學習賺錢 98
7.1 輸入和方法 98
7.2 處理問題 101
7.2.1 下載和修改數(shù)據(jù) 102
7.2.2 查看數(shù)據(jù) 103
7.2.3 提取特征 105
7.2.4 準備訓練和測試 106
7.2.5 構建網(wǎng)絡 106
7.2.6 訓練 107
7.2.7 測試 108
7.3 更進一步 108
7.4 個人的實際考慮 108
7.5 所學技能 109
7.6 總結 110
第8章 醫(yī)療應用 111
8.1 挑戰(zhàn) 112
8.2 數(shù)據(jù) 114
8.3 管道 114
8.3.1 理解管道 115
8.3.2 準備數(shù)據(jù)集 116
8.3.3 解釋數(shù)據(jù)準備 118
8.3.4 訓練流程 129
8.3.5 驗證流程 129
8.3.6 利用TensorBoard可視化訓練過程 130
8.4 更進一步 133
8.4.1 其他醫(yī)療數(shù)據(jù)挑戰(zhàn) 133
8.4.2 ISBI大挑戰(zhàn) 133
8.4.3 讀取醫(yī)療數(shù)據(jù) 134
8.5 所學技能 138
8.6 總結 139
第9章 生產系統(tǒng)自動化 140
9.1 系統(tǒng)概述 140
9.2 創(chuàng)建項目 141
9.3 加載預訓練模型以加速訓練 142
9.4 為數(shù)據(jù)集訓練模型 148
9.4.1 Oxford-IIIT寵物數(shù)據(jù)集介紹 149
9.4.2 為訓練和測試創(chuàng)建輸入管道 154
9.4.3 定義模型 158
9.4.4 定義訓練操作 158
9.4.5 執(zhí)行訓練過程 160
9.4.6 導出模型以用于生產 163
9.5 在生產中利用模型提供服務 165
9.5.1 設置TensorFlow Serving 166
9.5.2 運行和測試模型 167
9.5.3 設計Web服務器 169
9.6 在生產中自動化微調 170
9.6.1 加載用戶標記的數(shù)據(jù) 170
9.6.2 對模型進行微調 173
9.6.3 創(chuàng)建每天運行的cronjob 179
9.7 總結 179
第 10章 系統(tǒng)上線 180
10.1 快速瀏覽亞馬遜Web服務 180
10.1.1 P2實例 181
10.1.2 G2實例 181
10.1.3 F1實例 181
10.1.4 定價 182
10.2 應用程序概述 183
10.2.1 數(shù)據(jù)集 183
10.2.2 準備數(shù)據(jù)集和輸入管道 184
10.2.3 神經(jīng)網(wǎng)絡架構 192
10.2.4 單GPU訓練流程 197
10.2.5 多GPU訓練流程 202
10.3 Mechanical Turk概覽 209
10.4 總結 210
第 11章 更進一步—— 21個課題 211
11.1 數(shù)據(jù)集和挑戰(zhàn)賽 211
11.1.1 課題1:ImageNet數(shù)據(jù)集 211
11.1.2 課題2:COCO數(shù)據(jù)集 212
11.1.3 課題3:Open Images數(shù)據(jù)集 212
11.1.4 課題4:YouTube-8M數(shù)據(jù)集 212
11.1.5 課題5:AudioSet數(shù)據(jù)集 212
11.1.6 課題6:LSUN挑戰(zhàn)賽 213
11.1.7 課題7:MegaFace數(shù)據(jù)集 213
11.1.8 課題8:Data Science Bowl 2017挑戰(zhàn)賽 213
11.1.9 課題9:星際爭霸游戲數(shù)據(jù)集 213
11.2 TensorFlow項目 214
11.2.1 課題10:人體姿態(tài)估計 214
11.2.2 課題11:對象檢測——YOLO 214
11.2.3 課題12:對象檢測——Faster RCNN 214
11.2.4 課題13:人體檢測——Tensorbox 214
11.2.5 課題14:Magenta 215
11.2.6 課題15:WaveNet 215
11.2.7 課題16:Deep Speech 215
11.3 有趣的項目 215
11.3.1 課題17:交互式深度著色—— iDeepColor 215
11.3.2 課題18:Tiny人臉檢測器 215
11.3.3 課題19:人體搜索 216
11.3.4 課題20:人臉識別——MobileID 216
11.3.5 課題21:問題回答——DrQA 216
11.4 Caffe轉TensorFlow 216
11.5 TensorFlow-Slim 222
11.6 總結 222
第 12章 高級安裝 223
12.1 安裝 223
12.1.1 安裝Nvidia驅動程序 224
12.1.2 安裝CUDA工具箱 226
12.1.3 安裝cuDNN 229
12.1.4 安裝TensorFlow 230
12.1.5 驗證支持GPU的TensorFlow 231
12.2 利用Anaconda管理TensorFlow 231
12.3 總結 234