返回在索引 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]
此操作要求 axis
是 input.shape
的有效索引,遵循 python 索引规则:
-1-tf.rank(input) <= axis <= tf.rank(input)
此操作与以下内容有关:
tf.expand_dims
,它为密集张量提供此函数。tf.squeeze
,从密集张量中删除大小为 1 的维度。tf.sparse.reshape
,提供更灵活的整形能力。
相关用法
- Python tf.sparse.cross用法及代码示例
- Python tf.sparse.mask用法及代码示例
- Python tf.sparse.split用法及代码示例
- Python tf.sparse.to_dense用法及代码示例
- Python tf.sparse.maximum用法及代码示例
- Python tf.sparse.bincount用法及代码示例
- Python tf.sparse.concat用法及代码示例
- Python tf.sparse.transpose用法及代码示例
- Python tf.sparse.reduce_sum用法及代码示例
- Python tf.sparse.softmax用法及代码示例
- Python tf.sparse.to_indicator用法及代码示例
- Python tf.sparse.from_dense用法及代码示例
- Python tf.sparse.retain用法及代码示例
- Python tf.sparse.minimum用法及代码示例
- Python tf.sparse.segment_sum用法及代码示例
- Python tf.sparse.reduce_max用法及代码示例
- Python tf.sparse.fill_empty_rows用法及代码示例
- Python tf.sparse.slice用法及代码示例
- Python tf.sparse.cross_hashed用法及代码示例
- Python tf.sparse.reorder用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.sparse.expand_dims。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。