TensorFlow程式設計

TensorFlow程式設計

《TensorFlow程式設計電子》是工業出版社出版的圖書,作者是馬斌,馮嶺。

本書是一本面向廣大深度學習愛好者和開發者的實用教程,它旨在幫助讀者快速掌握TensorFlow 的使用方法和深度學習的核心技術。

基本介紹

  • 中文名:TensorFlow程式設計
  • 作者:馬斌,馮嶺
  • 出版時間:2024年9月
  • 出版社:電子工業出版社
  • 頁數:192 頁
  • 字數:277千
  • ISBN:9787121486661
  • 定價:60 元
  • 開本:16 開
內容簡介,圖書目錄,前言,

內容簡介

本書全面介紹TensorFlow 2.x 框架及其在深度學習中的套用,內容包括TensorFlow 簡介、Python 語 言基礎、環境搭建與入門、TensorBoard 可視化、多層感知機實現、卷積神經網路實現、循環神經網路實 現、強化學習、遷移學習、生成對抗網路和GPU 並行計算等。

圖書目錄

第1 章 TensorFlow 簡介 ·············································································.1
1.1 人工智慧的編程框架 ................................................................................................. 1
1.1.1 人工智慧的發展 ............................................................................................. 1
1.1.2 人工智慧、機器學習和深度學習之間的關係 ............................................. 2
1.2 TensorFlow 與人工智慧 ............................................................................................ 3
1.3 TensorFlow 數據模型 ................................................................................................ 4
1.4 TensorFlow 計算模型和運行模型 ............................................................................ 5
1.5 實驗:矩陣運算 ......................................................................................................... 9
1.5.1 實驗目的 ......................................................................................................... 9
1.5.2 實驗要求 ......................................................................................................... 9
1.5.3 實驗原理 ......................................................................................................... 9
1.5.4 實驗步驟 ....................................................................................................... 10
習題 .................................................................................................................................... 10
第2 章 Python 語言基礎 ············································································.11
2.1 Python 語言 ............................................................................................................... 11
2.1.1 Python 語言的發展 ....................................................................................... 11
2.1.2 Python 安裝 ................................................................................................... 12
2.2 基礎語法 ................................................................................................................... 13
2.2.1 基礎知識 ....................................................................................................... 13
2.2.2 基本程式編寫 ............................................................................................... 15
2.2.3 條件語句 ....................................................................................................... 16
2.2.4 循環語句 ....................................................................................................... 17
2.3 數據結構 ................................................................................................................... 18
2.4 面向對象特性 ........................................................................................................... 21
2.4.1 類和對象 ....................................................................................................... 21
2.4.2 類的定義 ....................................................................................................... 22
2.4.3 根據類創建對象 ........................................................................................... 22
2.4.4 構造方法與析構方法 ................................................................................... 23
2.5 其他高級特性 ........................................................................................................... 24
2.5.1 函式高級特性 ............................................................................................... 24
2.5.2 閉包 ............................................................................................................... 25
2.6 實驗:Python 基本語法的實現 ............................................................................... 26
2.6.1 實驗目的 ....................................................................................................... 26
2.6.2 實驗要求 ....................................................................................................... 26
2.6.3 實驗題目 ....................................................................................................... 26
2.6.4 實驗步驟 ....................................................................................................... 27
習題 .................................................................................................................................... 28
第3 章 環境搭建與入門 ·············································································.30
3.1 開發平台簡介 ........................................................................................................... 30
3.2 開發環境部署 ........................................................................................................... 30
3.2.1 安裝Anaconda .............................................................................................. 30
3.2.2 安裝TensorFlow ........................................................................................... 32
3.2.3 PyCharm 下載與安裝 ................................................................................... 32
3.3 一個簡單的實例 ....................................................................................................... 34
習題 .................................................................................................................................... 36
第4 章 TensorBoard 可視化 ········································································.37
4.1 什麼是TensorBoard.................................................................................................. 37
4.2 基本流程與結構 ....................................................................................................... 37
4.3 圖表的可視化 ........................................................................................................... 39
4.3.1 計算圖和會話 ............................................................................................... 39
4.3.2 可視化過程 ................................................................................................... 40
4.4 監控指標的可視化 ................................................................................................... 41
4.4.1 Scalar ............................................................................................................. 41
4.4.2 Images ........................................................................................................... 41
4.4.3 Histogram ...................................................................................................... 41
4.4.4 Merge_all....................................................................................................... 42
4.5 學習過程的可視化 ................................................................................................... 42
4.5.1 數據序列化 ................................................................................................... 43
4.5.2 啟動TensorBoard ......................................................................................... 43
4.6 實驗:TensorBoard 可視化實現 .............................................................................. 44
4.6.1 實驗目的 ....................................................................................................... 44
4.6.2 實驗要求 ....................................................................................................... 44
4.6.3 實驗原理 ....................................................................................................... 45
4.6.4 實驗步驟 ....................................................................................................... 45
習題 .................................................................................................................................... 49
第5 章 多層感知機實現 ·············································································.50
5.1 感知機 ....................................................................................................................... 50
5.1.1 感知機的定義 ............................................................................................... 50
5.1.2 感知機的神經元模型 ................................................................................... 51
5.1.3 感知機的學習算法 ....................................................................................... 51
5.1.4 感知機的性質 ............................................................................................... 52
5.2 多層感知機與前向傳播 ........................................................................................... 53
5.2.1 多層感知機基本結構 ................................................................................... 53
5.2.2 多層感知機的特點 ....................................................................................... 54
5.3 前向傳播 ................................................................................................................... 55
5.3.1 前向傳播的計算過程 ................................................................................... 55
5.3.2 前向傳播算法 ............................................................................................... 57
5.4 梯度下降 ................................................................................................................... 57
5.4.1 梯度 ............................................................................................................... 57
5.4.2 梯度下降的直觀解釋 ................................................................................... 58
5.4.3 梯度下降法的相關概念 ............................................................................... 58
5.4.4 梯度下降法的數學描述 ............................................................................... 59
5.4.5 梯度下降法的算法調優 ............................................................................... 60
5.4.6 常見的梯度下降法 ....................................................................................... 60
5.5 反向傳播 ................................................................................................................... 61
5.5.1 反向傳播算法要解決的問題 ....................................................................... 61
5.5.2 反向傳播算法的基本思路 ........................................................................... 61
5.5.3 反向傳播算法的流程 ................................................................................... 63
5.6 數據集 ....................................................................................................................... 64
5.6.1 訓練集、測試集和驗證集 ........................................................................... 64
5.6.2 MNIST 數據集 ............................................................................................. 64
5.7 多層感知機的實現 ................................................................................................... 66
5.7.1 NumPy 多層感知機的實現 .......................................................................... 66
5.7.2 TensorFlow 多層感知機的實現 ................................................................... 69
5.8 實驗:基於Keras 多層感知機的MNIST 手寫數字識別 ...................................... 72
5.8.1 Keras 簡介 ..................................................................................................... 72
5.8.2 實驗目的 ....................................................................................................... 73
5.8.3 實驗要求 ....................................................................................................... 73
5.8.4 實驗步驟 ....................................................................................................... 73
習題 .................................................................................................................................... 77
第6 章 卷積神經網路實現 ··········································································.78
6.1 CNN 基本原理 .......................................................................................................... 78
6.2 CNN 的卷積操作 ...................................................................................................... 80
6.3 CNN 的池化操作 ...................................................................................................... 82
6.4 使用簡單的CNN 實現手寫字元識別 ..................................................................... 84
6.5 AlexNet ..................................................................................................................... 85
6.6 實驗:基於VGG16 模型的圖像分類實現 ............................................................. 87
6.6.1 實驗目的 ....................................................................................................... 87
6.6.2 實驗要求 ....................................................................................................... 87
6.6.3 實驗原理 ....................................................................................................... 88
6.6.4 實驗步驟 ....................................................................................................... 88
習題 .................................................................................................................................... 93
第7 章 循環神經網路實現 ··········································································.94
7.1 RNN 簡介 .................................................................................................................. 94
7.1.1 為什麼使用RNN.......................................................................................... 94
7.1.2 RNN 的網路結構及原理 .............................................................................. 96
7.1.3 RNN 的實現 ................................................................................................. 99
7.2 長短時記憶網路 ..................................................................................................... 100
7.2.1 長期依賴問題 ............................................................................................. 100
7.2.2 長短時記憶網路 ......................................................................................... 101
7.2.3 LSTM 的實現 ............................................................................................. 105
7.3 雙向RNN ................................................................................................................ 106
7.3.1 雙向RNN 的結構及原理 ........................................................................... 106
7.3.2 雙向RNN 的實現....................................................................................... 107
7.4 深層RNN ................................................................................................................ 108
7.5 實驗:基於LSTM 的股票預測 ............................................................................. 110
7.5.1 實驗目的 ..................................................................................................... 110
7.5.2 實驗要求 ..................................................................................................... 110
7.5.3 實驗原理 ..................................................................................................... 111
7.5.4 實驗步驟 ..................................................................................................... 111
習題 .................................................................................................................................. 114
第8 章 強化學習 ····················································································.115
8.1 強化學習原理 ......................................................................................................... 115
8.2 馬爾可夫決策過程實現 ......................................................................................... 117
8.2.1 馬爾可夫決策過程 ..................................................................................... 117
8.2.2 馬爾可夫決策過程的形式化 ..................................................................... 118
8.3 基於價值的強化學習方法 ..................................................................................... 120
8.3.1 基於價值的方法中的策略最佳化 ................................................................. 120
8.3.2 基於價值的方法中的策略評估 ................................................................. 120
8.3.3 Q-Learning .................................................................................................. 122
8.4 Gym 的簡單使用 .................................................................................................... 123
8.5 實驗:基於強化學習的小車爬山遊戲 ................................................................. 125
8.5.1 實驗目的 ..................................................................................................... 125
8.5.2 實驗要求 ..................................................................................................... 125
8.5.3 實驗原理 ..................................................................................................... 125
8.5.4 實驗步驟 ..................................................................................................... 127
習題 .................................................................................................................................. 130
第9 章 遷移學習 ····················································································.131
9.1 遷移學習原理 ......................................................................................................... 131
9.1.1 什麼是遷移學習 ......................................................................................... 131
9.1.2 遷移學習的基本概念 ................................................................................. 131
9.1.3 遷移學習的基本方法 ................................................................................. 133
9.2 基於模型的遷移學習方法實現 ............................................................................. 134
9.2.1 導入已有的預訓練模型 ............................................................................. 134
9.2.2 模型的復用 ................................................................................................. 134
9.2.3 基於新模型的預測 ..................................................................................... 135
9.3 基於VGG-19 的遷移學習實現 ............................................................................. 135
9.3.1 VGG-19 的原理 .......................................................................................... 135
9.3.2 基於VGG-19 的遷移學習的原理及實現 ................................................. 136
9.4 實驗:基於Inception V3 的遷移學習 .................................................................. 138
9.4.1 實驗目的 ..................................................................................................... 138
9.4.2 實驗要求 ..................................................................................................... 138
9.4.3 實驗原理 ..................................................................................................... 139
9.4.4 實驗步驟 ..................................................................................................... 140
習題 .................................................................................................................................. 143
第10 章 生成對抗網路 ·············································································.144
10.1 GAN 概述 ............................................................................................................. 144
10.2 GAN 的目標函式 ................................................................................................. 144
10.3 GAN 的實現 ......................................................................................................... 145
10.4 深度卷積生成對抗網路 ....................................................................................... 149
10.4.1 DCGAN 結構圖 ........................................................................................ 150
10.4.2 DCGAN 的實現 ........................................................................................ 150
10.5 GAN 的衍生模型 ................................................................................................. 153
10.5.1 基於網路結構的衍生模型 ....................................................................... 154
10.5.2 基於最佳化方法的衍生模型 ....................................................................... 155
習題 .................................................................................................................................. 156
第11 章 GPU 並行計算 ············································································.157
11.1 並行計算技術 ....................................................................................................... 157
11.1.1 單機並行計算 ........................................................................................... 157
11.1.2 分散式並行計算 ....................................................................................... 158
11.1.3 GPU 並行計算技術 .................................................................................. 159
11.1.4 TensorFlow 與GPU .................................................................................. 160
11.2 TensorFlow 加速方法 ........................................................................................... 163
11.3 單GPU 並行加速的實現 ..................................................................................... 170
11.4 多GPU 並行加速的實現 ..................................................................................... 173
11.5 實驗:基於GPU 的矩陣乘法 ............................................................................. 175
11.5.1 安裝GPU 版本的TensorFlow ................................................................. 175
11.5.2 一個GPU 程式 ......................................................................................... 176
11.5.3 使用GPU 完成矩陣乘法 ......................................................................... 176
習題 .................................................................................................................................. 177

