ml-N
  • Introduction
  • Theory
    • Reinforcement Learning
      • Preface
      • Basic Conceptions
      • Multi-armed Bandits
      • Finite Markov Decision Processes
      • Dynamic Programming
    • Conception
    • IO
    • Architecture
    • Awesome Ideas
  • Tools
    • Caffe
      • Summary
      • Tips
      • Issues
    • Tensorflow
      • Tips
  • Applications
    • Object Detection
Powered by GitBook
On this page
  1. Tools
  2. Tensorflow

Tips

PreviousTensorflowNextApplications

Last updated 6 years ago

tf.rank()

I encountered this interesting problem when I was practicing a hands-on tensorflow project.

The rank of a tensor is not the same as the rank of a matrix. The rank of a tensor is the number of indices required to uniquely select each element of the tensor. Rank is also known as "order", "degree", or "ndims."

If you type:

import tensorflow as tf
X = tf.constant([[1,2,3], [4,5,6], [7,8,9]])
# Explicitly, the rank of the matrix X should be 3 but that's not the case for the tensor X.
with tf.Session() as sess:
    Xrank = sess.run(tf.rank(X))
    print("The rank of tensor X is {rank}.".format(rank=Xrank))

and we will get:

The rank of tensor X is 2.

It's especially important for the API tf.argmax() which you can refer to at . For the parameter axis:

axis: A Tensor. Must be one of the following types: int32, int64. int32 or int64, must be in the range [-tf.rank(input), tf.rank(input)). Describes which axis of the input Tensor to reduce across. For vectors, use axis = 0.

0 - reduce by column, 1 - reduce by row, 2 - reduce by the third dimension, et cetera.

here