当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.expand_dims用法及代码示例


返回在索引 axis 处插入长度为 1 的轴的张量。

用法

tf.expand_dims(
    input, axis, name=None
)

参数

  • input 一个Tensor
  • axis 整数,指定展开 input 形状的维度索引。给定 D 维度的输入,axis 必须在 [-(D+1), D] 范围内(包括)。
  • name 可选字符串。输出的名称 Tensor

返回

  • input 具有相同数据的张量,在 axis 指定的索引处插入了一个附加维度。

抛出

  • TypeError 如果未指定axis
  • InvalidArgumentError 如果 axis 超出范围 [-(D+1), D]

给定一个张量 input ,此操作在 input 的形状的维度索引 axis 处插入一个长度为 1 的维度。维度索引遵循 Python 索引规则:它是从零开始的,一个负数索引它从末尾向后计数。

此操作可用于:

  • 将外部"batch" 维度添加到单个元素。
  • 对齐轴以进行广播。
  • 将内部向量长度轴添加到标量张量。

例如:

如果您有一个形状为 [height, width, channels] 的图像:

image = tf.zeros([10,10,3])

您可以通过传递 axis=0 添加外部 batch 轴:

tf.expand_dims(image, axis=0).shape.as_list()
[1, 10, 10, 3]

新轴位置与 Python list.insert(axis, 1) 匹配:

tf.expand_dims(image, axis=1).shape.as_list()
[10, 1, 10, 3]

遵循标准 Python 索引规则,负数 axis 从末尾开始计数,因此 axis=-1 添加了最内层维度:

tf.expand_dims(image, -1).shape.as_list()
[10, 10, 3, 1]

此操作要求 axisinput.shape 的有效索引,遵循 Python 索引规则:

-1-tf.rank(input) <= axis <= tf.rank(input)

此操作与以下内容有关:

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.expand_dims。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。