What is tf.expand_dims?

  1. expand_dims will not add or reduce elements in a tensor, it just changes the shape by adding 1 to dimensions.
  2. For example, a vector with 10 elements could be treated as a 10×1 matrix.
  3. The situation I have met to use expand_dims is when I tried to build a ConvNet to classify grayscale images. The grayscale images will be loaded as matrix of size [320, 320]. However, tf.nn.conv2d require input to be [batch, in_height, in_width, in_channels], where the in_channels dimension is missing in my data which in this case should be 1. So I used expand_dims to add one more dimension