title: Tensorflow Convolution Neural Network with different sized images
body: <p>I am attempting to create a deep CNN that can classify each individual pixel in an image. I am replicating architecture from the image below taken from <a href="https://github.com/dhasl002/Research-DeepLearning/blob/master/DEEP.pdf" rel="noreferrer">this</a> paper. In the paper it is mentioned that deconvolutions are used so that any size of input is possible. This can be seen in the image below. </p>
  
  <p><a href="https://github.com/dhasl002/Research-DeepLearning" rel="noreferrer">Github Repository</a></p>
  
  <p><a href="https://i.stack.imgur.com/VgITR.png" rel="noreferrer"><img src="https://i.stack.imgur.com/VgITR.png" alt="enter image description here"></a></p>
  
  <p>Currently, I have hard coded my model to accept images of size 32x32x7, but I would like to accept any size of input. <strong>What changes would I need to make to my code to accept variable sized input?</strong></p>
  
  <pre><code> x = tf.placeholder(tf.float32, shape=[None, 32*32*7])
   y_ = tf.placeholder(tf.float32, shape=[None, 32*32*7, 3])
   ...
   DeConnv1 = tf.nn.conv3d_transpose(layer1, filter = w, output_shape = [1,32,32,7,1], strides = [1,2,2,2,1], padding = 'SAME')
   ...
   final = tf.reshape(final, [1, 32*32*7])
   W_final = weight_variable([32*32*7,32*32*7,3])
   b_final = bias_variable([32*32*7,3])
   final_conv = tf.tensordot(final, W_final, axes=[[1], [1]]) + b_final
  </code></pre>