у меня вот такая комбинация:
#mask: numpy array; conv: output from conv2d (tensor)
conv_masked = mask * conv
groups_list = tf.split(conv_masked, num_groups, axis=1)
stacked_groups = tf.stack(groups_list)
output_maps = tf.map_fn(lambda x: tf.reduce_sum(x, axis=1), stacked_groups)
out = tf.transpose(output_maps, perm=[1,0,2,3])