codecamp

TensorFlow函数:tf.sparse_concat

tf.sparse_concat 函数

sparse_concat(
    axis,
    sp_inputs,
    name=None,
    expand_nonconcat_dim=False,
    concat_dim=None
)

定义在:tensorflow/python/ops/sparse_ops.py.

参见指南:稀疏张量>操纵

沿着指定维度连接一个 SparseTensor 的列表.

串联是关于每个稀疏输入的稠密版本的.假定每个输入是 SparseTensor,其中,元素沿着增加的维数排序.

如果 expand_nonconcat_dim 为 False,则所有输入的形状必须匹配,但 concat 维度除外.如果 expand_nonconcat_dim 为 True,则允许输入的形状在所有输入中变化.

indices,values 和 shapes 列表必须具有相同的长度.

如果 expand_nonconcat_dim 为 False,则输出形状与输入相同,除了 concat 维度外,它是输入大小沿该维度的总和.

如果 expand_nonconcat_dim 为 True,则沿非 concat 维度的输出形状将扩展为所有输入中最大的输出形状,并且它是连续维度上输入大小的总和.

输出元素将采用沿维数增加的方式保留排序顺序.

这个操作在 O(M log M) 及时运行,其中 M 是所有输入中非空值的总数.这是因为需要进行内部排序才能在任意维度上高效地进行连接.

例如,如果 axis = 1 并且输入如下:

sp_inputs[0]: shape = [2, 3]
[0, 2]: "a"
[1, 0]: "b"
[1, 1]: "c"

sp_inputs[1]: shape = [2, 4]
[0, 1]: "d"
[0, 2]: "e"

那么输出将是:

shape = [2, 7]
[0, 2]: "a"
[0, 4]: "d"
[0, 5]: "e"
[1, 0]: "b"
[1, 1]: "c"

从图形上来说,这相当于:

[    a] concat [  d e  ] = [    a   d e  ]
[b c  ]        [       ]   [b c          ]

另一个例子,如果 axis = 1 并且输入如下:

sp_inputs[0]: shape = [3, 3]
[0, 2]: "a"
[1, 0]: "b"
[2, 1]: "c"

sp_inputs[1]: shape = [2, 4]
[0, 1]: "d"
[0, 2]: "e"

如果 expand_nonconcat_dim = False,则会导致错误.但是,如果 expand_nonconcat_dim = True,则会导致如下情况:

shape = [3, 7]
[0, 2]: "a"
[0, 4]: "d"
[0, 5]: "e"
[1, 0]: "b"
[2, 1]: "c"

从图形上来说,这相当于做:

[    a] concat [  d e  ] = [    a   d e  ]
[b    ]        [       ]   [b            ]
[  c  ]                    [  c          ]

函数参数:

  • axis:连接沿着的维度.必须在范围 [-rank,rank)中,其中rank是每个输入 SparseTensor 中的维数.
  • sp_inputs:SparseTensor要连接的列表.
  • name:返回张量的名称前缀(可选).
  • expand_nonconcat_dim:是否允许扩展非连续的维度.默认为False.
  • concat_dim:轴的旧(已弃用)名称.

返回值:

tf.sparse_concat函数返回具有连接输出的 SparseTensor.

可能引发的异常:

  • TypeError:如果 sp_inputs 不是一个 SparseTensor 列表,则引发此异常.
TensorFlow函数:tf.sparse_add
TensorFlow函数:tf.sparse_fill_empty_rows
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

TensorFlow 函数介绍

TensorFlow 函数模块:tf

TensorFlow的image模块

TensorFlow使用之tf.io

TensorFlow使用之tf.keras

TensorFlow函数教程:tf.keras.applications

TensorFlow函数教程:tf.keras.backend

TensorFlow使用之tf.metrics

TensorFlow使用之tf.nn

TensorFlow使用之tf.python_io

TensorFlow 功能函数

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }