Backbone 之 Inception:纵横交错 (Pytorch实现及代码解析

本文介绍了Inception网络的两个版本,重点解析了Inception v1的结构和代码实现,包括基础卷积块、辅助分类器和全局平均池化。Inception v2通过增加BN层和使用两个3x3卷积替代5x5卷积,降低了参数量并增强了非线性能力。
摘要由CSDN通过智能技术生成
  • Inception的参数量较少,适合处理大规模数据,尤其是对于计算资源有限的平台

为进一步降低参数量,Inception又增加了较多的1x1卷积块进行降维,改进为Inception v1版本,Inception v1共9个上述堆叠的模块,共有22层,在最后的Inception 模块中还是用了全局平均池化。同时为避免造成网络训练时带来的梯度消失的现象,在这里引入两个辅助的分类器,在第三个和第六个的Inception模块输出后执行Softmax并计算损失,在训练时和最后的损失一并回传。


Inception v1基础结构图:

img

Inception v1代码:

import torch

from torch import nn

import torch.nn.functional as F

###定义一个包含卷积和ReLU池化的基础卷积块

class BasicConv2d(nn.Module):

def init(self, in_channels, out_channels, kernel_size, padding=0):

super(BasicConv2d, self).init()

self.conv = nn.Conv2d(in_channels, out_channels, kernel_size, padding=paddin

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值