我的caffe学习之路<第十四天>
来源:互联网 发布:软件编制资质 编辑:程序博客网 时间:2024/05/21 17:28
继续调昨天的bug2
为了解决这个segmentation fault 我做了很多尝试,其中有一样是把所有的num()改成shape(0),height()改成shape(1)......不过没用,虽然新版的caffe是推荐用shape的。
然后我在github官方issues上搜了一下,发现有个人有一个cudaSuccess(77 vs. 0)的问题,虽然没有人回复,但他把信息列的很完整,包括操作过程,我本来想按他的方法做一下,看是不是和我一样,因为我好像也遇到过这个错误信息。然后因为make install用不了,我直接make runtest,发现Unknown V1LayerParameter layer type: 40 ,这就是我的新层,然后我在proto找到了前天添加的BN层,感觉多余就删掉了,只保留我自己写的Gen层,结果就能生成caffemodel了。
所以这个问题是由老版本的BN层引起的。虽然没找到具体哪一行引起了这个bug,但debug成功的感觉还是爽。以后再慢慢研究这个BN层。
收获:
1、对于我们这一行,在debug上拼时间是没用的,不如先好好休息,可能以前没注意到的小细节慢慢就注意到了。
2、对于像这种segmentation fault,我花一天时间定位到某一行,结果发现问题和这一行没有关系,不如倒退一步,所以对于已经弄好了的东西,不要随便在那上面改,做好git或者备份。(学会用giuhub对于大一点的项目来说是很有必要的,如果项目太大不好git,就物理备份一下)
3、对于不是某一行代码问题的bug,先怀疑自己的代码错了,导致别人鲁棒的代码出了问题,就算定位到别人的代码里,也要先怀疑是不是自己的代码引起的
今日收获:
unpool层是pool层反向回去得到的,如果是MAX则只保留最大值返回,其他的情况还没研究
deconv应该叫convolution transposed,是forward和backward颠倒顺序的卷积。如果输入是(n,c,h,1)核和步长是(k*1,s*1)则结果为s*(h-1)+k,若s==k则为h*k
bn层待研究
- 我的caffe学习之路<第十四天>
- 我的caffe学习之路<第一天>
- 我的caffe学习之路<第三天>
- 我的caffe学习之路<第五天>
- 我的caffe学习之路<第八天>
- 我的caffe学习之路<第九天>
- 学习python的第十四天
- 我的android(第十四天)
- java学习第十四天之String
- 第十四天java学习map的使用
- 程序学习第十四天
- .net学习第十四天
- JAVA学习第十四天
- 第十四天学习笔记
- Java学习第十四天
- python学习---第十四天
- JAVA求学之路第十四天
- 我的caffe学习之路<第二天>
- NDK,SDK,JNI
- C中多个宏字符串拼接
- js 用window.open打开新窗口,父窗口怎么向子窗口传值,子窗口怎么接收父窗口传来的参数
- 深入理解Javascript之this关键字
- CDH安装错误集锦
- 我的caffe学习之路<第十四天>
- Constructing Roads (最小生成树 Kruskal)
- 7.3 多元回归分析(multiple Regression)
- 自定义Behavior —— 仿知乎,FloatActionButton隐藏与展示
- 文件流中读行的正确使用(fgets、feof、ferror)
- UML类图几种关系的总结
- jQuery函数attr()和prop()的区别
- 健康秘密1
- 第十五周项目1---验证算法