nn.ReLU() 和 nn.ReLU(inplace=True)区别

inplace=True
计算结果不会有影响。利用in-place计算可以节省内(显)存,同时还可以省去反复申请和释放内存的时间。但是会对原变量覆盖,只要不带来错误就用。

定义类 AlexNet,继承 nn.Module 类: 定义 __init__ 方法,传入参数 self 和 num_classes=3: 调用父类 nn.Module 的 __init__ 方法: 定义属性 features,值为 nn.Sequential 实例,包含以下层: 卷积层 nn.Conv2d,输入通道数为 3,输出通道数为 64,核大小为 11,步长为 4,填充为 2 激活函数层 nn.ReLUinplace 参数为 True 最大池化层 nn.MaxPool2d,核大小为 3,步长为 2 卷积层 nn.Conv2d,输入通道数为 64,输出通道数为 192,核大小为 5,填充为 2 激活函数层 nn.ReLUinplace 参数为 True 最大池化层 nn.MaxPool2d,核大小为 3,步长为 2 卷积层 nn.Conv2d,输入通道数为 192,输出通道数为 384,核大小为 3,填充为 1 激活函数层 nn.ReLUinplace 参数为 True 卷积层 nn.Conv2d,输入通道数为 384,输出通道数为 256,核大小为 3,填充为 1 激活函数层 nn.ReLUinplace 参数为 True 卷积层 nn.Conv2d,输入通道数为 256,输出通道数为 256,核大小为 3,填充为 1 激活函数层 nn.ReLUinplace 参数为 True 最大池化层 nn.MaxPool2d,核大小为 3,步长为 2 定义属性 avgpool,值为 nn.AdaptiveAvgPool2d 实例,输出大小为 (6, 6) 定义属性 classifier,值为 nn.Sequential 实例,包含以下层: Dropout 层 nn.Dropout 全连接层 nn.Linear,输入大小为 256 * 6 * 6,输出大小为 4096 激活函数层 nn.ReLUinplace 参数为 True Dropout 层 nn.Dropout 全连接层 nn.Linear,输入大小为 4096,输出大小为 4096 激活函数层 nn.ReLUinplace 参数为 True 全连接层 nn.Linear,输入大小为 4096,输出大小为 num_classes 定义 forward 方法,传入参数 self 和 x: x = self.features(x) x = self.avgpool(x) x = torch.flatten(x, 1) x = self.classifier(x) 返回 x
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值