本書總的指導思想是在掌握深度學習的基本知識和特性的基礎上,培養使用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