title: Find range of row of Tensor and avoiding for loop to do so
body: <p>I am fairly new to using tensorflow so it is possible there is a very obvious solution to my problem that I am missing. I currently have a 3-dimensional array filled with integer values. the specific values are not important so I have put in a smaller array with filler values for the sake of this question</p>
  
  <pre><code>    `Array = tf.constant([[[0,0,1000,0],[3000,3000,3000,3000],[0,2500,0,0]],
      [[100,200,300,400],[0,0,0,100],[300,300,400,300]]]).eval()`
  </code></pre>
  
  <p>So the array looks like this when printed I believe.</p>
  
  <pre><code>    `[[[0,0,1000,0],
         [3000,3000,3000,3000],
         [0,2500,0,0]],
        [[100,200,300,400],
         [0,0,0,100],
         [300,300,400,300]]]`
  </code></pre>
  
  <p>In reality this array has 23 2-D arrays stacked on top of each other. What I want to do is to create an array or 3 separate arrays that contain the range of values in each row of different levels of the 3-D array.</p>
  
  <p>Something like </p>
  
  <pre><code>   `Xrange = tf.constant([Array[0,0,:].range(),Array[1,0,:].range(),Array[2,0,:].range()...,Array[22,0,:].range()])`
  </code></pre>
  
  <p>Firstly, I am having trouble finding a functioning set of commands strung together using tensorflow that allows me to find the range of the row. I know how to do this easily in numpy but have yet to find any way to do this. Secondly, assuming there is a way to do the above, is there a way to consolidate the code without having to write it out 23 times within one line for each unique row. I know that could simply be done with a for loop, but I would also like to avoid using a solution that requires a loop. Is there a good way to do this, or is more information needed? Also please let me know if I'm screwing up my syntax since I'm still fairly new to both python and tensorflow.</p>