TensorFlow 深度學習應用實踐 TensorFlow深度学习应用实践

王曉華

立即出貨 (庫存 < 3)

買這商品的人也買了...

商品描述

本書總的指導思想是在掌握深度學習的基本知識和特性的基礎上,培養使用TensorFlow進行實際編程以解決圖像處理相關問題的能力。全書力求深入淺出,通過通俗易懂的語言和詳細的程序分析,介紹TensorFlow的基本用法、高級模型設計和對應的程序編寫。
本書共22章,內容包括Python類庫的安裝和使用、TensorFlow基本數據結構和使用、TensorFlow數據集的創建與讀取、人工神經網絡、反饋神經網絡、全捲積神經網絡的理論基礎、深度學習模型的創建、模型的特性、算法、ResNet、Slim、GAN等。本書強調理論聯系實際,重點介紹TensorFlow編程解決圖像識別的應用,提供了大量數據集,並以代碼的形式實現了深度學習模型,以供讀者參考。
本書既可作為學習人工神經網絡、深度學習、TensorFlow程序設計以及圖像處理等相關內容的程序設計人員培訓和自學用書,也可作為高等院校和培訓機構相關專業的教材。

海報:

作者簡介

王曉華,高校資深計算機專業講師,給研究生和本科生講授面向對象程序設計、數據結構、Hadoop程序設計等相關課程。主要研究方向為雲計算、數據挖掘。曾主持和參與多項國家和省級科研課題,獨立完成一項科研成果獲省級成果認定,發表過多篇論文,申請有一項專利。著有《Spark MLlib機器學習實踐》等圖書。

目錄大綱

第1章星星之火1 
1.1計算機視覺與深度學習1 
1.1.1人類視覺神經的啟迪2 
1.1.2計算機視覺的難點與人工神經網絡3 
1.1.3應用深度學習解決計算機視覺問題4 
1.2計算機視覺學習的基礎與研究方向5 
1.2.1學習計算機視覺結構圖5 
1.2.2計算機視覺的學習方式和未來趨勢6 
1.3本章小結7 

第2章Python的安裝與使用8 
2.1 Python基本安裝和用法8 
2.1 .1 Anaconda的下載與安裝9 
2.1.2 Python編譯器PyCharm的安裝12 
2.1.3使用Python計算softmax函數16 
2.2 Python常用類庫中的threading 17 
2.2.1 threading庫的使用18 
2.2.2 threading模塊中最重要的Thread類18 
2.2.3 threading中的Lock類19 
2.2.4 threading中的join類20 
2.3本章小結21 

第3章深度學習的理論基礎——機器學習22 
3.1機器學習基本分類22 
3.1.1基於學科的分類22
3.1.2基於學習模式的分類23 
3.1.3基於應用領域的分類23 
3.2機器學習基本算法24 
3.2.1機器學習的算法流程24 
3.2.2基本算法的分類25 
3.3算法的理論基礎26 
3.3.1小學生的故事——求圓的面積27 
3.3.2機器學習基礎理論——函數逼近27 
3.4回歸算法29 
3.4.1函數逼近經典算法——線性回歸29 
3.4.2線性回歸的姐妹——邏輯回歸31 
3.5機器學習的其他算法——決策樹32 
3.5.1水晶球的秘密32 
3.5.2決策樹的算法基礎——信息熵33 
3.5.3決策樹的算法基礎——ID3算法34 
3.6本章小結35 

第4章Python類庫的使用——數據處理及可視化展示37 
4.1從小例子起步——NumPy的初步使用37 
4.1.1數據的矩陣化37 
4.1.2數據分析39 
4.1.3基於統計分析的數據處理40 
4.2圖形化數據處理——Matplotlib包使用41 
4.2.1差異的可視化41 
4.2.2坐標圖的展示42 
4.2.3玩個大的44 
4.3深度學習理論方法——相似度計算46
4.3.1基於歐幾里得距離的相似度計算46 
4.3.2基於餘弦角度的相似度計算47 
4.3.3歐幾里得相似度與餘弦相似度的比較48 
4.4數據的統計學可視化展示49 
4.4 .1數據的四分位49 
4.4.2數據的四分位示例50 
4.4.3數據的標準化53 
4.4.4數據的平行化處理55 
4.4.5熱點圖——屬性相關性檢測57 
4.5 Python實戰— —某地降水的關係處理58 
4.5.1不同年份的相同月份統計58 
4.5.2不同月份之間的增減程度比較59 
4.5.3每月降水不相關嗎60 
4.6本章小結61 

