Skip to content

[edgeconv] build: fixed bug in feature position

Dennis Noll requested to merge dennis.noll/edgeconv_keras:patch-1 into master

There was a bug in the edgeconv implementation which messed with the feature position. Effectively it mixed the features of the central pixel with the features of the neighbour.

This snippet shows what was going wrong before:

In [1]: a = np.array([1, 1, 1, 1, 2 ,2 ,2 ,2])
In [2]: b = np.reshape(a, (4, 2))

In [3]: tf.split(b, 2, -1)
Out[3]:
[<tf.Tensor: id=3, shape=(4, 1), dtype=int64, numpy=
 array([[1],
        [1],
        [2],
        [2]])>,
 <tf.Tensor: id=4, shape=(4, 1), dtype=int64, numpy=
 array([[1],
        [1],
        [2],
        [2]])>]

now it is behaving like:

In [1]: a = np.array([1, 1, 1, 1, 2 ,2 ,2 ,2])
In [2]: b = np.reshape(a, (2, 4))

In [3]: tf.split(b, 2, -2)
Out[3]: [<tf.Tensor: id=8, shape=(1, 4), dtype=int64, numpy=
 array([[1, 1, 1, 1]])>,
<tf.Tensor: id=9, shape=(1, 4), dtype=int64, numpy=
array([[2, 2, 2, 2]])>]

Merge request reports