總金額: 會員:NT$ 0 非會員:NT$ 0 
(此金額尚未加上運費)
電子電信技術 電腦技術 自動化基礎理論
 
 
 
 
TensorFlow與卷積神經網絡:從算法入門到項目實戰(配件另行下載)
 作  者: 華超
 出版單位: 電子工業
 出版日期: 2019.09
 進貨日期: 2019/9/11
 ISBN: 9787121370786
 開  本: 16 開    
 定  價: 743
 售  價: 446
  會 員 價: 446
推到Facebook 推到Plurk 推到Twitter
前往新書區 書籍介紹 購物流程  
 
編輯推薦:

內容全:包含高維Tensor函數、CNN演算法及TensorFlow實戰等眾多知識

看得懂:透過110多張圖示,讓你快速理解演算法原理

學得會:配有40多個視頻課程,隨時隨地輕鬆學

用得著:包括中文手寫字識別、伺服器移植、iOS移植及Android移植4個案例

有人幫:在讀者交流QQ群裡交流互動,有問必答


內容簡介:

本書從TensorFlow基礎講起,逐步深入TensorFlow進階實戰,最後配合專案實戰案例,重點介紹了實用TensorFlow庫訓練卷積神經網路模型並將模型移植到伺服器端、Android端和iOS端的知識。讀者不但可以系統地學習TensorFlow庫的使用,還能加深對深度卷積神經網路的理解。本書分為4篇,共13章,涵蓋的主要內容有人工智慧發展歷程,TensorFlow基礎入門,高維Tensor物件的工具函數,前饋網路,常見網路,TensorFlow資料存取,TensorFlow資料預處理,TensorFlow模型訓練,TensorBoard視覺化工具,中文手寫字識別,移植模型到TensorFlow Serving端,移植TensorFlow模型到Android端,移植TensorFlow模型到iOS端。


作者簡介:

華超,畢業于武漢大學,碩士研究生,目前任職騰訊研究員,擅長深度卷積神經網路領域。擁有8年的開發經驗,熟悉Android和iOS開發。研究領域為神經網路模型壓縮和移動端模型移植,使移動端能即時運行神經網路模型,已為移動端上線多款即時運行模型。


圖書目錄:

