tfg.geometry.convolution.graph_pooling.unpool

Graph upsampling by inverting the pooling map.

Upsamples a graph by applying a pooling map in reverse. The inputs pool_map and sizes are the same as used for pooling:

pooled = pool(data, pool_map, sizes)
upsampled = unpool(pooled, pool_map, sizes)

The shorthands used below are V1: The number of vertices in the input data. V2: The number of vertices in the unpooled output data. C: The number of channels in the data.

Note:

In the following, A1 to A3 are optional batch dimensions. Only up to three batch dimensions are supported due to limitations with TensorFlow's dense-sparse multiplication.

Please see the documentation for graph_pooling.pool for a detailed interpretation of the inputs pool_map and sizes.

data A float tensor with shape [A1, ..., A3, V1, C].
pool_map A SparseTensor with the same type as data and with shape [A1, ..., A3, V1, V2]. The features for vertex v1 are computed by pooling over the entries in pool_map[A1, ..., A3, v1, :]. This function applies this pooling map in reverse.
sizes An int tensor of shape [A1, ..., A3, 2] indicating the true input sizes in case of padding (sizes=None indicates no padding): sizes[A1, ..., A3, 0] <= V1 and sizes[A1, ..., A3, 1] <= V2.
name A name for this op. Defaults to 'graph_pooling_unpool'.

Tensor with shape [A1, ..., A3, V2, C].

TypeError if the input types are invalid.
ValueError if the input dimensions are invalid.