[edgeconv] build: fixed bug in feature position
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]])>]