Motivition: 双分支网络训练结束,分析可视化输出结果的时候突然发现,两个分支的输出结果一模一样!!!做差之后输出结果,果不其然,equal to zero! 小鬼上身,浑身纳闷。
Debug Progress:
- 可视化网络结构&check训练模型中的参数值:模型中的双分支学习到的参数值不会是一样的吧?
- 周末616,碰到了遇到了黑暗的一天!划水搭了个个人网站,逃避课程复习,逃避烦人的小鬼,逃避糟糕的记忆。。。最后自己给自己开了一枪,伤口上又撒了一把盐,心凉。夜幕降临,迎来另一个自己,写了日记,心暖。
- 周一,彻夜未眠的后遗症隔山打牛,混沌。还好灵感突现,解决了这个BUG,得以为今天画上圆满的句号。
从每层参数的输出结果可以看出,其顺序按照模型定义中的 init(self)函数,而非forward(self, input)函数。
于是,我怀疑所学模型的结果也有同样的诟病,于是check了一下所load进的模型,果不其然,和每层参数的输出有同样的顺序,怀疑近乎是正确的。
最后,改换模型代码,并输出训练结果,right unequal to zero!
Thinking: init(self)中所定义即forward(self, input)所使用(包装init(self)中的定义,贪图代码复用会招徕小麻烦&