# Spatial Transformer Network The Spatial Transformer Network [1] allows the spatial manipulation of data within the network.


### API A Spatial Transformer Network implemented in Tensorflow 0.7 and based on [2]. #### How to use


```python transformer(U, theta, out_size) ``` #### Parameters U : float The output of a convolutional net should have the shape [num_batch, height, width, num_channels]. theta: float The output of the localisation network should be [num_batch, 6]. out_size: tuple of two ints The size of the output of the network #### Notes To initialize the network to the identity transform init ``theta`` to : ```python identity = np.array([[1., 0., 0.], [0., 1., 0.]]) identity = identity.flatten() theta = tf.Variable(initial_value=identity) ``` #### Experiments


We used cluttered MNIST. Left column are the input images, right are the attended parts of the image by an STN. All experiments were run in Tensorflow 0.7. ### References [1] Jaderberg, Max, et al. "Spatial Transformer Networks." arXiv preprint arXiv:1506.02025 (2015) [2] https://github.com/skaae/transformer_network/blob/master/transformerlayer.py