tf.contrib.layers.spatial_softmax(
features,
temperature=None,
name=None,
variables_collections=None,
trainable=True,
data_format='NHWC'
)
Defined in tensorflow/contrib/layers/python/layers/layers.py
.
Computes the spatial softmax of a convolutional feature map.
First computes the softmax over the spatial extent of each channel of a convolutional feature map. Then computes the expected 2D position of the points of maximal activation for each channel, resulting in a set of feature keypoints [x1, y1, ... xN, yN] for all N channels.
Read more here: "Learning visual feature spaces for robotic manipulation with deep spatial autoencoders." Finn et al., http://arxiv.org/abs/1509.06113.
Args:
features
: ATensor
of size [batch_size, W, H, num_channels]; the convolutional feature map.temperature
: Softmax temperature (optional). If None, a learnable temperature is created.name
: A name for this operation (optional).variables_collections
: Collections for the temperature variable.trainable
: IfTrue
also add variables to the graph collectionGraphKeys.TRAINABLE_VARIABLES
(seetf.Variable
).data_format
: A string.NHWC
(default) andNCHW
are supported.
Returns:
feature_keypoints
: ATensor
with size [batch_size, num_channels * 2]; the expected 2D locations of each channel's feature keypoint (normalized to the range (-1,1)). The inner dimension is arranged as [x1, y1, ... xN, yN].
Raises:
ValueError
: If unexpected data_format specified.ValueError
: If num_channels dimension is unspecified.