利用Pytorch实现ResNet34网络

利用Pytorch实现ResNet34网络

利用Pytorch实现ResNet网络
主要是为了学习Pytorch构建神经网络的基本方法,参考自«深度学习框架Pytorch:入门与实践»一书,作者陈云

1.什么是ResNet网络

ResNet(Deep Residual Network)深度残差网络,是由Kaiming He等人提出的一种新的卷积神经网络结构,其最重要的特点就是网络大部分是由如图一所示的残差单元组成,许多参数相同的残差单元连接起来组成BasicBlock,而许多BasicBlock组合起来再加上预处理层和最后的全连接分类层就组成了ResNet网络
1203819-20190528200713992-385156677.png

图一 残差单元

1.1 ResNet34网络的具体构造

具体构造如下图所示:

1203819-20190528200636316-1398099644.jpg

图2:ResNet34具体结构

除了最开始的卷积池化和最后的池化全连接外,网络中有许多结构相似的单元,这些重复单元的共同点就是有个跨层直连的shortcut。

不同层数的ResNet的配置清单:
1203819-20190528200653959-787225727.jpg

1.2 ResNet34网络的原理与优点

目前不太理解,待补充。。。。。。

2.Pytorch代码实现

2.1 实现代码

import torch as t
from torch import  nn
from torch.nn import functional as F


class ResidualBlock(nn.Module):
    def __init__(self,inchanel,outchanel,stride=1,shortcut=None):
        super(ResidualBlock,self).__init__()
        self.left=nn.Sequential(
            nn.Conv2d(inchanel,outchanel,3,stride,1,bias=False),
            nn.BatchNorm2d(out
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值