求助:如何对多个输入的特征图向量进行丢弃

以下的讨论是基于:
MXNet版本: 1.5.0
操作系统: Win10
在实现LeNet原网络结构过程中,在实现第二个卷积层的时候,需要将6个特征图以16种不同的连接组合进行卷积(即每一种卷积操作都进行一些输入的丢弃)。
例如:
输出Y1的输入包含6个特征向量(每个向量的shape=(14,14)),将输入的6个特征向量 * [1,1,1,0,0,0]之后(即,只连接前3个特征,后3个特征丢弃)输入给5x5的卷积核卷积,然后得到一个(10,10)的输出结果Y1。
输Y2则是将输入的将输入的6个特征向量 * [0,0,0,1,1,1]之后(即,只连接后3个特征,前3个特征丢弃)输入给5x5的卷积核卷积,然后得到一个(10,10)的输出结果Y2。
gluon中卷积层的输入的的数据结构是(批量大小,通道,高,宽)。以Y1为例,具体来说就是,这一层的输入的格式实际上是(1, 6,14,14),然后在6这个维度上,我要把前3个(14,14)的特征图乘以1,然后后3个的内容全部乘以0丢弃掉。最终的输出的形状仍然是(1, 6,14,14)。我该怎么完成这个操作呢?

自己给自己回复下吧,做了一些测试试出来了,但是这样的做法显然不太有鲁棒性。先看下测试结果:
res = result.reshape((1,1,2,2))
test = test.reshape((1,1,2,2))
tt = nd.concat(res, test, dim=1)
tt
打印出来结果是:
[[[[1. 1.]
[1. 1.]]

[[1. 1.]
[1. 1.]]]]
<NDArray 1x2x2x2 @cpu(0)>
接着写测试用例
mask = [[1,0]]
aa = nd.array(mask[0]).reshape(2,1,1)
tt * aa
输出为:
[[[[1. 1.]
[1. 1.]]

[[0. 0.]
[0. 0.]]]]
<NDArray 1x2x2x2 @cpu(0)>
可以看到,下面的图的特征被成功丢弃了。那么这个丢弃mask的维度应该是:
(输入的通道数,1,1)
这样进行相乘之后,系统会自动广播完成之后,进行丢弃。