【发布时间】:2016-07-27 05:22:27
【问题描述】:
我习惯于在 Tensorflow 中使用学习过滤器,应用于输入数据(或前一层的输出)。
nn.conv2d 的输入形状是 [h,w,in_channels,out_channels],如果我的数据是形状 [?,n1,n2,1](第一个维度是 minibatch 大小),那么我将使用 shape for conv2d [h,w,1,m] 其中m 是我想学习的过滤器数量。
但是是否可以将输入本身用作过滤器?也就是说,我不想为小批量的每个切片学习相同的过滤器,而是对每个切片使用不同的过滤器 - 一个直接从输入派生的过滤器,我没有学习。
例如,如果我的输入数据由两部分组成,它们都是 2D 的,我的 minibatch 为 5,例如
D1 = [ [1,2] , [3,4] , [5,6] , [7,8] , [9,0] ]
D1 = [ [0,1] , [2,0] , [3,2] , [8,1] , [0,0] ]
然后我想执行[1,2] 与[0,1] 的卷积,[3,4] 与[2,0] 的卷积等(尺寸适合我的情况,这只是一个演示)。
使用nn.conv2d 可以做到这一点吗?如果没有,是否可以使用scan 或其他方式?
谢谢。
【问题讨论】:
标签: tensorflow