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


Python tf.sparse.expand_dims用法及代码示例


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

用法

tf.sparse.expand_dims(
    sp_input, axis=None, name=None
)

参数

  • sp_input 一个SparseTensor
  • axis 0-D(标量)。指定展开 input 形状的维度索引。必须在 [-rank(sp_input) - 1, rank(sp_input)] 范围内。默认为 -1
  • name 输出的名称 SparseTensor

返回

  • sp_input 具有相同数据的 SparseTensor ,但其形状添加了大小为 1 的附加维度。

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

此操作可用于:

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

例如:

如果您有一个形状为 [height, width, depth] 的稀疏张量:

sp = tf.sparse.SparseTensor(indices=[[3,4,1]], values=[7,],
                            dense_shape=[10,10,3])

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

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

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

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

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

tf.sparse.expand_dims(sp, axis=-1).shape.as_list()
[10, 10, 3, 1]

注意:tf.expand_dims 不同,此函数包含 axis 的默认值:-1。因此,如果未指定 `axis,则添加内部维度。

sp.shape.as_list()
[10, 10, 3]
tf.sparse.expand_dims(sp).shape.as_list()
[10, 10, 3, 1]

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

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

此操作与以下内容有关:

相关用法


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