代码语言:javascript复制
tf.expand_dims(
input,
axis=None,
name=None,
dim=None
)
将维数1插入张量的形状中。(弃用参数)有些论点是不赞成的。它们将在未来的版本中被删除。更新说明:使用axis参数。给定一个张量输入,这个操作在输入形状的维数索引轴上插入一个维数为1的维度。尺寸指标轴从零开始; 如果为轴指定一个负数,则从末尾向后计数。如果希望向单个元素添加批处理维度,此操作非常有用。例如,如果你有一个shape [height, width, channels]的图像,你可以用expand_dims(image, 0)将它做成一批1个图像,这将生成shape [1, height, width, channels]。
别的例子:
代码语言:javascript复制# '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]
这项操作需要:
代码语言:javascript复制-1-input.dims() <= dim <= input.dims()
这个操作与squeeze()相关,它删除了size 1的维度。
参数:
- input: 一个张量。
- axis: 0-D(标量)。指定要在其中展开输入形状的维度索引。必须在[-rank(输入)- 1,rank(输入)]范围内。
- name: 输出张量的名称。
- dim: 0-D(标量)。相当于轴,要弃用。
返回值:
- 一个与输入数据相同的张量,但它的形状增加了尺寸为1的额外维数。
Raises:
ValueError
: if bothdim
andaxis
are specified.
原链接: https://tensorflow.google.cn/versions/r1.12/api_docs/python/tf/expand_dims?hl=en