title: What is the difference between tensors and sparse tensors?
body: <p>I am having troubles understanding the meaning and usages for Tensorflow <em>Tensors</em> and <em>Sparse Tensors</em>. </p>
  
  <p>According to the documentation</p>
  
  <p>Tensor</p>
  
  <blockquote>
    <p>Tensor is a typed multi-dimensional array. For example, you can represent a mini-batch of images as a 4-D array of floating point numbers with dimensions [batch, height, width, channels].</p>
  </blockquote>
  
  <p>Sparse Tensor</p>
  
  <blockquote>
    <p>TensorFlow represents a sparse tensor as three separate dense tensors: indices, values, and shape. In Python, the three tensors are collected into a SparseTensor class for ease of use. If you have separate indices, values, and shape tensors, wrap them in a SparseTensor object before passing to the ops below.</p>
  </blockquote>
  
  <p>My understandings are Tensors are used for operations, input and output. And Sparse Tensor is just another representation of a Tensor(dense?). Hope someone can further explain the differences, and the use cases for them.</p>