PyTorch實戰

郭濤等

  • 出版商: 電子工業
  • 出版日期: 2024-03-01
  • 定價: $948
  • 售價: 8.5$806
  • 語言: 簡體中文
  • 頁數: 428
  • ISBN: 7121475537
  • ISBN-13: 9787121475535
  • 相關分類: DeepLearning
  • 下單後立即進貨 (約4週~6週)

相關主題

商品描述

本書以PyTorch作為深度學習框架,主要包括4部分。第1部分(第1、2章),主要概述PyTorch基礎知識與常見深度學習算法實現,例如,CNN、LSTM,即CNN-LSTM;第2部分(第3~5章)高級神經網絡實現,主要包括常見的深度學習網絡結構,例如CNN、RNN及最新的Transformer等模型;第3部分(第6~9章)生成式AI和深度強化學習,主要包括GAN、GPT和DQN等算法;第4部分(第10~14章)生產中PyTorch落地的幾個關鍵性主題,分佈式訓練、自動機器學習管道構建和硬件快速部署。

目錄大綱

第1部分 PyTorch概述
第 1 章 使用PyTorch概述深度學習 003
1.1 技術要求 005
1.2 回顧深度學習 005
1.2.1 激活函數 011
1.2.2 優化模式 014
1.3 探索PyTorch庫 018
1.3.1 PyTorch模塊 019
1.3.2 Tensor模塊 021
1.4 使用PyTorch訓練神經網絡 025
1.5 總結 033
第 2 章 結合CNN和LSTM 035
2.1 技術要求 036
2.2 使用CNN和LSTM構建神經網絡 036
2.3 使用PyTorch構建圖像文字描述生成器 038
2.3.1 下載圖像文字描述數據集 039
2.3.2 預處理文字描述(文本)數據 041
2.3.3 預處理圖像數據 043
2.3.4 定義圖像文字描述數據加載器 045
2.3.5 定義CNN-LSTM模型 047
2.3.6 訓練CNN-LSTM模型 050
2.3.7 使用已經訓練的模型生成圖像文字描述 054
2.4 總結 057
第2部分 使用高級神經網絡架構
第 3 章 深度CNN架構 061
3.1 技術要求 062
3.2 為什麽CNN如此強大? 062
3.3 CNN架構的演變 065
3.4 從零開始開發LeNet 068
3.4.1 使用PyTorch構建LeNet 070
3.4.2 訓練LeNet 076
3.4.3 測試LeNet 077
3.5 微調AlexNet模型 079
3.6 運行預訓練的VGG模型 090
3.7 探索GoogLeNet和Inception v3 094
3.7.1 Inception模塊 094
3.7.2 1×1捲積 097
3.7.3 全局平均池化 097
3.7.4 輔助分類器 097
3.7.5 Inception v3 099
3.8 討論ResNet和DenseNet架構 102
3.9 瞭解EfficientNets和CNN架構的未來 109
3.10 總結 111
第 4 章 深度循環模型架構 113
4.1 技術要求 114
4.2 探索循環網絡的演變 115
4.2.1 循環神經網絡的類型 115
4.2.2 RNN 117
4.2.3 雙向RNN 118
4.2.4 LSTM 119
4.2.5 擴展和雙向LSTM 121
4.2.6 多維RNN 121
4.2.7 堆疊LSTM 122
4.2.8 GRU 123
4.2.9 Grid LSTM 124
4.2.10 門控正交循環單元 124
4.3 訓練RNN進行情感分析 124
4.3.1 加載和預處理文本數據集 125
4.3.2 實例化和訓練模型 131
4.4 構建雙向LSTM 137
4.4.1 加載和預處理文本數據集 137
4.4.2 實例化和訓練LSTM模型 139
4.5 討論GRU和基於註意力的模型 141
4.5.1 GRU和PyTorch 142
4.5.2 基於註意力的模型 142
4.6 總結 144
第 5 章 混合高級模型 146
5.1 技術要求 147
5.2 構建用於語言建模的Transformer模型 147
5.2.1 回顧語言建模 147
5.2.2 理解Transforms模型架構 148
5.3 從頭開始開發RandWireNN模型 160
5.3.1 理解RandWireNN 161
5.3.2 使用PyTorch開發RandWireNN 162
5.4 總結 174
第3部分 生成模型和深度強化學習
第 6 章 使用PyTorch生成音樂和文本 179
6.1 技術要求 180
6.2 使用PyTorch構建基於Transformer的文本生成器 180
6.2.1 訓練基於Transformer的語言模型 181
6.2.2 保存和加載語言模型 182
6.2.3 使用語言模型生成文本 182
6.3 使用預訓練的GPT-2模型作為文本生成器 184
6.3.1 使用GPT-2生成便捷的文本 184
6.3.2 使用PyTorch的文本生成策略 185
6.4 使用PyTorch與LSTM生成MIDI音樂 192
6.4.1 加載MIDI音樂數據 193
6.4.2 定義LSTM模型和訓練例程 197
6.4.3 訓練和測試音樂生成模型 199
6.5 總結 202
第 7 章 神經風格轉移 204
7.1 技術要求 205
7.2 理解如何在圖像之間傳遞風格 205
7.3 使用PyTorch實現神經風格遷移 209
7.3.1 加載內容圖像和風格圖像 209
7.3.2 構建神經風格遷移模型 213
7.3.3 訓練風格遷移模型 214
7.3.4 嘗試風格遷移系統 219
7.4 總結 222
第 8 章 深度捲積GAN 224
8.1 技術要求 225
8.2 定義生成器和判別器網絡 226
8.3 使用PyTorch訓練DCGAN 229
8.3.1 定義生成器 229
8.3.2 定義判別器 232
8.3.3 加載圖像數據集 233
8.3.4 DCGAN的訓練循環 234
8.4 使用GAN進行風格遷移 239
8.5 總結 248
第 9 章 深度強化學習 249
9.1 技術要求 250
9.2 回顧強化學習概念 251
9.2.1 強化學習算法類型 253
9.3 討論Q-學習 256
9.4 理解深度Q-學習 261
9.4.1 使用兩個獨立的DNN 262
9.4.2 經驗回放緩沖器 262
9.5 在PyTorch中構建DQN模型 263
9.5.1 初始化主和目標CNN模型 263
9.5.2 定義經驗回放緩沖區 266
9.5.3 設置環境 267
9.5.4 定義CNN優化函數 269
9.5.5 管理和運行迭代 270
9.5.6 訓練DQN模型以學習Pong 273
9.6 總結 277
第4部分 生產系統中的PyTorch
第 10 章 將PyTorch模型投入生產中 281
10.1 技術要求 282
10.2 PyTorch中的模型服務 283
10.2.1 創建PyTorch模型推理流水線 283
10.2.2 構建基本模型服務器 290
10.2.3 創建模型微服務 298
10.3 使用TorchServe為PyTorch模型提供服務 304
10.3.1 安裝TorchServe 305
10.3.2 啟動和使用TorchServe服務器 305
10.4 使用TorchScript和ONNX導出通用PyTorch模型 310
10.4.1 瞭解TorchScript的功能 310
10.4.2 使用TorchScript進行模型跟蹤 311
10.4.3 使用TorchScript編寫模型腳本 315
10.4.4 在C++中運行PyTorch模型 318
10.4.5 使用ONNX導出PyTorch模型 322
10.5 在雲端提供PyTorch模型 325
10.5.1 將PyTorch與AWS結合使用 326
10.5.2 在Google Cloud上提供PyTorch模型 330
10.5.3 使用Azure為PyTorch模型提供服務 332
10.6 總結 334
參考資料 335
第 11 章 分佈式訓練 337
11.1 技術要求 338
11.2 使用PyTorch進行分佈式訓練 338
11.2.1 以常規方式訓練MNIST模型 339
11.2.2 以分佈式方式訓練MNIST模型 342
11.3 使用CUDA在GPU上進行分佈式訓練 350
11.4 總結 353
第 12 章 PyTorch和AutoML 355
12.1 技術要求 355
12.2 使用AutoML尋找最佳神經架構 356
12.3 使用Optuna進行超參數搜索 365
12.4 定義模型架構和加載數據集 366
12.4.1 定義模型訓練例程和優化計劃 369
12.4.2 運行Optuna的超參數搜索 370
12.5 總結 373
第 13 章 PyTorch和AI可解釋 375
13.1 技術要求 376
13.2 PyTorch中的模型可解釋性 376
13.2.1 訓練手寫數字分類器—回顧 376
13.2.2 可視化模型的捲積過濾器 379
13.2.3 可視化模型的特徵圖 381
13.3 使用Captum解釋模型 384
13.3.1 設置Captum 384
13.3.2 探索Captum的可解釋性工具 386
13.4 總結 390
第 14 章 使用PyTorch進行快速原型設計 391
14.1 技術要求 392
14.2 使用fast.ai快速設置模型訓練 392
14.2.1 設置fast.ai並加載數據 393
14.2.2 使用fast.ai訓練MNIST模型 395
14.2.3 使用fast.ai評估和解釋模型 397
14.3 在任何硬件上使用PyTorch Lightning訓練模型 399
14.3.1 在PyTorch Lightning中定義模型組件 399
14.3.2 使用PyTorch Lightning訓練並評估模型 401
14.4 總結 405