本专栏用于记录关于深度学习的笔记,不光方便自己复习与查阅,同时也希望能给您解决一些关于深度学习的相关问题,并提供一些微不足道的人工神经网络模型设计思路。
专栏地址:「深度学习一遍过」必修篇
目录
项目 GitHub 地址
项目心得
- 2015 年——ResNet:这是由微软研究院的 Kaiming He 等四名华人提出,通过使用 ResNet Unit 成功训练出了更深层次的神经网络。该项目自己搭建了 ResNet18 网络并在 MNIST 手写数字识别项目中得到了应用。通过此次实践,我终于知道了跳层连接是如何连接的了:ResNet “跳层链接” 的代码体现在相同大小和相同特征图之间用 “+” 相连,而不是 concat。concat 操作常用于 inception 结构中,具体而言是用于特征图大小相同二通道数不同的通道合并中,而看起来简单粗暴的 “+” 连接方式则是用于 ResNet 的 “跳层连接” 结构中,具体而言是用于特征图大小相同且通道数相同的特征图合并。这让我想到一句古诗:“绝知此事要躬行” 啊!
项目代码
下面这张图是网上找的,描述的细节是真的赞!

net.py
#!/usr/bin/python
# -*- coding:utf-8 -*-
# ------------------------------------------------- #
# 作者:赵泽荣
# 时间:2021年9月10日(农历八月初四)
# 个人站点:1.https://zhao302014.github.io/
# 2.https://blog.youkuaiyun.com/IT_charge/
# 个人GitHub地址:https://github.com/zhao302014
# ------------------------------------------------- #
import torch
import torch.nn as nn
import torch.nn.functional as F
# --------------------------------------------------------------------------------- #
# 自己搭建一个 ResNet18 模型结构
# · 提出时间:2015 年(作者:何凯明)
# · ResNet 解决了深度 CNN 模型难训练的问题
# · ResNet 在 2015 名声大噪,而且影响了 2016 年 DL 在学术界和工业界的发展方向
# · ResNet 网络是参考了 VGG19 网络,在其基础上进行了修改,并通过短路机制加入了残差单元
# · 变化主要体现在 ResNet 直接使用 stride=2 的卷积做下采样,并且用 global average pool 层替换了全连接层
# · ResNet 的一个重要设计原则是:当 feature map 大小降低一半时,feature map 的数量增加一倍,这保持了网络层的复杂度
# · ResNet18 的 18 指定的是带有权重的 18 层,包括卷积层和全连接层,不包括池化层和 BN 层
# · ResNet “跳层链接” 的代码体现在相同大小和相同特征图之间用 “+” 相连,而不是 concat
# --------------------------------------------------------------------------------- #
class MyResNet18(nn.Module):
def __init__(self):
super(MyResNet18, self).__init__()
# 第一层:卷积层
self.conv1 = nn.Conv2d(in_channels=3, out_channels=64, kernel_size=7, stride=2, padding=3)
self.bn1 = nn.BatchNorm2d(64)
# Max Pooling 层
self.s1 = nn.MaxPool2d(kernel_size=3, stride=2, padding=1)
# 第二、三层:“实线”卷积层
self.conv2 = nn.Conv2d(in_channels=64, out_channels=64, kernel_size=3, stride=1, padding=1)
self.bn2 = nn.BatchNorm2d(64)

本文详细介绍了2015年微软提出的ResNet18在MNIST手写数字识别中的应用,涉及网络结构、跳层连接原理及PyTorch实现。通过实际代码展示,助你掌握深度学习入门模型设计。
最低0.47元/天 解锁文章

9582

被折叠的 条评论
为什么被折叠?



