PyTorch 深度學習入門與實戰

王宇龍著

  • 出版商: 中國鐵道
  • 出版日期: 2020-09-01
  • 定價: $419
  • 售價: 7.9$331
  • 語言: 簡體中文
  • 頁數: 265
  • 裝訂: 平裝
  • ISBN: 7113270042
  • ISBN-13: 9787113270049
  • 相關分類: DeepLearning
  • 立即出貨

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

相關主題

商品描述

書中以案例形式詳細介紹了PyTorch的各種實戰應用。
具體內容包括PyTorch與TensorFlow的對比和PyTorch的發展現狀,
張量Tensor和自動微分Autograd及其具體應用,PyTorch構建神經網絡,
基於PyTorch構建複雜應用,PyTorch高級技巧與實戰應用,網絡剪枝應用。

作者簡介

王宇龍

博士,畢業於清華大學計算機系,曾在CVPR/AAAI/TIP等多家國際會議期刊發表論文,
研究方向為深度學習可解釋性、模型剪枝、對抗安全等。
知乎“機器學習”話題優秀回答者(@Yulong)。
現任螞蟻金服算法專家。

目錄大綱

目錄

第1章PyTorch簡介
1.1深度學習簡介1
1.2 PyTorch的由來2
1.2.1深度學習框架回顧2
1.2.2 PyTorch前身:Torch7 4
1.2.3 Torch7的重生5
1.3 PyTorch與TensorFlow對比5
1.3.1 TensorFlow簡介6
1.3.2動靜之爭6
1.3.3二者藉鑑融合7
1.3.4 PyTorch的優勢7
1.4 PyTorch發展現狀8
1.4.1主要版本特點回顧8
1.4.2準備工作8

第2章PyTorch基礎計算
2.1 PyTorch核心基礎概念:張量Tensor 11
2.1.1 Tensor基本介紹11
2.1.2 Tensor數學運算操作15
2.1.3 Tensor索引分片合併變換操作20
2.1.4 Tensor類成員方法22
2.1.5在GPU上計算24
2.2 PyTorch可微編程核心:自動微分Autograd 25
2.2.1 PyTorch自動微分簡介25
2.2.2可微分張量25
2.2.3利用自動微分求梯度26
2.2.4 Function:自動微分實現基礎29
2.2.5注意事項31
2.3 PyTorch應用實戰一:實現卷積操作34
2.3.1卷積操作34
2.3.2利用張量操作實現卷積36
2.4 PyTorch應用實戰二:實現卷積神經網絡進行圖像分類38

第3章PyTorch構建神經網絡
3.1 PyTorch神經網絡計算核心:torch.nn 43
3.1.1 nn.Module概述43
3.1.2結構化構建神經網絡47
3.1.3經典神經網絡層介紹49
3.1.4函數式操作nn.functional 53
3.2 PyTorch優化器55
3.2.1 torch.optim概述55
3.2.2經典優化器介紹56
3.2.3學習率調整57
3.3 PyTorch應用實戰一:實現二值化神經網絡59
3.3.1二值化網絡BinaryNet概述59
3.3.2具體實現60
3.4 PyTorch應用實戰二:利用LSTM實現文本情感分類63
3.4.1文本情感分類63
3.4.2具體實現65

第4章基於PyTorch構建複雜應用
4.1 PyTorch數據加載70
4.1.1數據預處理:torchvision.transforms 70
4.1.2數據加載:torch.utils.data 73
4.2 PyTorch模型搭建77
4.2.1經典模型複用與分享:torchvision.models 78
4.2.2模型加載與保存79
4.2.3導出為ONNX格式85
4.3訓練過程中日誌記錄與可視化89
4.4 PyTorch應用實戰一:在CIFAR10數據集進行神經網絡結構搜索93
4.4.1可微分網絡架構搜索DARTS介紹94
4.4.2簡化問題建模:以ResNet為例95
4.4.3具體實現96
4.5 PyTorch應用實戰二:在ImageNet數據集進行弱監督物體定位108
4.5.1 GradCAM解釋顯著圖方法介紹108
4.5.2弱監督物體定位任務109
4.5. 3具體實現110

第5章PyTorch高級技巧與實戰應用
5.1 PyTorch並行計算118
5.1.1大規模數據集加載118
5.1.2模型的高效並行計算122
5.1.3加速模型計算和減少顯存使用125
5.2擴展PyTorch 126
5.2.1利用C++和CUDA實現自定義算子126
5.2.2利用TorchScript導出PyTorch模型136
5.3豐富的PyTorch資源介紹145
5.4 PyTorch應用實戰一:在ImageNet上訓練MobileNet-V2網絡146
5.4.1 MobileNet-V2網絡介紹146
5.4.2具體實現147
5.5 PyTorch應用實戰二:利用CUDA擴展實現MixConv算子157
5.5.1 MixConv算子介紹157
5.5.2借鑒Depthwise卷積實現思路158
5.5.3具體實現160

第6章PyTorch完整實戰講解——網絡剪枝應用
6.1網絡剪枝介紹169
6.1.1剪枝方法分類169
6.1.2基於權重通道重要性的結構化剪枝170
6.1.3問題定義與建模170
6.2具體實現思路171
6.2.1如何附屬控制門值171
6.2. 2剪枝結構搜索172
6.2.3剪枝模型訓練174
6.3完整代碼實現175
6.3.1模型搭建176
6.3.2剪枝器實現181
6.3.3學習控制門變量183
6.3.4剪枝模型187
6.3. 5訓練模型189
6.3.6規模化啟動訓練任務193
6.4實驗結果198

參考文獻