天天看點

新書速覽|細說PyTorch深度學習:理論、算法、模型與程式設計實作

作者:全棧開發圈

超詳細的PyTorch深度學習入門書,100餘個程式設計示例+6大熱點案例,大咖帶路,邊學邊實踐。

新書速覽|細說PyTorch深度學習:理論、算法、模型與程式設計實作

本書特點:

1. 專家編撰:由資深專家精心編撰,通俗易懂,娓娓道來

2.範例豐富:100餘個程式設計教學示例,幫你深入了解,邊學習、邊操練。

3. 實戰應用:6大典型應用,原理與實操并重,快速掌握提升實戰能力。

4 技術先進:視覺transformer模型詳解,緊跟大模型核心技術。

5 易于上手:Pytorch詳解并使用Python和NumPy+skLearn+Matplotlib

實作,人人都能快速上手。

6. 答疑解惑:提供配書資源檔案和公衆号“算法仿真線上”技術支援。

内容提要:

本書由業界專家編撰,采用理論描述加代碼實踐的思路,詳細介紹PyTorch的理論知識及其在深度學習中的應用。全書分為兩篇,第1篇為基礎知識,主要介紹PyTorch的基本知識、建構開發環境、卷積網絡、經典網絡、模型儲存和調用、網絡可視化、資料加載和預處理、資料增強等内容;第2篇為進階應用,主要介紹資料分類、遷移學習、人臉檢測和識别、生成對抗網絡、目标檢測、ViT等内容。

本書理論兼備執行個體,深入淺出,适合PyTorch初學者使用,也可以作為理工科院校大學生、研究所學生的教學用書,還可作為相關科研工程技術人員的參考書。

目錄

