pytorch卷积的简单操作
卷积神经网络
本文罗列一些简单的api
首先先补一个知识点:关于torch.nn.Xxxx 和 torch.nn.functional.xxx的 api的区别和使用建议
推荐博客: https://www.zhihu.com/question/66782101/answer/579393790
结论:
1 | PyTorch官方推荐:具有学习参数的(例如,conv2d, linear, batch_norm)采用nn.Xxx方式,没有学习参数的(例如,maxpool, loss func, activation func)等根据个人选择使用nn.functional.xxx或者nn.Xxx方式。但关于dropout,个人强烈推荐使用nn.Xxx方式,因为一般情况下只有训练阶段才进行dropout,在eval阶段都不会进行dropout。使用nn.Xxx方式定义dropout,在调用model.eval()之后,model中所有的dropout layer都关闭,但以nn.function.dropout方式定义dropout,在调用model.eval()之后并不能关闭dropout。 |
卷积
api介绍(2维卷积)
1 | torch.nn.Conv2d( |
实例代码
1 | import torch |
pooling
使用 F.avg_pool2d
,F.max_pool2d
upsampling
F.interpolate
实例代码
1 | import torch |
BatchNorm操作
1 | x = torch.rand(100,16,28,28)#表示一张尺寸为28×28的rgb图像 |