张量流中的卷积层:跨度vs tf.gather

问题描述

我在TensorFlow中实现了卷积神经网络。但是,我没有使用卷积运算符作为卷积层,而是使用tf.gather来选择第二个元素。使用此实现,与通常的stride运算符相比,我在cifar10上收到的“ 明显较差”的结果。有人有想法,怎么会发生?

所以基本上我要做的是:

输入->卷积-> custom_stride_operation->卷积->等等

我将其与:

输入->卷积(步幅为2)->卷积(步幅为2)-> 等等

我使用以下代码代替对形状(批量,高度,宽度,通道)的张量x的步幅操作:

i = tf.range(0,height//2,dtype=tf.int32)*2
i = tf.expand_dims(i,axis=0)
i = tf.repeat(i,tf.shape(input)[0],axis=0)

x = tf.gather(x,i,axis=1,batch_dims=1)
x = tf.gather(x,axis=2,batch_dims=1)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)