在人工智能的浩瀚星空中,深度學習猶如一顆耀眼的明星,引領著計算機視覺技術的發(fā)展!禤yTorch深度學習與計算機視覺實踐》帶領讀者領略深度學習在計算視覺領域的魅力,詳解使用PyTorch 2.0進行計算機視覺應用實戰(zhàn)的技巧。本書配套示例源碼、PPT課件。
《PyTorch深度學習與計算機視覺實踐》共分15章,內容包括深度學習與計算機視覺、PyTorch 2.0深度學習環(huán)境搭建、從0開始PyTorch 2.0、一學就會的深度學習基礎算法、基于PyTorch卷積層的MNIST分類實戰(zhàn)、PyTorch數(shù)據(jù)處理與模型可視化、殘差神經(jīng)網(wǎng)絡實戰(zhàn)、基于OpenCV與PyTorch的人臉識別實戰(zhàn)、詞映射與循環(huán)神經(jīng)網(wǎng)絡、注意力機制與注意力模型詳解、基于注意力機制的圖像識別實戰(zhàn)、基于Diffusion Model的從隨機到可控的圖像生成實戰(zhàn)、基于注意力的單目攝像頭目標檢測實戰(zhàn)、基于注意力與Unet的全畫幅適配圖像全景分割實戰(zhàn)、基于預訓練模型的可控零樣本圖像遷移合成實戰(zhàn)。
《PyTorch深度學習與計算機視覺實踐》既適合深度學習初學者、PyTorch初學者、PyTorch深度學習計算機視覺應用開發(fā)人員閱讀,也可作為高等院;蚋呗毟邔S嬎銠C技術、人工智能、智能科學與技術、數(shù)據(jù)科學與大數(shù)據(jù)技術等相關專業(yè)的教材。
《PyTorch深度學習與計算機視覺實踐》詳解深度學習與計算機視覺基礎、PyTorch 框架開發(fā)知識,以及圖像分類、目標檢測、圖像分割、圖像生成等一系列計算機視覺領域核心問題的實戰(zhàn)應用。
案例包括人臉識別、圖像識別、圖像生成、目標檢測、圖像分割、圖像遷移等。
配套PPT課件與示例源碼,可用于深度學習與計算機視覺入門,也可作為高校深度學習與計算機視覺課程的教材。
在人工智能的浩瀚星空中,深度學習猶如一顆耀眼的明星,引領著計算機視覺技術的發(fā)展。在這個充滿變革與機遇的時代,希望本書能夠帶領讀者領略深度學習應用于計算視覺領域的魅力,并掌握使用PyTorch進行計算視覺應用實戰(zhàn)的技巧。
本書關注的是計算機視覺領域的重要分支計算視覺,它涉及圖像分類、目標檢測、圖像分割、圖像生成等一系列核心問題。通過本書的學習,讀者將了解深度學習和計算視覺的基本概念,掌握使用PyTorch進行圖像處理、特征提取、模型訓練和推理實踐的技能。同時,本書還將通過完整的項目實戰(zhàn),讓讀者將所學知識應用到實際場景中,培養(yǎng)解決實際問題的能力。
本書構思
本書以實戰(zhàn)為核心,以實際項目為導向。在闡述理論的基礎上,帶領讀者踏上深度學習與計算機圖像處理的探索之旅。本書不僅涵蓋了基礎知識,更有最新的研究成果和模型架構。通過閱讀本書,讀者將緊跟學術前沿,提升自身水平。
相比其他同類書籍,本書更強調理論的融會貫通。書中的所有知識點都不是孤立的,而是相互關聯(lián),構建成一個完整的知識體系。讀者可根據(jù)章節(jié)順序,由淺入深地逐步掌握各個知識點,最終形成自己的深度學習框架。
本書以解決圖像處理實戰(zhàn)項目為出發(fā)點,結合PyTorch 2.0深度學習框架進行深入淺出的講解和演示。以多角度、多方面的方式手把手地教會讀者編寫代碼,同時結合實際案例深入剖析其中的設計模式和模型架構。
本書特點
本書致力于引領讀者掌握深度學習與PyTorch框架在計算機視覺處理領域的應用,不僅關注理論,更注重實踐,提供一站式的實戰(zhàn)指南。本書的突出優(yōu)勢體現(xiàn)在以下幾個方面:
?系統(tǒng)性與實踐性:本書從基礎知識開始,逐步引導讀者深入到實際項目中,對于可能遇到的問題,給出相應的解決方案。每個章節(jié)都以實際案例為依托,詳細闡述相關知識點,讓讀者在實踐中掌握深度學習和圖像處理的核心技能。
?PyTorch與圖像處理的完美結合:本書不僅介紹了PyTorch框架的基礎知識和使用方法,還結合圖像處理的實際應用進行深入探討,以便讀者更好地理解深度學習在計算機視覺領域的應用,并能夠迅速將所學知識應用于實際項目中。
?多領域應用案例:本書通過多種領域的案例,展示深度學習在圖像處理方面的廣泛應用。這些案例涵蓋圖像識別、場景分割、圖像生成以及目標檢測等多個領域,使讀者可以更好地了解深度學習在圖像處理領域的應用前景。
?作者實戰(zhàn)經(jīng)驗豐富:本書作者是深度學習領域的專家,具有深厚的學術背景和豐富的實踐經(jīng)驗。作者在撰寫本書的過程中以實際項目中遇到的問題為導向,注重知識體系的完整性和實用性,使本書更具參考價值。
資源下載
本書配套示例源代碼、PPT課件,需要用微信掃描下面的二維碼獲取。如果閱讀中發(fā)現(xiàn)問題或疑問,請發(fā)送郵件至booksaga@163.com,郵件主題寫PyTorch深度學習與計算機視覺實踐。
適合的讀者
本書既適合深度學習初學者、PyTorch初學者、PyTorch計算機視覺應用開發(fā)人員閱讀,也可作為高等院;蚋呗毟邔S嬎銠C技術、人工智能、智能科學與技術、數(shù)據(jù)科學與大數(shù)據(jù)技術等相關專業(yè)的教材。
致 謝
筆者在寫作本書的過程中得到了家人和朋友的大力支持,在此表示感謝。本書的順利出版,離不開清華大學出版社的編輯們的辛勤工作,在此表示感謝。
筆 者
2024年5月
王曉華,高校計算機專業(yè)講師,研究方向為云計算、大數(shù)據(jù)與人工智能。著有圖書部分包括:
《ChatGLM3大模型本地化部署、應用開發(fā)與微調》《PyTorch語音識別實戰(zhàn)》《從零開始大模型開發(fā)與微調:基于PyTorch與ChatGLM》《PyTorch 2.0深度學習從零開始學》《Spark 3.0大數(shù)據(jù)分析與挖掘:基于機器學習》《TensorFlow深度學習應用實踐》《OpenCV TensorFlow深度學習與計算機視覺實戰(zhàn)》《TensorFlow語音識別實戰(zhàn)》《TensorFlow 2.0卷積神經(jīng)網(wǎng)絡實戰(zhàn)》《深度學習的數(shù)學原理與實現(xiàn)》。
第1章 深度學習與計算機視覺 1
1.1 深度學習的歷史與發(fā)展 1
1.1.1 深度學習的起源 2
1.1.2 深度學習的發(fā)展脈絡 3
1.1.3 為什么是PyTorch 2.0 3
1.2 計算機視覺之路 4
1.2.1 計算機視覺的基本概念 4
1.2.2 計算機視覺深度學習的主要任務 5
1.2.3 計算機視覺中的深度學習方法 6
1.2.4 深度學習在計算機視覺中的應用 7
1.3 本章小結 8
第2章 PyTorch 2.0深度學習環(huán)境搭建 9
2.1 環(huán)境搭建1:安裝Python 9
2.1.1 Miniconda的下載與安裝 9
2.1.2 PyCharm的下載與安裝 12
2.1.3 Python代碼小練習:計算softmax函數(shù) 16
2.2 環(huán)境搭建2:安裝PyTorch 2.0 17
2.2.1 NVIDIA 10/20/30/40系列顯卡選擇的GPU版本 17
2.2.2 PyTorch 2.0 GPU NVIDIA運行庫的安裝 17
2.2.3 Hello PyTorch 19
2.3 Unet圖像降噪第一個深度學習項目實戰(zhàn) 20
2.3.1 MNIST數(shù)據(jù)集的準備 20
2.3.2 MNIST數(shù)據(jù)集特征介紹 22
2.3.3 Hello PyTorch 2.0模型的準備和介紹 23
2.3.4 對目標的逼近模型的損失函數(shù)與優(yōu)化函數(shù) 25
2.3.5 Lets do it!基于深度學習的模型訓練 26
2.4 本章小結 28
第3章 從0開始PyTorch 2.0 30
3.1 實戰(zhàn)MNIST手寫體識別 30
3.1.1 數(shù)據(jù)圖像的獲取與標簽的說明 30
3.1.2 實戰(zhàn)基于PyTorch 2.0的手寫體識別模型 32
3.2 PyTorch 2.0常用函數(shù)解析與使用指南 36
3.2.1 數(shù)據(jù)加載和預處理 36
3.2.2 張量的處理 37
3.2.3 模型的參數(shù)與初始化操作 40
3.3 本章小結 42
第4章 一學就會的深度學習基礎算法 43
4.1 反向傳播神經(jīng)網(wǎng)絡的發(fā)展歷程 43
4.2 反向傳播神經(jīng)網(wǎng)絡的兩個基礎算法詳解 46
4.2.1 最小二乘法 46
4.2.2 隨機梯度下降算法 49
4.2.3 最小二乘法的梯度下降算法及其Python實現(xiàn) 52
4.3 反饋神經(jīng)網(wǎng)絡反向傳播算法介紹 58
4.3.1 深度學習基礎 58
4.3.2 鏈式求導法則 59
4.3.3 反饋神經(jīng)網(wǎng)絡原理與公式推導 60
4.3.4 反饋神經(jīng)網(wǎng)絡原理的激活函數(shù) 65
4.3.5 反饋神經(jīng)網(wǎng)絡原理的Python實現(xiàn) 66
4.4 本章小結 70
第5章 基于PyTorch卷積層的MNIST分類實戰(zhàn) 71
5.1 卷積運算的基本概念 71
5.1.1 基本卷積運算示例 72
5.1.2 PyTorch中卷積函數(shù)實現(xiàn)詳解 73
5.1.3 池化運算 76
5.1.4 softmax激活函數(shù) 77
5.1.5 卷積神經(jīng)網(wǎng)絡原理 78
5.2 基于卷積的MNIST手寫體分類 80
5.2.1 數(shù)據(jù)的準備 81
5.2.2 模型的設計 81
5.2.3 基于卷積的MNIST分類模型 82
5.3 PyTorch的深度可分離膨脹卷積詳解 83
5.3.1 深度可分離卷積的定義 84
5.3.2 深度的定義以及不同計算層待訓練參數(shù)的比較 86
5.3.3 膨脹卷積詳解 86
5.3.4 PyTorch中基于深度可分離膨脹卷積的MNIST手寫體識別 87
5.4 本章小結 89
第6章 PyTorch數(shù)據(jù)處理與模型可視化 90
6.1 用于自定義數(shù)據(jù)集的torch.utils.data工具箱的用法 91
6.1.1 使用torch.utils.data. Dataset封裝自定義數(shù)據(jù)集 91
6.1.2 改變數(shù)據(jù)類型的Dataset類中的transform詳解 93
6.1.3 批量輸出數(shù)據(jù)的DataLoader類詳解 97
6.2 基于tensorboardX的訓練可視化展示 99
6.2.1 PyTorch 2.0模型可視化組件tensorboardX的安裝 99
6.2.2 tensorboardX可視化組件的使用 100
6.2.3 tensorboardX對模型訓練過程的展示 102
6.3 本章小結 105
第7章 殘差神經(jīng)網(wǎng)絡實戰(zhàn) 106
7.1 ResNet的原理與程序設計基礎 107
7.1.1 ResNet誕生的背景 107
7.1.2 不要重復造輪子PyTorch 2.0中的模塊 110
7.1.3 ResNet殘差模塊的實現(xiàn) 111
7.1.4 ResNet的實現(xiàn) 113
7.2 ResNet實戰(zhàn):CIFAR-10數(shù)據(jù)集分類 116
7.2.1 CIFAR-10數(shù)據(jù)集簡介 116
7.2.2 基于ResNet的CIFAR-10數(shù)據(jù)集分類 119
7.3 本章小結 121
第8章 基于OpenCV與PyTorch的人臉識別實戰(zhàn) 122
8.1 找到人臉人臉識別數(shù)據(jù)集的建立 123
8.1.1 LFW數(shù)據(jù)集簡介 123
8.1.2 Dlib庫簡介 124
8.1.3 OpenCV簡介 125
8.1.4 使用Dlib檢測人臉位置 125
8.1.5 使用Dlib和OpenCV制作人臉檢測數(shù)據(jù)集 129
8.1.6 基于人臉定位制作適配深度學習的人臉識別數(shù)據(jù)集地址路徑 131
8.2 人臉是誰基于深度學習的人臉識別模型基本架構 135
8.2.1 人臉識別的基本模型SiameseModel 135
8.2.2 基于PyTorch 2.0的SiameseModel的實現(xiàn) 136
8.2.3 人臉識別的Contrastive Loss詳解與實現(xiàn) 137
8.2.4 基于PyTorch 2.0的人臉識別模型 138
8.3 本章小結 141
第9章 詞映射與循環(huán)神經(jīng)網(wǎng)絡 142
9.1 櫻桃-紅色 紫色=?有趣的詞映射 142
9.1.1 什么是詞映射 143
9.1.2 PyTorch中embedding的處理函數(shù)詳解 144
9.2 循環(huán)神經(jīng)網(wǎng)絡與情感分類實戰(zhàn) 145
9.2.1 基于循環(huán)神經(jīng)網(wǎng)絡的中文情感分類實戰(zhàn)的準備工作 145
9.2.2 基于循環(huán)神經(jīng)網(wǎng)絡的中文情感分類實戰(zhàn) 147
9.3 循環(huán)神經(jīng)網(wǎng)絡理論講解 150
9.3.1 什么是GRU 150
9.3.2 單向不行,那就雙向 152
9.4 本章小結 153
第10章 注意力機制與注意力模型詳解 154
10.1 注意力機制與模型詳解 154
10.1.1 注意力機制詳解 155
10.1.2 自注意力機制 156
10.1.3 ticks和LayerNormalization 162
10.1.4 多頭注意力 163
10.2 注意力機制的應用實踐編碼器 166
10.2.1 編碼器總體架構 166
10.2.2 回到輸入層初始詞向量層和位置編碼器層 167
10.2.3 前饋層的實現(xiàn) 170
10.2.4 編碼器的實現(xiàn) 171
10.3 實戰(zhàn)編碼器自然語言轉換模型 174
10.3.1 漢字拼音數(shù)據(jù)集處理 174
10.3.2 漢字拼音轉換模型的確定 176
10.3.3 模型訓練部分的編寫 179
10.3.4 補充說明 181
10.4 本章小結 182
第11章 開局一幅圖基于注意力機制的圖像識別實戰(zhàn) 183
11.1 基于注意力的圖像識別模型Vision Transformer 183
11.1.1 Vision Transformer 整體結構 183
11.1.2 Patch Embedding 185
11.1.3 Transformer Encoder層 187
11.1.4 完整的Vision Transformer架構設計 190
11.2 基于Vision Transformer的mini_ImageNet實戰(zhàn) 191
11.2.1 mini_ImageNet數(shù)據(jù)集的簡介與下載 191
11.2.2 mini_ImageNet數(shù)據(jù)集的處理基于PyTorch 2.0專用數(shù)據(jù)處理類 193
11.2.3 Vision Transformer模型設計 195
11.2.4 Vision Transformer模型的訓練 196
11.2.5 基于現(xiàn)有Vision Transformer包的模型初始化 198
11.3 提升Vision Transformer模型準確率的一些技巧 198
11.3.1 模型的可解釋性注意力熱圖的可視化實現(xiàn) 198
11.3.2 PyTorch 2.0中圖像增強方法詳解 201
11.4 本章小結 206
第12章 內容全靠編基于Diffusion Model的從隨機到可控的圖像生成實戰(zhàn) 207
12.1 Diffusion Model實戰(zhàn)MNIST手寫體生成 207
12.1.1 Diffusion Model的傳播流程 208
12.1.2 直接運行的DDPM的模型訓練實戰(zhàn) 209
12.1.3 DDPM的基本模塊說明 212
12.1.4 DDPM加噪與去噪詳解 215
12.1.5 DDPM的損失函數(shù) 220
12.2 可控的Diffusion Model生成實戰(zhàn)指定數(shù)字生成MNIST手寫體 221
12.2.1 Diffusion Model可控生成的基礎特征融合 221
12.2.2 Diffusion Model可控生成的代碼實戰(zhàn) 221
12.3 加速的Diffusion Model生成實戰(zhàn)DDIM 223
12.3.1 直接運行的少步驟的DDIM手寫體生成實戰(zhàn) 224
12.3.2 DDIM的預測傳播流程 226
12.4 本章小結 228
第13章 認清物與位基于注意力的單目攝像頭目標檢測實戰(zhàn) 230
13.1 目標檢測基本概念詳解 231
13.1.1 基于注意力機制的目標檢測模型DETR 231
13.1.2 目標檢測基本概念(注意力機制出現(xiàn)之前) 232
13.1.3 目標檢測基本概念(注意力機制出現(xiàn)之后) 233
13.2 基于注意力機制的目標檢測模型DETR詳解 237
13.2.1 基于預訓練DETR模型實現(xiàn)的實用化目標檢測網(wǎng)頁 237
13.2.2 基于注意力的目標檢測模型DETR 239
13.3 DETR模型的損失函數(shù) 243
13.3.1 一看就會的二分圖匹配算法 243
13.3.2 基于二分圖匹配算法的目標檢測的最佳組合 245
13.3.3 DETR中的損失函數(shù) 250
13.3.4 解決batch中tensor維度不一致的打包問題 253
13.4 基于DETR的目標檢測自定義數(shù)據(jù)集實戰(zhàn) 254
13.4.1 VOC數(shù)據(jù)集簡介與數(shù)據(jù)讀取 254
13.4.2 基于PyTorch中的Dataset的數(shù)據(jù)輸入類 257
13.4.3 基于DETR的自定義目標檢測實戰(zhàn) 259
13.5 本章小結 261
第14章 凝思辨真顏基于注意力與Unet的全畫幅適配圖像全景分割實戰(zhàn) 262
14.1 圖像分割的基本形式與數(shù)據(jù)集處理 262
14.1.1 圖像分割的應用 263
14.1.2 基于預訓練模型的圖像分割預測示例 264
14.2 基于注意力與Unet的圖像分割模型SwinUnet 267
14.2.1 基于全畫幅注意力的 Swin Transformer詳解 268
14.2.2 經(jīng)典圖像分割模型Unet詳解 270
14.3 基于SwinUnet的圖像分割實戰(zhàn) 271
14.3.1 圖像分割的label圖像處理 271
14.3.2 圖像分割的VOC數(shù)據(jù)集處理 274
14.3.3 圖像分割損失函數(shù)DiceLoss詳解 276
14.3.4 基于SwinUnet的圖像分割實戰(zhàn) 278
14.4 本章小結 279
第15章 誰還用GAN基于預訓練模型的可控零樣本圖像遷移合成實戰(zhàn) 281
15.1 基于預訓練模型的可控零樣本圖像風格遷移實戰(zhàn) 281
15.1.1 實戰(zhàn)基于預訓練模型的可控零樣本圖像風格遷移 282
15.1.2 詳解可控零樣本圖像風格遷移模型 283
15.2 基于預訓練模型的零樣本圖像風格遷移實戰(zhàn) 284
15.2.1 Vision Transformer架構的DINO模型 285
15.2.2 風格遷移模型Splicing詳解 287
15.2.3 逐行講解風格遷移模型Splicing的損失函數(shù) 291
15.3 本章小結 296