第一篇 TensorFlow基礎篇
第1章 緒論 2
1.1 人工智慧簡介 2
1.2 卷積神經網路 3
1.3 搭建TensorFlow框架環境 5
1.3.1 安裝Anaconda 5
1.3.2 安裝TensorFlow 7
第2章 TensorFlow基礎入門 9
2.1 第一個TensorFlow程式 9
2.1.1 TensorFlow中的hello world 9
2.1.2 TensorFlow中的圖 11
2.1.3 靜態圖與動態圖 14
2.2 初識Session 15
2.2.1 將Session物件關聯Graph物件 15
2.2.2 Session參數配置 17
2.3 常量與變數 18
2.3.1 TensorFlow中的常量 18
2.3.2 TensorFlow中的變數 20
2.3.3 TensorFlow中的tf.placeholder 28
2.4 Tensor物件 29
2.4.1 什麼是Tensor物件 29
2.4.2 Python物件轉Tensor物件 31
2.4.3 Tensor物件轉Python物件 32
2.4.4 SparseTensor物件 34
2.4.5 強制轉換Tensor物件資料類型 35
2.5 Operation物件 37
2.5.1 什麼是Operation物件 37
2.5.2 獲取並執行Operation物件 37
2.6 TensorFlow流程控制 40
2.6.1 條件判斷tf.cond與tf.where 40
2.6.2 TensorFlow比較判斷 43
2.6.3 TensorFlow邏輯運算 44
2.6.4 迴圈tf.while_loop 45
2.7 TensorFlow位運算 48
2.7.1 且位運算 48
2.7.2 或位運算 49
2.7.3 異或位運算 50
2.7.4 取反位運算 51
2.8 TensorFlow字串 52
2.8.1 字串的定義與轉換 53
2.8.2 字串拆分 55
2.8.3 字串拼接 56
第3章 高維Tensor物件的工具函數 58
3.1 重定義Shape 58
3.1.1 Reshape原理 58
3.1.2 函數tf.reshape 59
3.1.3 使用Python實現Reshape 60
3.2 維度交換函數 62
3.2.1 Transpose原理 62
3.2.2 函數tf.transpose 63
3.2.3 使用Python實現Transpose 64
3.3 維度擴充與消除 65
3.3.1 函數tf.expand_dims 65
3.3.2 函數tf.squeeze 66
3.4 Tensor對象裁剪 68
3.4.1 Tensor對象裁剪原理 68
3.4.2 函數tf.slice 69
3.5 Tensor對象拼接 70
3.5.1 Tensor對象拼接原理 70
3.5.2 函數tf.concat使用 71
3.6 tf.stack與tf.unstack 72
3.6.1 函數tf.stack的原理 72
3.6.2 函數tf.stack的使用 73
3.6.3 函數tf.unstack的使用 76
3.7 tf.argmax與tf.argmin 79
3.7.1 函數tf.argmax與tf.argmin的原理 79
3.7.2 函數tf.argmax與tf.argmin的使用 79
第二篇 卷積神經網路篇
第4章 前饋網路 83
4.1 卷積 83
4.1.1 卷積的原理 83
4.1.2 輸出寬高與輸入、Stride、卷積核及Padding之間的關係 90
4.1.3 空洞卷積 92
4.1.4 在TensorFlow中使用卷積 93
4.1.5 用Python語言實現卷積演算法 95
4.2 反卷積 97
4.2.1 反卷積的原理 97
4.2.2 輸出寬高與輸入、Stride、反卷積核及Padding之間的關係 103
4.2.3 在TensorFlow中使用反卷積 105
4.2.4 用Python語言實現反卷積演算法 110
4.3 Batch Normalization 113
4.3.1 Batch Normalization的原理 113
4.3.2 在TensorFlow中使用Batch Normalization 114
4.3.3 用Python語言實現Batch Normalization 122
4.3.4 在TensorFlow中使用Batch Normalization時的注意事項 123
4.4 Instance Normalization 125
4.4.1 Instance Normalization的原理 125
4.4.2 在TensorFlow中使用Instance Normalization 126
4.4.3 用Python語言實現Instance Normalization 130
4.5 全連接層 132
4.5.1 全連接層的原理 132
4.5.2 在TensorFlow中使用全連接層 133
4.5.3 用Python語言實現全連接層 134
4.6 啟動函數 135
4.6.1 啟動函數的作用 135
4.6.2 Sigmoid函數 136
4.6.3 Tanh函數 138
4.6.4 ReLU函數 140
4.7 池化層 142
4.7.1 池化層的原理 142
4.7.2 在TensorFlow中使用池化層 146
4.7.3 用Python語言實現池化層 150
4.8 Dropout 153
4.8.1 Dropout的作用 153
4.8.2 在TensorFlow中使用Dropout 154
第5章 常見網路 156
5.1 移動端定制卷積神經網路──MobileNet 156
5.1.1 MobileNet的原理與優勢 156
5.1.2 在TensorFlow中實現MobileNet卷積 158
5.1.3 用Python語言實現Depthwise卷積 164
5.1.4 MobileNet完整的網路結構 167
5.1.5 MobileNet V2進一步裁剪加速 168
5.2 深度殘差網路──ResNet 171
5.2.1 ResNet的結構與優勢 171
5.2.2 在TensorFlow中實現ResNet 172
5.2.3 完整的ResNet網路結構 175
5.3 DenseNet 176
5.3.1 DenseNet的結構與優勢 176
5.3.2 在TensorFlow中實現DenseNet 177
5.3.3 完整的DenseNet網路結構 180
第三篇 TensorFlow進階篇
第6章 TensorFlow資料存取 183
6.1 佇列 183
6.1.1 構建佇列 183
6.1.2 Queue、QueueRunner及Coordinator 190
6.1.3 在佇列中批量讀取資料 194
6.2 文件存取 200
6.2.1 讀取文字檔 200
6.2.2 讀取定長位元組檔 202
6.2.3 讀取圖片 205
6.3 從CSV文件中讀取訓練集 207
6.3.1 解析CSV格式檔 207
6.3.2 封裝CSV檔讀取類 209
6.4 從自訂文本格式檔中讀取訓練集 210
6.4.1 解析自訂文本格式檔 211
6.4.2 封裝自訂文本格式檔讀取類 212
6.5 TFRecord方式存取資料 213
6.5.1 將資料寫入TFRecord檔 214
6.5.2 從TFRecord檔中讀取資料 215
6.6 模型存取 217
6.6.1 存儲模型 217
6.6.2 從checkpoint檔中載入模型 220
6.6.3 從meta檔中載入模型 222
6.6.4 將模型匯出為單個pb檔 223
第7章 TensorFlow資料預處理 226
7.1 隨機光照變化 226
7.1.1 隨機飽和度變化 226
7.1.2 隨機色相變化 228
7.1.3 隨機對比度變化 230
7.1.4 隨機亮度變化 232
7.1.5 隨機伽瑪變化 234
7.2 翻轉、轉置與旋轉 237
7.2.1 隨機上下、左右翻轉 237
7.2.2 隨機圖像轉置 239
7.2.3 隨機旋轉 241
7.3 裁剪與Resize 245
7.3.1 圖像裁剪 245
7.3.2 圖像Resize 249
7.3.3 其他Resize函數 254
7.4 用OpenCV對圖像進行動態預處理 256
7.4.1 靜態預處理與動態預處理 256
7.4.2 在TensorFlow中調用OpenCV 257
第8章 TensorFlow模型訓練 260
8.1 反向傳播中的優化器與學習率 260
8.1.1 Global Step與Epoch 260
8.1.2 梯度理論 260
8.1.3 使用學習率與梯度下降法求最優值 262
8.1.4 TensorFlow中的優化器 265
8.1.5 優化器中常用的函數 265
8.1.6 在TensorFlow中動態調整學習率 269
8.2 模型資料與參數名稱映射 273
8.2.1 通過名稱映射載入 273
8.2.2 以pickle檔為仲介載入模型 275
8.3 凍結指定參數 277
8.3.1 從模型中載入部分參數 277
8.3.2 指定網路層參數不參與更新 278
8.3.3 兩個學習率同時訓練 280
8.4 TensorFlow中的命名空間 282
8.4.1 使用tf.variable_scope添加名稱首碼 282
8.4.2 使用tf.name_scope添加名稱首碼 284
8.4.3 tf.variable_scope與tf.name_scope的混合使用 285
8.5 TensorFlow多GPU訓練 286
8.5.1 多GPU訓練讀取資料 286
8.5.2 平均梯度與參數更新 289
第9章 TensorBoard視覺化工具 293
9.1 視覺化靜態圖 293
9.1.1 圖結構系列化並寫入檔 293
9.1.2 啟動TensorBoard 294
9.2 圖像顯示 296
9.2.1 系列化圖像Tensor並寫入檔 296
9.2.2 用TensorBoard查看圖像 299
9.3 標量曲線 301
9.3.1 系列化標量Tensor並寫入文件 301
9.3.2 用TensorBoard查看標量曲線 302
9.4 參數長條圖 303
9.4.1 系列化參數Tensor並寫入文件 303
9.4.2 用TensorBoard查看參數長條圖 304
9.5 文本顯示 306
9.5.1 系列化文本Tensor並寫入檔 306
9.5.2 用TensorBoard查看文本 307
第四篇 卷積神經網路實戰篇
第10章 中文手寫字識別 310
10.1 網路結構及資料集 310
10.1.1 網路結構 310
10.1.2 資料集 311
10.2 代碼實現 312
10.2.1 封裝通用網路層 312
10.2.2 定義網路結構 314
10.2.3 資料讀取 316
10.2.4 訓練代碼實現 318
10.3 模型訓練 321
10.4 模型精度測試 321
10.4.1 精度測試 322
10.4.2 代碼實現 322
第11章 移植模型到TensorFlow Serving端 324
11.1 模型轉換 324
11.1.1 轉換模型為TensorFlow Serving模型 324
11.1.2 代碼實現 327
11.2 模型部署 329
11.2.1 搭建TensorFlow Serving環境 329
11.2.2 啟動TensorFlow Serving服務 331
11.3 HTTP服務實現 333
11.3.1 使用gRPC調用TensorFlow Serving服務 333
11.3.2 實現HTTP服務 334
11.4 前端交互實現 336
11.4.1 介面佈局 336
11.4.2 手寫板實現 337
11.4.3 資料交互 339
11.4.4 流程測試 340
第12章 移植TensorFlow模型到Android端 341
12.1 交互介面 341
12.1.1 頁面配置 341
12.1.2 實現手寫板 342
12.2 使用TensorFlow Mobile庫 346
12.2.1 模型轉換 347
12.2.2 模型調用 347
12.2.3 模型測試 351
12.3 使用TensorFlow Lite庫 354
12.3.1 模型轉換 354
12.3.2 模型調用 355
12.3.3 模型測試 360
第13章 移植TensorFlow模型到iOS端 361
13.1 介面佈局 361
13.1.1 頁面配置 361
13.1.2 實現手寫板 362
13.1.3 介面佈局代碼實現 366
13.2 TensorFlow 模型轉CoreML模型 369
13.2.1 模型轉換 369
13.2.2 分析模型物件的調用介面 370
13.3 模型調用 373
13.3.1 實現模型調用 373
13.3.2 模型測試 376