前言

在資訊時代的浪潮中,人工智慧已成為引領技術革命的重要力量。從自動駕駛到智
能醫療,從智慧型客服到金融風控,人工智慧的身影無處不在,它正以前所未有的速度改變
著現代世界。而在這波瀾壯闊的人工智慧發展大潮中,深度學習技術以其強大的數據處
理能力和卓越的學習效果,成了人工智慧領域的熱點。
深度學習的起源可以追溯到20 世紀40 年代的人工神經網路研究。然而,直到近年
來,隨著計算能力的提升和大數據的出現,深度學習才真正迎來了發展的黃金時期。它通
過模擬人類神經元的連線和互動方式,實現了對複雜數據的自動學習和特徵提取,從而
在多個領域取得了突破性進展。尤其是在圖像識別、語音識別和自然語言處理等領域,深
度學習技術的性能已經超越了傳統方法,展現出了巨大的套用潛力。
然而,深度學習的強大能力也帶來了技術門檻的提升。如何有效地構建、訓練和最佳化
深度學習模型,成了擺在廣大研究者和技術人員面前的難題。為了解決這一問題,谷歌開
源了TensorFlow 這一強大的深度學習框架。TensorFlow 以其靈活的架構、高效的性能和
豐富的工具庫,成了全球範圍內很流行的深度學習框架之一。它不僅為研究者提供了便
捷的開發環境,還為工業界的套用提供了堅實的技術支持。
正是在這樣的背景下,我們編寫了這本《TensorFlow 程式設計》,以期能夠為廣大讀
者提供一份全面且深入的TensorFlow 學習指南,幫助讀者快速掌握深度學習的核心技術
和TensorFlow 的使用方法。在本書的編寫過程中,我們始終秉持以下三個核心原則,以
確保讀者能夠從中受益。
(1)系統性的知識架構。本書在內容的組織和安排上,力求構建一個完整、系統的知
識體系。從深度學習的基礎知識,到TensorFlow 框架的詳細解讀,再到案例的分析與實
踐,我們努力使每個章節都緊密相連,形成一個有機的整體。
(2)理論與實踐並重。本書不僅深入淺出地闡述了深度學習的基礎理論和算法精
髓,更通過一系列案例,將理論知識與實際操作相結合。這些案例旨在讓讀者在親自動
手的過程中,深化對理論知識的理解,並掌在實際套用中靈活運用。
(3)堅持實用性和可操作性。在內容的編排和呈現上,我們力求避免過於複雜的理論
和公式推導,而是注重內容的實用性和可操作性。我們希望通過簡潔明了的語言和直觀
易懂的示例,讓讀者能夠輕鬆上手,快速掌握TensorFlow 的使用方法,從而在實際項目
中發揮深度學習技術的巨大潛力。
總體而言,本書是一本面向廣大深度學習愛好者和開發者的實用教程,它旨在幫助
讀者快速掌握TensorFlow 的使用方法和深度學習的核心技術。希望本書能夠成為讀者在
學習和套用深度學習技術道路上的良師益友,與讀者共同迎接AI 時代的挑戰和機遇。

相關詞條

熱門詞條

聯絡我們