第5章OpenCV的基礎使用62 
5.1 OpenCV基本的圖片讀取62 
5.1.1基本的圖片存儲格式62 
5.1.2圖像的讀取與存儲64 
5.1.3圖像的轉換65 
5.1.4使用NumPy模塊對圖像進行編輯66 
5.2 OpenCV的捲積核處理68 
5.2.1計算機視覺的三種不同色彩空間68 
5.2.2卷積核與圖像特徵提取68 
5.2.3卷積核進階70 
5.3本章小結72 

第6章OpenCV與TensorFlow的融合73
6.1圖片的自由縮放以及邊緣裁剪73 
6.1.1圖像的擴縮裁挖73 
6.1.2圖像色調的調整74 
6.1.3圖像的旋轉、平移和翻轉76 
6.2使用OpenCV擴大圖像數據庫77 
6.2.1圖像的隨機裁剪77 
6.2.2圖像的隨機旋轉變換78 
6.2.3圖像色彩的隨機變換79 
6.2.4對鼠標的監控80 
6.3本章小結81 

第7章Let's play TensorFlow 82 
7.1 TensorFlow遊樂場82 
7.1.1 I want to play a game 82 
7.1.2 TensorFlow遊樂場背後的故事86 
7.1.3如何訓練神經網絡88 
7.2初識Hello TensorFlow 89 
7.2.1 TensorFlow名稱的解釋89 
7.2.2 TensorFlow基本概念89 
7.2.3 TensorFlow基本架構92 
7.3本章小結93 

第8章Hello TensorFlow,從0到1 94 
8.1 TensorFlow的安裝94 
8.2 TensorFlow常量、變量和數據類型96 
8.3 TensorFlow矩陣計算100 
8.4 Hello TensorFlow 102
8.5本章小結107 

第9章TensorFlow重要算法基礎108 
9.1 BP神經網絡簡介108 
9.2 BP神經網絡中的兩個基礎算法110 
9.2.1最小二乘法(LS算法)詳解111 
9.2.2道士下山的故事——梯度下降算法113 
9.3 TensorFlow實戰——房屋價格的計算116 
9.3.1數據收集117 
9.3.2模型的建立與計算117 
9.3.3 TensorFlow程序設計119 
9.4反饋神經網絡反向傳播算法121 
9.4.1深度學習基礎121 
9.4.2鍊式求導法則122 
9.4.3反饋神經網絡原理與公式推導124 
9.4.4反饋神經網絡原理的激活函數129 
9.4.5反饋神經網絡原理的Python實現130 
9.5本章小結136 

第10章TensorFlow數據的生成與讀取詳解137 
10.1 TensorFlow的隊列137 
10.1.1隊列的創建137 
10.1.2線程同步與停止141 
10.1.3隊列中數據的讀取142 
10.2 CSV文件的創建與讀取143 
10.2 .1 CSV文件的創建143 
10.2.2 CSV文件的讀取144
10.3 TensorFlow文件的創建與讀取146 
10.3.1 TFRecords文件的創建146 
10.3.2 TFRecords文件的讀取149 
10.3.3圖片文件的創建與讀取150 
10.4本章小結155 

