ResNet源码及原理

标签: ResNet
1人阅读 评论(0) 收藏 举报
分类:

基于pytorch架构:

class Residual(nn.Module):
  def __init__(self, numIn, numOut):
    super(Residual, self).__init__()
    self.numIn = numIn
    self.numOut = numOut
    self.bn = nn.BatchNorm2d(self.numIn)
    self.relu = nn.ReLU(inplace = True)
    self.conv1 = nn.Conv2d(self.numIn, self.numOut / 2, bias = True, kernel_size = 1)
    self.bn1 = nn.BatchNorm2d(self.numOut / 2)
    self.conv2 = nn.Conv2d(self.numOut / 2, self.numOut / 2, bias = True, kernel_size = 3, stride = 1, padding = 1)
    self.bn2 = nn.BatchNorm2d(self.numOut / 2)
    self.conv3 = nn.Conv2d(self.numOut / 2, self.numOut, bias = True, kernel_size = 1)
    
    if self.numIn != self.numOut:
      self.conv4 = nn.Conv2d(self.numIn, self.numOut, bias = True, kernel_size = 1) 
    
  def forward(self, x):
    residual = x
    out = self.bn(x)
    out = self.relu(out)
    out = self.conv1(out)
    out = self.bn1(out)
    out = self.relu(out)
    out = self.conv2(out)
    out = self.bn2(out)
    out = self.relu(out)
    out = self.conv3(out)
    
    if self.numIn != self.numOut:
      residual = self.conv4(x)
    
    return out + residual

盗一张图:


设最终输出为H(x),即H(x)=F(x)+x。为什么说ResNet网络可以降低层数加深后梯度下降问题呢,假设输入x已经是最优,那么输出H(x)也为最优,那么F(x)=H(x)-x,就为0,而不是其他值。

查看评论

CNN入门讲解:从论文到代码,实现Resnet

首发于大家好,我是波波上期我们讲了resnet的基本原理上期文章地址:点击打开链接今天我们要讲的是Resnet的结构,并且在用代码实现这个Resnet论文地址:https://arxiv.org/pd...
  • bobo_jiang
  • bobo_jiang
  • 2018-02-25 18:56:27
  • 166

Resnet的Tensorflow实现源代码

Importimport skimage.io # bug. need to import this before tensorflow import skimage.transform # bu...
  • jasonzzj
  • jasonzzj
  • 2016-12-28 21:52:33
  • 6527

ResNet && DenseNet(原理篇)

这篇博客讲现在很流行的两种网络模型,ResNet和DenseNet,其实可以把DenseNet看做是ResNet的特例 文章地址: [1]Deep Residual Learning for Im...
  • Gavin__Zhou
  • Gavin__Zhou
  • 2016-12-03 16:29:45
  • 20958

ResNet原理及其在TF-Slim中的实现

北京 上海巡回站 | NVIDIA DLI深度学习培训2018年1月26/1月12日NVIDIA 深度学习学院 带你快速进入火热的DL领域阅读全文                           ...
  • leadai
  • leadai
  • 2018-01-10 00:00:00
  • 372

ResNet解读

目前看到的最好的Resnet解读http://www.cnblogs.com/alanma/p/6877166.html
  • cf1910094424
  • cf1910094424
  • 2017-05-22 21:53:38
  • 389

Deep Residual Networks(ResNet) 简介

Kaiming He 的《Deep Residual Learning for Image Recognition》获得了CVPR最佳论文。他提出的深度残差网络在2015年可以说是洗刷了图像方面的各大...
  • sxf1061926959
  • sxf1061926959
  • 2017-02-10 20:07:42
  • 6419

残差resnet网络原理详解

resnet在2015名声大噪,而且影响了2016年DL在学术界和工业界的发展方向。它对每层的输入做一个reference, 学习形成残差函数, 而不是学习一些没有reference的函数。这种残差函...
  • mao_feng
  • mao_feng
  • 2016-10-04 16:47:50
  • 65347

Tensorflow slim resnet v2源码阅读笔记

主要涉及: https://github.com/tensorflow/models/blob/master/research/slim/nets/resnet_v2.py https://git...
  • Wayne2019
  • Wayne2019
  • 2017-12-10 09:58:03
  • 821

ResNet 论文解读

ResNet优点 相比传统的卷积神经网络如VGG复杂度降低,需要的参数下降 可以做到更深,不会出现梯度弥散的问题 优化简单,分类准确度加深由于使用更深的网络 解决深层次网络的退化问题 解决梯度弥散常见...
  • GH_HOME
  • GH_HOME
  • 2017-09-03 20:07:15
  • 772

对ResNet的理解

ResNet要解决的问题深度学习网络的深度对最后的分类和识别的效果有着很大的影响,所以正常想法就是能把网络设计的越深越好,但是事实上却不是这样,常规的网络的堆叠(plain network)在网络很深...
  • Buyi_Shizi
  • Buyi_Shizi
  • 2016-11-25 16:14:42
  • 50544
    个人资料
    等级:
    访问量: 4072
    积分: 97
    排名: 141万+
    文章存档