python pytorch_Python深度学习:基于PyTorch

前言

部分PyTorch基础

章Numpy基础2

1.1生成Numpy数组3

1.1.1从已有数据中创建数组3

1.1.2利用random模块生成数组4

1.1.3创建特定形状的多维数组5

1.1.4利用arange、linspace函数生成数组6

1.2获取元素7

1.3Numpy的算术运算9

1.3.1对应元素相乘9

1.3.2点积运算10

1.4数组变形11

1.4.1更改数组的形状11

1.4.2合并数组14

前言

部分PyTorch基础

章Numpy基础2

1.1生成Numpy数组3

1.1.1从已有数据中创建数组3

1.1.2利用random模块生成数组4

1.1.3创建特定形状的多维数组5

1.1.4利用arange、linspace函数生成数组6

1.2获取元素7

1.3Numpy的算术运算9

1.3.1对应元素相乘9

1.3.2点积运算10

1.4数组变形11

1.4.1更改数组的形状11

1.4.2合并数组14

1.5批量处理16

1.6通用函数17

1.7广播机制19

1.8小结20

第2章PyTorch基础21

2.1为何选择PyTorch?21

2.2安装配置22

2.2.1安装CPU版PyTorch22

2.2.2安装GPU版PyTorch24

2.3JupyterNotebook环境配置26

2.4Numpy与Tensor28

2.4.1Tensor概述28

2.4.2创建Tensor28

2.4.3修改Tensor形状30

2.4.4索引操作31

2.4.5广播机制32

2.4.6逐元素操作32

2.4.7归并操作33

2.4.8比较操作34

2.4.9矩阵操作35

2.4.10PyTorch与Numpy比较35

2.5Tensor与Autograd36

2.5.1自动求导要点36

2.5.2计算图37

2.5.3标量反向传播38

2.5.4非标量反向传播39

2.6使用Numpy实现机器学习41

2.7使用Tensor及Antograd实现机器学习44

2.8使用TensorFlow架构46

2.9小结48

第3章PyTorch神经网络工具箱49

3.1神经网络核心组件49

3.2实现神经网络实例50

3.2.1背景说明51

3.2.2准备数据52

3.2.3可视化源数据53

3.2.4构建模型53

3.2.5训练模型54

3.3如何构建神经网络?56

3.3.1构建网络层56

3.3.2前向传播57

3.3.3反向传播57

3.3.4训练模型58

3.4神经网络工具箱nn58

3.4.1nn.Module58

3.4.2nn.functional58

3.5优化器59

3.6动态修改学习率参数60

3.7优化器比较60

3.8小结62

第4章PyTorch数据处理工具箱63

4.1数据处理工具箱概述63

4.2utils.data简介64

4.3torchvision简介66

4.3.1transforms67

4.3.2ImageFolder67

4.4可视化工具69

4.4.1tensorboardX简介69

4.4.2用tensorboardX可视化神经网络71

4.4.3用tensorboardX可视化损失值72

4.4.4用tensorboardX可视化特征图73

4.5本章小结74

第二部分深度学习基础

第5章机器学习基础76

5.1机器学习的基本任务76

5.1.1监督学习77

5.1.2无监督学习77

5.1.3半监督学习78

5.1.4强化学习78

5.2机器学习一般流程78

5.2.1明确目标79

5.2.2收集数据79

5.2.3数据探索与预处理79

5.2.4选择模型及损失函数80

5.2.5评估及优化模型81

5.3过拟合与欠拟合81

5.3.1权重正则化82

5.3.2Dropout正则化83

5.3.3批量正则化86

5.3.4权重初始化88

5.4选择合适激活函数89

5.5选择合适的损失函数90

5.6选择合适优化器92

5.6.1传统梯度优化的不足93

5.6.2动量算法94

5.6.3AdaGrad算法96

5.6.4RMSProp算法97

5.6.5Adam算法98

5.7GPU加速99

5.7.1单GPU加速100

5.7.2多GPU加速101

5.7.3使用GPU注意事项104

5.8本章小结104

第6章视觉处理基础105

6.1卷积神经网络简介105

6.2卷积层107

6.2.1卷积核108

6.2.2步幅109

6.2.3填充111

6.2.4多通道上的卷积111

6.2.5激活函数113

6.2.6卷积函数113

6.2.7转置卷积114

6.3池化层115

6.3.1局部池化116

6.3.2全局池化117

6.4现代经典网络119

6.4.1LeNet-5模型119

6.4.2AlexNet模型120

6.4.3VGG模型121

6.4.4GoogleNet模型122

6.4.5ResNet模型123

6.4.6胶囊网络简介124

6.5PyTorch实现CIFAR-10多分类125

6.5.1数据集说明125

6.5.2加载数据125

6.5.3构建网络127

6.5.4训练模型128

6.5.5测试模型129

6.5.6采用全局平均池化130

6.5.7像Keras一样显示各层参数131

6.6模型集成提升性能133

6.6.1使用模型134

6.6.2集成方法134

6.6.3集成效果135

6.7使用现代经典模型提升性能136

6.8本章小结137

第7章自然语言处理基础138

7.1循环神经网络基本结构138

7.2前向传播与随时间反向传播140

7.3循环神经网络变种143

7.3.1LSTM144

7.3.2GRU145

7.3.3Bi-RNN146

7.4循环神经网络的PyTorch实现146

7.4.1RNN实现147

7.4.2LSTM实现149

7.4.3GRU实现151

7.5文本数据处理152

7.6词嵌入153

