Wie kann ich eine 1x1-Faltung, die über separate Tensoren entlang der räumlichen Dimension im Tensorflow verfügt, effizient implementieren? Es gibt eine tf.nn.depthwise_conv2d, die meinem Problem ähnlich ist, aber es hat separate Filter über Tiefe (d. 3. Dimension).Räumliche trennbare Faltung
Im einfachsten Fall out_channels = 1 diese Faltung kann geschrieben werden:
def spatial_conv(input, filter):
return tf.reduce_sum(tf.mul(input, filter), [3], keep_dims=True)
wo input.dim=[batch_size, input_width, input_height, channels]
und filter.dim=[input_width, input_height, channels]
. Ich möchte diese Faltung verallgemeinern, indem ich die Ausgaben von der gleichen Eingabe und von verschiedenen (aber derselben Form) Filtern verkette.