第1篇 基礎知識
第1章 人工智能和PyTorch
1.1 人工智能和深度學習
1.1.1 人工智能
1.1.2 深度學習
1.2 深度學習架構
1.3 PyTorch
1.3.1 PyTorch簡介
1.3.2 PyTorch的應用領域
1.3.3 PyTorch的應用前景
1.4 小結
第2章 開發環境
2.1 PyTorch的安裝
2.2 NumPy
2.2.1 NumPy的安裝與檢視
2.2.2 NumPy對象
2.2.3 數組
2.2.4 數學計算
2.3 Matplotlib
2.3.1 Matplotlib的安裝和簡介
2.3.2 Matplotlib Figure圖形對象
2.4 Scikit-Learn
2.5 小結
第3章 PyTorch入門
3.1 PyTorch的子產品
3.1.1 主要子產品
3.1.2 輔助子產品
3.2 張量
3.2.1 張量的資料類型
3.2.2 建立張量
3.2.3 張量存儲
3.2.4 次元操作
3.2.5 索引和切片
3.2.6 張量運算
3.3 torch.nn子產品
3.3.1 卷積層
3.3.2 池化層
3.3.3 激活層
3.3.4 全連接配接層
3.4 自動求導
3.5 小結
第4章 卷積網絡
4.1 卷積網絡的原理
4.1.1 卷積運算
4.1.2 卷積網絡與深度學習
4.2 NumPy建立神經網絡
4.3 PyTorch建立神經網絡
4.3.1 建立兩層神經網絡
4.3.2 神經網絡參數更新
4.3.3 自定義PyTorch的nn子產品
4.3.4 權重共享
4.4 全連接配接網絡
4.5 小結
第5章 經典神經網絡
5.1 VGGNet
5.1.1 VGGNet的結構
5.1.2 實作過程
5.1.3 VGGNet的特點
5.1.4 檢視PyTorch網絡結構
5.2 ResNet
5.2.1 ResNet的結構
5.2.2 殘差子產品的實作
5.2.3 ResNet的實作
5.2.4 ResNet要解決的問題
5.3 XceptionNet
5.3.1 XceptionNet的結構
5.3.2 XceptionNet的實作
5.4 小結
第6章 模型的儲存和調用
6.1 字典狀态(state_dict)
6.2 儲存和加載模型
6.2.1 使用ate_dict加載模型
6.2.2 儲存和加載完整模型
6.2.3 儲存和加載Checkpoint用于推理、繼續訓練
6.3 一個檔案儲存多個模型
6.4 通過裝置儲存和加載模型
6.5 小結
第7章 網絡可視化
7.1 HiddenLayer可視化
7.2 PyTorchViz可視化
7.3 TensorboardX可視化
7.3.1 簡介和安裝
7.3.2 使用TensorboardX
7.3.3 添加數字
7.3.4 添加圖檔
7.3.5 添加直方圖
7.3.6 添加嵌入向量
7.4 小結
第8章 資料加載和預處理
8.1 加載PyTorch庫資料集
8.2 加載自定義資料集
8.2.1 下載下傳并檢視資料集
8.2.2 定義資料集類
8.3 預處理
8.4 小結
第9章 資料增強
9.1 資料增強的概念
9.1.1 常見的資料增強方法
9.1.2 常用的資料增強庫
9.2 資料增強的實作
9.2.1 中心裁剪
9.2.2 随機裁剪
9.2.3 縮放
9.2.4 水準翻轉
9.2.5 垂直翻轉
9.2.6 随機角度旋轉
9.2.7 色度、亮度、飽和度、對比度的變化
9.2.8 随機灰階化
9.2.9 将圖形加上padding
9.2.10 指定區域擦除
9.2.11 伽馬變換
9.3 小結
第2篇 進階應用
第10章 圖像分類
10.1 CIFAR10資料分類
10.1.1 定義網絡訓練資料
10.1.2 驗證訓練結果
10.2 資料集劃分
10.3 貓狗分類實戰
10.3.1 貓狗資料預處理
10.3.2 建立網絡貓狗分類
10.4 小結
第11章 遷移學習
11.1 定義和方法
11.2 螞蟻和蜜蜂分類實戰
11.2.1 加載資料
11.2.2 定義訓練方法
11.2.3 可視化預測結果
11.2.4 遷移學習方法一:微調網絡
11.2.5 遷移學習方法二:特征提取器
11.3 小結
第12章 人臉檢測和識别
12.1 人臉檢測
12.1.1 定義和研究現狀
12.1.2 經典算法
12.1.3 應用領域
12.2 人臉識别
12.2.1 定義和研究現狀
12.2.2 經典算法
12.2.3 應用領域
12.3 人臉檢測與識别實戰
12.3.1 Dlib人臉檢測
12.3.2 基于MTCNN的人臉識别
12.4 小結
第13章 生成對抗網絡
13.1 生成對抗網絡簡介
13.2 數學模型
13.3 生成手寫體數字圖檔實戰
13.3.1 基本網絡結構
13.3.2 準備資料
13.3.3 定義網絡和訓練
13.3.4 生成結果分析
13.4 生成人像圖檔實戰
13.4.1 DCGAN簡介
13.4.2 資料準備
13.4.3 生成對抗網絡的實作
13.5 小結
第14章 目标檢測
14.1 目标檢測概述
14.1.1 傳統目标檢測算法的研究現狀
14.1.2 深度學習目标檢測算法的研究現狀
14.1.3 應用領域
14.2 檢測算法模型
14.2.1 傳統的目标檢測模型
14.2.2 基于深度學習的目标檢測模型
14.3 目标檢測的基本概念
14.3.1 IoU
14.3.2 NMS
14.4 Faster R-CNN目标檢測
14.4.1 網絡原理
14.4.2 實戰
14.5 小結
第15章 圖像風格遷移
15.1 風格遷移概述
15.2 固定風格固定内容的遷移
15.2.1 固定風格固定内容遷移的原理
15.2.2 PyTorch實作固定風格遷移
15.3 快速風格遷移
15.3.1 快速遷移模型的原理
15.3.2 PyTorch實作快速風格遷移
15.4 小結
第16章 ViT
16.1 ViT詳解
16.1.1 Transformer模型中的Attention注意力機制
16.1.2 視覺Transformer模型詳解
16.2 ViT圖像分類實戰
16.2.1 資料準備
16.2.2 定義ViT模型
16.2.3 定義工具函數
16.2.4 定義訓練過程
16.2.5 運作結果
16.3 小結
參考文獻           

作者簡介

淩峰,畢業于中國科學院大學,博士,從事機器學習、人工智能、圖像處理和計算視覺的研究 與開發工作多年,發表多篇論文,擁有豐富的機器學習算法實作經驗。

丁麒文,研究所學生畢業,主要從事圖像處理、機器學習、人工智能和機器視覺領域的研究工作, 熟練運用基于Pytorch、TensorFlow等深度學習架構實作相關圖像處理算法,并發表了多篇論文 。

推薦閱讀:

新書速覽|細說PyTorch深度學習:理論、算法、模型與程式設計實作

本文摘自《細說PyTorch深度學習:理論、算法、模型與程式設計實作》,獲出版社和作者授權釋出。

繼續閱讀