tf.expand_dims()
Function
tf.expand_dims(input, axis=None, name=None, dim=None)
在第axis位置增加一个维度
给定张量输入,此操作在输入形状的维度索引轴处插入1的尺寸。 尺寸索引轴从零开始; 如果您指定轴的负数,则从最后向后计数。
如果要将批量维度添加到单个元素,则此操作非常有用。 例如,如果您有一个单一的形状[height,width,channels],您可以使用expand_dims(image,0)使其成为1个图像,这将使形状[1,高度,宽度,通道]。
For example:
-
# 't' is a tensor of shape [2]
-
shape(expand_dims(t, 0)) ==> [1, 2]
-
shape(expand_dims(t, 1)) ==> [2, 1]
-
shape(expand_dims(t, -1)) ==> [2, 1]
-
# 't2' is a tensor of shape [2, 3, 5]
-
shape(expand_dims(t2, 0)) ==> [1, 2, 3, 5]
-
shape(expand_dims(t2, 2)) ==> [2, 3, 1, 5]
-
shape(expand_dims(t2, 3)) ==> [2, 3, 5, 1]
Args:
输入:张量。
轴:0-D(标量)。 指定扩大输入形状的维度索引。
名称:输出名称Tensor。
dim:0-D(标量)。 等同于轴,不推荐使用。
Returns:
tf.squeeze()
Function
tf.squeeze(input, squeeze_dims=None, name=None)
从tensor中删除所有大小是1的维度
给定张量输入,此操作返回相同类型的张量,并删除所有尺寸为1的尺寸。 如果不想删除所有尺寸1尺寸,可以通过指定squeeze_dims来删除特定尺寸1尺寸。
如果不想删除所有大小是1的维度,可以通过squeeze_dims指定。
For example:
-
# 't' is a tensor of shape [1, 2, 1, 3, 1, 1]
-
shape(squeeze(t)) ==> [2, 3]
-
Or, to remove specific size 1 dimensions:
-
# 't' is a tensor of shape [1, 2, 1, 3, 1, 1]
-
shape(squeeze(t, [2, 4])) ==> [1, 2, 3, 1]
Args:
输入:张量。 输入要挤压。
squeeze_dims:可选的ints列表。 默认为[]。 如果指定,只能挤压列出的尺寸。 维度索引从0开始。挤压不是1的维度是一个错误。
名称:操作的名称(可选)。
Returns:
张量。 与输入的类型相同。 包含与输入相同的数据,但具有一个或多个删除尺寸1的维度
另外补充一点:有时候会遇到axis=-1的情况,这里指的是默认的轴,它和reshape里边的-1有相似之处,都是要电脑自动判断。