第11章回歸分析——從TensorFlow陷阱與細節開始156 
11.1 TensorFlow線性回歸156 
11.1.1線性回歸詳解與編程實戰157 
11.1.2線性回歸編程中的陷阱與細節設計159 
11.1.3 TensorFlow多元線性回歸163 
11.2多元線性回歸實戰編程166 
11.2. 1多元線性回歸實戰的編程——房屋價格計算166 
11.2.2多元線性回歸實戰的推廣——數據的矩陣化168 
11.3邏輯回歸詳解174 
11.3.1邏輯回歸不是回歸算法174 
11.3.2常用的邏輯回歸特徵變化與結果轉換175 
11.3.3邏輯回歸的損失函數176 
11.3.4邏輯回歸編程實戰——胃癌的轉移判斷178 
11.4本章小結181 

第12章TensorFlow編程實戰——MNIST手寫體識別183 
12.1 MNIST數據集183 
12.1.1 MNIST是什麼183 
12.1.2 MNIST數據集的特徵和標籤185
12.2 MNIST數據集實戰編程187 
12.2.1 softmax激活函數187 
12.2.2 MNIST編程實戰189 
12.2.3為了更高的準確率192 
12.2.4增加更多的深度193 
12.3初識卷積神經網絡195 
12.3. 1卷積神經網絡196 
12.3.2卷積神經網絡的程序編寫196 
12.3.3多層卷積神經網絡的程序編寫199 
12.4本章小結201 

第13章卷積神經網絡原理202 
13.1卷積運算基本概念202 
13.1.1卷積運算203 
13.1.2 TensorFlow中卷積函數實現詳解204 
13.1.3使用卷積函數對圖像感興趣區域進行標註208 
13.1.4池化運算210 
13.1.5使用池化運算加強卷積特徵提取212 
13.2卷積神經網絡的結構詳解213 
13.2.1卷積神經網絡原理213 
13.2.2卷積神經網絡的應用實例——LeNet5網絡結構216 
13.2.3卷積神經網絡的訓練218 
13.3 TensorFlow實現LeNet實例219 
13.3.1 LeNet模型分解219 
13.3.2使用ReLU激活函數代替sigmoid 223 
13.3.3程序的重構——模塊化設計227
13.3.4卷積核和隱藏層參數的修改231 
13.4本章小結237 

第14章卷積神經網絡公式推導與應用238 
14.1反饋神經網絡算法238 
14.1.1經典反饋神經網絡正向與反向傳播公式推導238 
14.1.2卷積神經網絡正向與反向傳播公式推導241 
14.2使用卷積神經網絡分辨CIFAR-10數據集249 
14.2.1 CIFAR-10數據集下載與介紹249 
14.2.2 CIFAR-10模型的構建與數據處理251 
14.2.3 CIFAR-10模型的細節描述與參數重構260 
14.3本章小結261 

第15章貓狗大戰——實戰AlexNet 262 
15.1 AlexNet簡介263 
15.1.1 AlexNet模型解讀263 
15.1.2 AlexNet程序的實現266 
15.2實戰貓狗大戰——AlexNet模型270 
15.2.1數據的收集與處理271 
15.2.2模型的訓練與存儲276 
15.2.3使用訓練過的模型預測圖片281 
15.2.4使用Batch_Normalization正則化處理數據集288 
15.3本章小結297 

第16章我們都愛Finetuning——復用VGG16進行貓狗大戰298 
16.1 TensorFlow模型保存與恢復詳解298
16.1.1 TensorFlow保存和恢復函數的使用298 
16.1.2多次模型的保存和恢復299 
16.1.3實戰TensorFlow模型的存儲與恢復300 
16.2更為細化的保存和恢復方法304 
16.2.1存儲文件的解讀304 
16.2.2更細節地對模型進行恢復和處理305 
16.3 VGGNet實現309 
16.3.1 VGGNet模型解讀及與AlexNet比較309 
16.3.2 VGGNet模型的TensorFlow實現311 
16.4使用已訓練好的模型和權重複現VGGNet 315 
16.4.1 npz文件的讀取316 
16.4.2復用的VGGNet模型定義317 
16.4.3保存復用的VGGNet模型為TensorFlow格式323 
16.5貓狗大戰V2—— Finetuning使用VGGNet進行圖像判斷324 
16.5. 1 Finetuning基本理解324 
16.5.2貓狗大戰——Finetuning使用VGGNet 326 
16.6本章小結336 

