![]() |
Graph upsampling by inverting the pooling map.
tfg.geometry.convolution.graph_pooling.unpool(
data, pool_map, sizes, name='graph_pooling_unpool'
)
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
.
Args | |
---|---|
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'. |
Returns | |
---|---|
Tensor with shape [A1, ..., A3, V2, C] .
|
Raises | |
---|---|
TypeError
|
if the input types are invalid. |
ValueError
|
if the input dimensions are invalid. |