章節試讀:

前言



深度學習在電腦視覺領域取得的巨大成功,使得越來越多的開發人員準備或者正在轉入這個領域。不過這方面大部分的網路資源都是從理論方面講解卷積神經網路中網路層(如卷積、反卷積等)原理的,很少以簡單例子並通過代碼實現的方式介紹。初學者希望能快速理解抽象的理論原理,親自動手設計網路結構並能完成模型的訓練;有一定基礎的人員希望能夠對網路層節點原理有進一步理解。本書從最基礎的內容出發,將實際專案中卷積神經網路用到的大部分函數和原理進行講解並實踐。

初入卷積神經網路領域的人員對高維陣列(Tensor)的相關維度計算操作難以理解,閱讀理論原理後也是一知半解。本書從TensorFlow基礎開始講解,再介紹卷積神經網路,然後介紹TensorFlow的進階內容。在每一個知識點後均會附加示例代碼以加深理解,最後以實際項目“中文手寫字識別”對整本書內容進行綜合運用。不管是初學者還是有一定經驗的深度卷積神經網路開發人員,相信在閱讀完本書後一定會收穫頗豐。

因受作者水準和成書時間所限,書中難免存有疏漏之處,敬請廣大讀者批評指正。

本書特色

1. 內容由淺入深,TensorFlow的使用從基礎到進階

