X2Paddle:手把手教你迁移代码——论文复现方法论

使用飞桨复现论文的基本方法以及基本步骤。本文是飞桨论文复现打卡营第3期课程第二天《飞桨论文复现方法论》的笔记,以AlexNet为例进行复现。

一、通读论文

要想复现论文,首先需要看懂这篇论文做了什么,他的创新点是什么。

以AlexNet为例,其对应论文:《ImageNet Classification with Deep Convolutional Neural Networks

通过阅读论文,可以知道AlexNet网络结构在整体上类似于LeNet,都是先卷积然后在全连接。但在细节上有很大不同。AlexNet更为复杂,有6000万个参数和65000个神经元,五层卷积,三层全连接网络,最终的输出层是1000通道的softmax。AlexNet利用了两块GPU进行计算,大大提高了运算效率,其架构如下图所示:

它的创新点主要有以下几点:

  1. 首次引入ReLU激活函数
    • 之前都是tanh和sigmoid激活函数,收敛慢且效果不好,用ReLU可以保证很多权重梯度不消失,且计算量更少,效果更好
  2. 首次使用多个GPU并行训练
    • 由于当时的GPU设备显存较小, AlexNet使用了两个GPU并行计算
  3. overlapping pooling
    • 滑动窗口大于滑动步长,可以避免过拟合,进一步提升精度
  4. 使用Dropout
    • 该技术可以减少神经元之间的相互依赖性。因此,模型被强制学习更加稳健的特征

二、原始代码解析

论文发表以后,论文作者一般都会在GitHub上开源自己的代码,我们可以先去看看论文作者的代码,并将其跑通。

以AlexNet为例,其用Pytorch实现的对应代码:https://github.com/littletomatodonkey/AlexNet-Prod/tree/master/AlexNet-torch,其核心是train.py这个文件。

!git clone https://gitee.com/AI-Mart/AlexNet-Prod.git
Cloning into 'AlexNet-Prod'...
remote: Enumerating objects: 62, done.[K
remote: Counting objects: 100% (62/62), done.[K
remote: Compressing objects: 100% (40/40), done.[K
remote: Total 62 (delta 20), reused 62 (delta 20), pack-reused 0[K
Unpacking objects: 100% (62/62), done.
Checking connectivity... done.
!tree AlexNet-Prod/AlexNet-torch
AlexNet-Prod/AlexNet-torch
├── presets.py
├── torchvision
│   ├── datasets
│   │   ├── folder.py
│   │   ├── __init__.py
│   │   └── vision.py
│   ├── _internally_replaced_utils.py
│   ├── models
│   │   ├── alexnet.py
│   │   └── __init__.py
│   └── transforms
│       ├── autoaugment.py
│       ├── functional_pil.py
│       ├── functional.py
│       ├── functional_tensor.py
│       ├── __init__.py
│       └── transforms.py
├── train.py
├── train.sh
└── utils.py

4 directories, 16 files

direct

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.郑先生_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值