pytorch模型的坑:双分支网络的输出结果一模一样

在训练PyTorch的双分支网络时,发现两个分支的输出完全一致。通过检查模型结构和参数,发现在`init(self)`中定义的参数顺序影响了`forward(self, input)`的输出顺序。调整模型代码后,问题得到解决。本文探讨了代码复用可能带来的困扰,并表达了对身边人的感激之情。" 80640370,7724084,Metasploit辅助模块:扫描与性能提升,"['渗透测试', '安全扫描', 'Metasploit框架', '端口扫描', '模块配置']
摘要由CSDN通过智能技术生成

Motivition: 双分支网络训练结束,分析可视化输出结果的时候突然发现,两个分支的输出结果一模一样!!!做差之后输出结果,果不其然,equal to zero! 小鬼上身,浑身纳闷。
Debug Progress:

  1. 可视化网络结构&check训练模型中的参数值:模型中的双分支学习到的参数值不会是一样的吧?
  2. 周末616,碰到了遇到了黑暗的一天!划水搭了个个人网站,逃避课程复习,逃避烦人的小鬼,逃避糟糕的记忆。。。最后自己给自己开了一枪,伤口上又撒了一把盐,心凉。夜幕降临,迎来另一个自己,写了日记,心暖。
  3. 周一,彻夜未眠的后遗症隔山打牛,混沌。还好灵感突现,解决了这个BUG,得以为今天画上圆满的句号。

每层参数的输出结果可以看出,其顺序按照模型定义中的 init(self)函数,而非forward(self, input)函数。
于是,我怀疑所学模型的结果也有同样的诟病,于是check了一下所load进的模型,果不其然,和每层参数的输出有同样的顺序,怀疑近乎是正确的。
最后,改换模型代码,并输出训练结果,right unequal to zero!
Thinking: init(self)中所定义即forward(self, input)所使用(包装init(self)中的定义,贪图代码复用会招徕小麻烦&

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值