本書內容包含TensorFlow訓練模型期間所用到的大部分函數和場景,也包括通過實例詳細講解的TensorFlow函數和模型訓練技巧,這些都是筆者在實際項目中經驗的提煉。

2. 手寫代碼實現卷積、反卷積等操作,讓抽象的理論更容易理解

本書介紹了卷積神經網路中所使用到的大部分計算節點,並使用Python代碼實現其等價演算法。大部分關於卷積神經網路的資料介紹都過於抽象,往往使得讀者一知半解。本書從實際代碼搭配實際資料例子的角度介紹卷積神經網路,使卷積神經網路簡單化、具體化,讓讀者更容易理解掌握。

3. 手寫代碼實現當前先進的卷積神經網路

大部分官方提供的現代先進的卷積神經網路結構源碼封裝太深,初學者往往需要花費很長時間理解。本書以簡單的代碼引導讀者動手實現先進的網路結構,?明讀者理解。

4. 實現手寫漢字識別,並移植到伺服器端和移動端

運用本書知識點,帶領讀者完成了中文手寫字識別模型訓練。完成模型訓練後最重要的事情是投入平臺使用,本書介紹了將模型移植到伺服器端、Android端和iOS端的詳細操作,基本涵蓋所有的實際部署平臺。

本書內容及體系結構

本書分為4篇,共13章內容,包括TensorFlow基礎篇、卷積神經網路篇、TensorFlow進階篇及卷積神經網路實戰篇。

第1章 緒論

人工智慧在自然語言處理和電腦視覺等領域中,都取得了重大突破。本章介紹人工智慧發展史和TensorFlow等的安裝。

第2章 TensorFlow基礎入門

本章涵蓋了TensorFlow框架的數值計算的基本使用方法,主要包括TensorFlow中的圖的概念,TensorFlow中的Tensor物件,TensorFlow中的常量與變數,TensorFlow中的流程控制,TensorFlow中的位元運算及TensorFlow中的字串處理等基礎主題。

第3章 高維Tensor物件的工具函數

