ResNet学习总结

本文总结了ResNet的学习,包括ResNet的基本结构、Residual Block的两种类型:BasicBlock和Bottleneck,以及ResNet18的网络结构实现。在Pytorch框架下复现了ResNet,使用CIFAR10数据集进行训练。文章提到,理解从论文到代码的转换是学习过程中的挑战,并计划进一步研究R-CNN和YOLO系列。
摘要由CSDN通过智能技术生成

ResNet学习总结

2019-12-08——2019-12-09

阅读论文并复现了ResNet,其中复现代码均是基于Pytorch框架。

ResNet简述

该结构是由彼时还在MSRA的何凯明提出的,其精髓在于提出了Residual Block结构建立了梯度传播的”highway“用来减缓反向传播中的梯度消失问题,进而使得网络层数加深。其精髓的Residual block由可分为两种类型——BasicBlock和Bottleneck,分别用于ResNet18/34和ResNet50/101/152。结构分别如下:

BasicBlock:

BasicBlock
Bottleneck:
Bottleneck
ResNet的general architecture如下:
在这里插入图片描述
以下复现为模型ResNet18,数据集为CIFAR10。
网络结构代码如下:

import torch
import torch.nn as nn # Various Layers
import torch.optim as optim # Optimizers

class BasicBlock(nn.Module):
	def __init__(self, inplanes, outplanes, stride=1, downsample=None):
		super(BasicBlock, self).__init__()
		self.conv1 = nn.Conv2d(inplanes, outplanes, kernel_size=3, stride=stride, padding=1)
		self.bn1 = nn.BatchNorm2d(outplanes)
		self.relu = nn.ReLU(inplace=True)
		self.conv2 = nn.Conv2d(outplanes, outplanes, kernel_size=3, stride=1, padding=1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值