7.6.1Word2Vec原理154

7.6.2CBOW模型155

7.6.3Skip-Gram模型155

7.7PyTorch实现词性判别156

7.7.1词性判别主要步骤156

7.7.2数据预处理157

7.7.3构建网络157

7.7.4训练网络158

7.7.5测试模型160

7.8用LSTM预测股票行情160

7.8.1导入数据160

7.8.2数据概览161

7.8.3预处理数据162

7.8.4定义模型163

7.8.5训练模型163

7.8.6测试模型164

7.9循环神经网络应用场景165

7.10小结166

第8章生成式深度学习167

8.1用变分自编码器生成图像167

8.1.1自编码器168

8.1.2变分自编码器168

8.1.3用变分自编码器生成图像169

8.2GAN简介173

8.2.1GAN架构173

8.2.2GAN的损失函数174

8.3用GAN生成图像175

8.3.1判别器175

8.3.2生成器175

8.3.3训练模型175

8.3.4可视化结果177

8.4VAE与GAN的优缺点178

8.5ConditionGAN179

8.5.1CGAN的架构179

8.5.2CGAN生成器180

8.5.3CGAN判别器180

8.5.4CGAN损失函数181

8.5.5CGAN可视化181

8.5.6查看指定标签的数据182

8.5.7可视化损失值182

8.6DCGAN183

8.7提升GAN训练效果的一些技巧184

8.8小结185

第三部分深度学习实践

第9章人脸检测与识别188

9.1人脸识别一般流程188

9.2人脸检测189

9.2.1目标检测189

9.2.2人脸定位191

9.2.3人脸对齐191

9.2.4MTCNN算法192

9.3特征提取193

9.4人脸识别198

9.4.1人脸识别主要原理198

9.4.2人脸识别发展198

9.5PyTorch实现人脸检测与识别199

9.5.1验证检测代码199

9.5.2检测图像200

9.5.3检测后进行预处理200

9.5.4查看经检测后的图像201

9.5.5人脸识别202

9.6小结202

0章迁移学习实例203

10.1迁移学习简介203

10.2特征提取204

10.2.1PyTorch提供的预处理模块205

10.2.2特征提取实例206

10.3数据增强209

10.3.1按比例缩放209

10.3.2裁剪210

10.3.3翻转210

10.3.4改变颜色211

10.3.5组合多种增强方法211

10.4微调实例212

10.4.1数据预处理212

10.4.2加载预训练模型213

10.4.3修改分类器213

10.4.4选择损失函数及优化器213

10.4.5训练及验证模型214

10.5清除图像中的雾霾214

10.6小结217

1章神经网络机器翻译实例218

11.1Encoder-Decoder模型原理218

11.2注意力框架220

11.3PyTorch实现注意力Decoder224

11.3.1构建Encoder224

11.3.2构建简单Decoder225

11.3.3构建注意力Decoder226

11.4用注意力机制实现中英文互译227

11.4.1导入需要的模块228

11.4.2数据预处理228

11.4.3构建模型231

11.4.4训练模型234

11.4.5随机采样,对模型进行测试235

11.4.6可视化注意力236

11.5小结237

2章实战生成式模型238

12.1DeepDream模型238

12.1.1Deep Dream原理238

12.1.2DeepDream算法流程239

12.1.3用PyTorch实现DeepDream240

12.2风格迁移243

12.2.1内容损失244

12.2.2风格损失245

12.2.3用PyTorch实现神经网络风格迁移247

12.3PyTorch实现图像修复252

12.3.1网络结构252

12.3.2损失函数252

12.3.3图像修复实例253

12.4PyTorch实现DiscoGAN255

12.4.1DiscoGAN架构256

12.4.2损失函数258

12.4.3DiscoGAN实现258

12.4.4用PyTorch实现从边框生成鞋子260

12.5小结262

3章Caffe2模型迁移实例263

13.1Caffe2简介263

13.2Caffe如何升级到Caffe2264

13.3PyTorch如何迁移到Caffe2265

13.4小结268

4章AI新方向:对抗攻击269

14.1对抗攻击简介269

14.1.1白盒攻击与黑盒攻击270

14.1.2无目标攻击与有目标攻击270

14.2常见对抗样本生成方式271

14.2.1快速梯度符号法271

14.2.2快速梯度算法271

14.3PyTorch实现对抗攻击272

14.3.1实现无目标攻击272

14.3.2实现有目标攻击274

14.4对抗攻击和防御措施276

14.4.1对抗攻击276

14.4.2常见防御方法分类276

14.5总结277

5章强化学习278

15.1强化学习简介278

15.2Q-Learning原理281

15.2.1Q-Learning主要流程281

15.2.2Q函数282

15.2.3贪婪策略283

15.3用PyTorch实现Q-Learning283

15.3.1定义Q-Learing主函数283

15.3.2执行Q-Learing284

15.4SARSA算法285

15.4.1SARSA算法主要步骤285

15.4.2用PyTorch实现SARSA算法286

15.5小结287

6章深度强化学习288

16.1DQN算法原理288

16.1.1Q-Learning方法的局限性289

16.1.2用DL处理RL需要解决的问题289

16.1.3用DQN解决方法289

16.1.4定义损失函数290

16.1.5DQN的经验回放机制290

16.1.6目标网络290

16.1.7网络模型291

16.1.8DQN算法291

16.2用PyTorch实现DQN算法292

16.3小结295

附录APyTorch0.4版本变更296

附录BAI在各行业的新应用301

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值