caffe, Inception v2 Check failed: top_shape[j] == bottom[i]->shape(j)
来源:互联网 发布:淘宝助理苹果电脑版 编辑:程序博客网 时间:2024/06/06 09:17
使用Caffe 跑 Google 的Inception V2 对输入图片的shape有要求,某些shape输进去可能会报错。
Inception model中有从conv和pooling层concat的操作,而conv和pooling的output输出计算方式不完全一样。解决方案:
1. 按照原来prototxt输出图片
2. 把concat层前面stride为2的conv层替换stride为1,再额外加上一个stride为2的pooling层
e.g. 以 Inception v2 为例子InceptionBN
conv_3c_3x3, conv_3c_double_3x3_1
conv_4e_3x3, conv_4e_double_3x3_1
然后再接上 stride 为2 的max pooling 层,这样几个分支出来的shape都会保持一致。
layer { name: "conv_3c_3x3" type: "Convolution" bottom: "conv_3c_3x3_reduce" top: "conv_3c_3x3" convolution_param { num_output: 240 kernel_size: 3 stride: 1 pad: 1 }}layer { name: "max_pool_3c_3x3" type: "Pooling" bottom: "conv_3c_3x3" top: "conv_3c_3x3" pooling_param { pool: MAX kernel_size: 3 stride: 2 pad: 0 }}
这是取巧的做法,虽然保持了加载模型参数一致,但是增加了conv操作(stride变小)和多了一层pooling操作,会增加计算量和消耗显存。
阅读全文
0 0
- caffe, Inception v2 Check failed: top_shape[j] == bottom[i]->shape(j)
- caffe, Inception v2 Check failed: top_shape[j] == bottom[i]->shape(j)
- Check failed: top_shape[j] == bottom[i]->shape(j) (1 vs. 2) All inputs must have the same shape, exc
- [Caffe]:关于Check failed: shape[i] >= 0 (-2 vs. 0)错误
- n[i][j] <= n[i][j+1] n[i][j] <= n[i+1][j]
- Check failed: shape[i] >= 0 (-1 vs. 0)错误
- i += j ;与 i = i + j ; 的区别
- java i+=j 与 i = i+j 区别
- i ^= (j ^= (i ^= j))的IL代码
- j = j++
- j=j++循环
- caffe报错Check failed: outer_num_ * inner_num_ == bottom[1]->count() (524288 vs. 1024
- for(i=0,j=0;i<10,j<6;i++,j++)问题
- cuda计算C[i][j]=A[i][j]+B[i][j]
- [日常套路] Sum[i, j] = Sum[0, j]
- i = i++, i = ++i, j = i++, j = ++i 的区别
- java j=j++有感
- j=j++的问题
- codeforces 814D(25/600)
- Python XML解析
- Mysql for Mac/Windows 安装教程(2步搞定)
- 28.访问者模式
- GVim使用小结
- caffe, Inception v2 Check failed: top_shape[j] == bottom[i]->shape(j)
- JVM笔记整理(第1章)
- codeforces 208A(Dubstep) Java
- CodeForces #419 Div.2 B Karen and Coffee 差分 巧妙
- 链表详解
- mysql与myeclipse连接
- Angular4中常用管道
- Linux网卡驱动(1)-网卡驱动架构分析
- 斯坦福CS课程列表