Skip to content

Unpooling of tensor that has been pooled using max_pool_with_argmax

Notifications You must be signed in to change notification settings

sangeet259/tensorflow_unpooling

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Credits :: Tensorflow's Issue No 2169 and all the people invloved there.

Unpooling in Tensorflow

Unpooling of tensor that has been pooled using max_pool_with_argmax

What is unpooling ?

It's a tensor operation which tries to regenerate the tensor which has been maxpooled .

This figure below illustrates it perfectly

alt text

More on max pooling here ::Max Pooling

The original paper on unpooling :: Unpooling

Some more resources one may find useful::

  1. Broadcasting in Numpy
  2. Scatter in tensorflow
  3. Cocatanation in Tensorflow
  4. Max Pool with Arg Max in Tensorflow

Example Usage ::

  1. Declare a tensor
original_tensor = tf.random_uniform([1,4,4,3],maxval=100,dtype='float32',seed=2)
  1. Use the max pool with arg max function to pool the tensor
pooled_tensor,max_indices=tf.nn.max_pool_with_argmax(original_tensor, ksize=[1,2,2,1], strides=[1,2,2,1], padding='SAME')
  1. Now armed with pooled_tensor and max_indices you can call the unpool_with_argamx function !
unpooled_tensor=unpool_with_with_argmax(pooled_tensor,max_indices)
  1. It's done !

Lets have a look at it

  1. Original Tensor

alt text


  1. Pooled Tensor

alt text


  1. Max Indices

alt text


  1. And finally the Unpooled Tensor alt text

About

Unpooling of tensor that has been pooled using max_pool_with_argmax

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages