PyTorch 開發入門:深度學習模型的構建與程序實現

PyTorch 開發入門:深度學習模型的構建與程序實現

作者: 杜世橋
出版社: 機械工業
出版在: 2022-03-01
ISBN-13: 9787111700555
ISBN-10: 7111700554
裝訂格式: 平裝
總頁數: 192 頁





內容描述


《PyTorch開發入門:深度學習模型的構建與程序實現》以PyTorch為主要內容,介紹了其安裝和實際應用,共7章。
其中,第1章介紹了PyTorch的包結構;
第2章介紹了線性模型,並通過PyTorch的實際使用來實現線性回歸模型和邏輯回歸模型;
第3章介紹了神經網絡,實際使用PyTorch創建一個多層感知器(Perceptron);
第4章介紹了通過卷積神經網絡(CNN)進行的圖像處理,通過PyTorch實際進行CNN的圖像分類,低分辨率圖像到高分辨率的轉換,
使用深度卷積生成對抗網絡(DCGAN)進行新的圖像生成以及遷移學習;
第5章介紹了通過循環神經網絡(RNN)進行的自然語言處理,
通過PyTorch實際進行文本的分類和文本的生成以及基於編碼器-解碼器模型的機器翻譯;
第6章介紹了矩陣分解以及 系統的神經網絡構建;
第7章介紹了PyTorch模型的應用程序嵌入,WebAPI的實際創建,Docker的打包發布,
以及基於*新開放神經網絡交換(ONNX)標準的模型移植。


目錄大綱


目 錄
譯者序
原書前言
閱讀本書需要的知識基礎
本書的構成
關於本書樣例和样例程序的運行環境
第0 章 開發環境的準備 001
0.1 本書的驗證環境 002
0.1.1 OS 環境:Ubuntu 16.04 002
0.1.2 NVIDIA 公司的GPU 002
0.1.3 在雲端啟動GPU 配置的實例 003
0.2 開發環境的構建 004
0.2.1 Miniconda 的安裝 004
0.2.2 虛擬環境的構建 007

第1 章 PyTorch 基礎 011
1.1 PyTorch 的構成 012
1.1.1 PyTorch 整體情況 012
1.2 Tensor 013
1.2.1 Tensor 的生成和轉換 013
1.2.2 Tensor 的索引操作 014
1.2.3 Tensor 的運算 015
1.3 Tensor 和自動微分 020
1.4 本章小結 022

第2 章 極大似然估計與線性模型 023
2.1 隨機模型和極大似然估計 024
2.2 隨機梯度下降法 026
2.3 線性回歸模型 027
2.3.1 線性回歸模型的極大似然估計 027
2.3.2 PyTorch中的線性回歸模型(from scratch) 028
2.3.3 PyTorch中的線性回歸模型(nn、optim 模塊的應用) 030
2.4 logistic回歸 033
2.4.1 logistic回歸的極大似然估計 033
2.4.2 PyTorch中的logistic 回歸 034
2.4.3 多元logistic回歸 036
2.5 本章小結 039
第3 章 多層感知器 041
3.1 MLP 的構建與學習 042
3.2 Dataset 與DataLoader 046
3.3 高效學習的提示 048
3.3.1 基於Dropout 的正則化 048
3.3.2 通過Batch Normalization 進行學習的加速 051
3.4 網絡模塊化 053
3.4.1 自有網絡層(自定義層)的創建 053
3.5 本章小結 055

第4 章 圖像處理和卷積神經網絡 057
4.1 圖像的捲積計算 058
4.2 基於CNN 的圖像分類 059
4.2.1 Fashion-MNIST 059
4.2.2 CNN 的構建與學習訓練 061
4.3 遷移學習 066
4.3.1 數據準備 068
4.3.2 通過PyTorch 進行遷移學習 070
4.4 通過CNN 回歸模型提高圖像分辨率 076
4.4.1 數據準備 076
4.4.2 模型的創建 078
4.5 基於DCGAN 的圖像生成 084
4.5.1 什麼是GAN 084
4.5.2 數據準備 084
4.5.3 基於PyTorch 的DCGAN 086
4.6 本章小結 094
第5 章 自然語言處理與循環神經網絡 095
5.1 RNN 096
5.2 文本數據的數值化 097
5.3 RNN 與文本的分類 099
5.3.1 IMDb 評論數據集 099
5.3.2 網絡的定義和訓練 103
5.3.3 可變長度序列的處理 108
5.4 RNN 的文本生成 111
5.4.1 數據準備 111
5.4.2 模型的定義和學習 114
5.5 基於編碼器 - 解碼器模型的機器翻譯 119
5.5.1 編碼器- 解碼器模型 119
5.5.2 數據準備 120
5.5.3 基於PyTorch 的編碼器- 解碼器模型 124
5.6 本章小結 131
第6 章 推薦系統和矩陣分解 133
6.1 矩陣分解 134
6.1.1 理論背景 134
6.1.2 MovieLens 數據集 135
6.1.3 PyTorch 中的矩陣分解 136
6.2 基於神經網絡的矩陣分解 141
6.2.1 非線性矩陣分解 141
6.2.2 附加信息的使用 142
6.3 本章小結 149
第7 章 應用程序中的嵌入 151
7.1 模型的保存和讀取 152
7.2 使用Flask 的WebAPI 154
7.3 利用Docker 進行調試 162
7.3.1 nvidia-docker 的安裝 162
7.3.2 PyTorch Docker 映像的創建 163
7.3.3 WebAPI 的部署 165
7.4 與使用ONNX 的其他框架的協作 168
7.4.1 什麼是ONNX 168
7.4.2 PyTorch 模型的導出 169
7.4.3 Caffe2 中ONNX 模型的使用 170
7.4.4 將ONNX 模型另存為Caffe2 模型 172
7.5 本章小結 174
附錄
附錄A 訓練過程的可視化 175
A.1 通過TensorBoard 進行的可視化 176
附錄B Colaboratory 下PyTorch 開發環境的構建 181
B.1 Colaboratory 下PyTorch 開發環境的構建方法 182
B.1.1 什麼是Colaboratory 182
B.1.2 機器的配置 182
B.1.3 PyTorch 環境的構建 182
B.1.4 PyTorch 的安裝 189
B.1.5 數據的獲取 190




相關書籍

Machine Learning for Signal Processing: Data Science, Algorithms, and Computational Statistics (Hardcover)

作者 Little Max A.

2022-03-01

Python × APCS 解題思路

作者 劉士華

2022-03-01

Practical Machine Learning and Image Processing: For Facial Recognition, Object Detection, and Pattern Recognition Using Python

作者 Singh Himanshu (Author)

2022-03-01