第17章開始找工作吧——深度學習常用面試問題答疑337 
17.1深度學習面試常用問題答疑337 
17.1.1如何降低過擬合338 
17.1.2全連接層詳解342 
17.1.3激活函數起作用的原因342
17.1.4卷積後的圖像大小343 
17.1.5池化層的作用343 
17.1.6為什麼在最後分類時使用softmax而不是傳統的SVM 343 
17.2卷積神經網絡調優面試問答匯總343 
17.2.1數據集的注意事項343 
17.2.2卷積模型訓練的注意事項344 
17.3 NIN模型介紹344 
17.3.1 NIN模型簡介344 
17.3.2貓狗大戰——NIN的代碼實現345 
17.4 “deeper is better”——GoogLeNet模型介紹350 
17.4.1 GoogLeNet模型的介紹350 
17.4.2 GoogLeNet模型單元的TensorFlow實現352 
17.4.3 GoogLeNet模型的一些注意事項354 
17.5本章小結355 

第18章暫時的冠軍——ResNet簡介及TensorFlow實現356 
18.1 ResNet模型簡介356 
18.1.1 ResNet模型定義357 
18.1.2定義工具的TensorFlow實現359 
18.1.3 ResNet模型的TensorFlow實現360 
18.2新興的捲積神經模型簡介362 
18.2.1 SqueezeNet模型簡介362 
18.2.2 Xception模型簡介365
18.3本章小結366 

第19章TensorFlow高級API—— Slim使用入門368 
19.1 Slim詳解368 
19.2 Slim使用方法介紹369 
19.2.1 Slim中變量使用方法介紹369 
19.2.2 Slim中層的使用方法介紹373 
19.2.3 Slim中參數空間使用方法介紹375 
19.3實戰——使用Slim定義VGG16 377 
19.3.1 VGG16結構圖和TensorFlow定義377 
19.3.2使用Slim創建VGG16並訓練379 
19.4實戰——使用Slim設計多層感知器(MLP) 382 
19.4.1 MLP的Slim實現383 
19.4.2 MLP模型的評估392 
19.5 Slim數據讀取方式394 
19.5.1 Slim數據讀取格式394 
19.5.2生成TFRecords格式數據395 
19.5.3使用Slim讀取TFRecords格式數據398 
19.6本章小結399 

第20章Slim使用進階400 
20.1使用Slim創建卷積神經網絡(CNN) 400 
20.1.1數據集獲取400 
20.1.2創建卷積神經網絡403 
20.1.3訓練Slim創建的捲積網絡405
20.2使用Slim預訓練模型進行Finetuning 407 
20.2.1 Inception-ResNet-v2模型簡介407 
20.2.2使用Inception-ResNet-v2預訓練模型參數408 
20.2.3修改Inception-ResNet-v2預訓練模型輸出層級415 
20.3本章小結419 

第21章全卷積神經網絡圖像分割入門420 
21.1全卷積神經網絡進行圖像分割的理論基礎420 
21.1.1全連接層和全卷積層421 
21.1.2反捲積(upsampling)計算423 
21.2全卷積神經網絡進行圖像分割的分步流程與編程基礎425 
21.2.1使用VGG16進行圖像識別425 
21.2.2上採樣(upsampling)詳解428 
21.2.3一種常用的捲積核——雙線插值430 
21.2.4實戰——使用VGG16全卷積網絡進行圖像分割434 
21.3本章小結438 

第22章不服就是GAN——對抗生成網絡439 
22.1對抗生成網絡詳解439 
22.1.1 GAN的基本原理介紹440 
22.1.2簡單GAN的TensorFlow實現443 
22.2從0到1——實戰:使用GAN生成手寫體數字449 
22.2.1分步驟簡介450 
22.2.2 GAN網絡的訓練45 5
22.3 本章小結458