對於一維、二維和三維陣列我們比較容易理解,但是一旦資料的維度上升到四維甚至更高維度時,往往比較抽象。在本章中,我們學習高維Tensor物件常用的操作函數。

第4章 前饋網路

前饋網路不需要關心梯度和參數更新問題,只需關心輸入、輸出和當前節點的參數。相比反向傳播,前饋網路(也稱為前向網路)更容易理解。本章我們介紹前饋網路計算的各個常見網路層原理,以及使用TensorFlow框架實現各個層的方法,並且同時使用Python代碼實現。

第5章 常見網路

近年來,卷積神經網路經歷了高速發展。相關研究人員開發了一些擁有高效、快速及易收斂等特性的卷積神經網路結構,如MobileNet、ResNet、DenseNet等。本章就來學習這些常用的網路結構,以及這些網路的優勢與運用。

第6章 TensorFlow資料存取

本章學習資料的存取方法,包括訓練集資料和模型資料的存取。

第7章 TensorFlow資料預處理

在讀取圖片資料後,通過對圖片做隨機光線變化、隨機裁剪、隨機旋轉等預處理操作可以擴充訓練集。本章學習使用TensorFlow框架中的影像處理函數,以及在TensorFlow框架中調用OpenCV介面的方法。

第8章 TensorFlow模型訓練

使用TensorFlow模型訓練需要掌握一些常見功能的實現,本章主要介紹在模型訓練過程中需要掌握的內容。

第9章 TensorBoard視覺化工具

在模型訓練過程中,可以借助TensorBoard視覺化工具對誤差值loss的變化曲線、學習率變化曲線、參數變數變化及圖像中間結果等實現視覺化監控。本章就來介紹在卷積神經網路中常用的TensorBoard內置功能。

第10章 中文手寫字識別

本章以中文手寫字識別項目來綜合使用前面章節的內容。中文手寫字識別也可以看成一個分類問題,即識別出輸入圖像所屬的分類,每一種分類對應一個漢字。

第11章 移植模型到TensorFlow Serving端

本章學習將訓練保存的模型轉為伺服器端可執行的模型,在伺服器端部署模型及其代碼實現,並且提供一個HTTP服務介面,實現手寫字識別。

第12章 移植TensorFlow模型到Android端

本章分別介紹使用TensorFlow Mobile和TensorFlow Lite庫將TensorFlow 模型移植到Android端的方法。

第13章 移植TensorFlow模型到iOS端

本章介紹將TensorFlow模型轉為CoreML模型,並部署到iOS端使用的方法。

本書讀者對象

• Python程式師。

• 卷積神經網路愛好者。

• TensorFlow程式設計人員。

• 人工智慧開發人員。

• 機器學習相關人員。

 
  步驟一.
依據網路上的圖書,挑選你所需要的書籍,根據以下步驟進行訂購
選擇產品及數量 結 帳 輸入基本資料 取貨與付款方式
┌───────────────────────────────────────────────────┘
資料確定 確認結帳 訂單編號    

步驟二.
完成付款的程序後,若採用貨到付款等宅配方式,3~7天內 ( 例假日將延期一至兩天 ) 您即可收到圖書。若至分店門市取貨,一週內聯絡取書。

步驟三.
完成購書程序者,可利用 訂單查詢 得知訂單進度。

注意事項.
● 付款方式若為網路刷卡必須等" 2 ~ 3 個工作天"確認款項已收到,才會出貨.如有更改書籍數量請記得按更新購物車,謝謝。

● 大陸出版品封面老舊、磨痕、凹痕等均屬常態,除封面破損、內頁脫落...等較嚴重的狀態外,其餘所有商品將正常出貨。

● 至2018年起,因中國大陸環保政策,部分書籍配件以QR CODE取代光盤音頻mp3或dvd,已無提供實體光盤。如需使用學習配件,請掃描QR CODE 連結至當地網站註冊並通過驗證程序,方可下載使用。造成不便,敬請見諒。

● 我們將保留所有商品出貨權利,如遇缺書情形,訂單未達免運門檻運費需自行負擔。

預訂海外庫存.
商品到貨時間須4週,訂單書籍備齊後方能出貨,如果您有急用書籍,建議與【預訂海外庫存】商品分開訂購。