经典CNN算法解析实战-第J7周:对于ResNeXt-50算法的思考

本周讨论焦点集中在ResNeXt-50的代码实现上,通过打印结构图辅助理解模型并检查可能的错误。作者认为代码无误,问题可能源于对conv_shortcut条件的理解。文中提到,当conv_shortcut为False时,由于在前一个Block中x的通道数已翻倍,因此匹配代码逻辑。建议通过设置conv_shortcut为True并调试来进一步验证代码正确性。
摘要由CSDN通过智能技术生成

一、课题背景和开发环境

📌第J7周:对于ResNeXt-50算法的思考📌

语言:Python3、Pytorch、TensorFlow

学到这里相信大家都有了一定的基础,基础程序的编写是没什么大问题了
我后面将会逐步引导大家从 知识层面的学习 过度到 能力层面的培养
前几天有同学询问了我一个很有意思的问题,我把它作为本周的任务
希望大家可以积极思考、探索
解决问题不是目的,学会如何解决这类问题才是重点
 

📌本周任务:📌
– 📌 你需要解决的疑问:这个代码是否有错? 对错与否都请给出你的思考
– 📌 打卡要求: 请查找相关资料、逐步推理模型、详细写下你的思考过程

二、模型代码(来自K同学啊)

先附上上周我所使用的代码

打印结构图

残差模块堆叠

 

 部分结构图

三、模型分析

我认为对于类似结构中的问题通过打印结构图的通道数可以方便学习理解,同时也能帮助我们在搭建网络的时候进行纠错。

对于代码的正确与否,我认为没有问题。

问题的产生应当来自对conv_shortcut的判断条件不明,重点关注什么时候conv_shortcu=False。

当conv_shortcut=True时,此时代码执行没有问题,二者通道数相等。

根据代码,在对x进行翻倍操作之后conv_shortcut=False,此时x为上一个Block的输出,而在第一次的Block中x的通道数已经翻倍,因此x的通道数为filtes*2,即代码没有问题。

对于类似的问题也可以采取将conv_shortcut设置为True,然后通过debug调试,也很容易验证代码的对错与否

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值