看官方讲解一些博客感觉一直不是很懂,下面是我的个人理解结合官方文档,有问题欢迎指出
tf.expand_dims(
input, axis=None, name=None, dim=None
)
给定的张量input
,该操作插入尺寸索引处的1维axis
的input
的形状。维度索引axis
从零开始;如果您为其指定负数,axis
则从末开始算起。
如果要将批次尺寸添加到单个元素,此操作很有用。例如,如果您有一个shape的图像[height, width, channels]
,则可以用制作一批1张图像expand_dims(image, 0)
,这将使shape成为[1, height, width, channels]
。
简单来说增加一个维度
import numpy as np
import tensorflow as tf
from numpy import array
current=np.array([
[0,7,1,2,2],
[1,7,3,4,3],
[2,7,5,6,6],
[3,7,7,8,7],
[4,7,7,8,7],
[5,7,7,8,7]
])
current = array(current)
current = tf.constant(current)
points_e = tf.expand_dims(current, axis=0)
注意看处理结果
官方例子 shape维度
# 't' is a tensor of shape [2]
tf.shape(tf.expand_dims(t, 0)) # [1, 2]
tf.shape(tf.expand_dims(t, 1)) # [2, 1]
tf.shape(tf.expand_dims(t, -1)) # [2, 1]
# 't2' is a tensor of shape [2, 3, 5]
tf.shape(tf.expand_dims(t2, 0)) # [1, 2, 3, 5]
tf.shape(tf.expand_dims(t2, 2)) # [2, 3, 1, 5]
tf.shape(tf.expand_dims(t2, 3)) # [2, 3, 5, 1]