阅读(5.7k) 书签 (0)

TensorFlow函数教程:tf.io.deserialize_many_sparse

2019-02-18 16:49 更新

tf.io.deserialize_many_sparse函数

别名:

  • tf.deserialize_many_sparse
  • tf.io.deserialize_many_sparse
tf.io.deserialize_many_sparse(
    serialized_sparse,
    dtype,
    rank=None,
    name=None
)

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

从序列化的minibatch反序列化和连接SparseTensors。

输入serialized_sparse必须是shape为[N x 3]的字符串矩阵,其中N是最小批量大小,行对应于serialize_sparse打包输出。原始SparseTensor对象的秩必须全部匹配。当创建最终的SparseTensor时,它的秩高于传入SparseTensor对象的秩(它们已沿新行维度连接)。

输出SparseTensor对象的所有维度的shape值,但第一个是相应维度的输入SparseTensor对象的形状值的最大值。它的第一个形状值是N,即最小批量大小。

假设输入的SparseTensor对象的索引按标准字典顺序排序。如果不是这种情况,则在此步骤运行sparse.reorder后恢复索引排序。

例如,如果序列化输入是表示两个原始SparseTensor对象的[2, 3]矩阵:

index = [ 0]
        [10]
        [20]
values = [1, 2, 3]
shape = [50]

index = [ 2]
        [10]
values = [4, 5]
shape = [30]

然后最终反序列化SparseTensor将是:

index = [0  0]
        [0 10]
        [0 20]
        [1  2]
        [1 10]
values = [1, 2, 3, 4, 5]
shape = [2 50]

参数:

  • serialized_sparse:shape为[N, 3],类型为string的2-D Tensor。序列化和打包的SparseTensor对象。
  • dtype:序列化SparseTensor对象的dtype。
  • rank:(可选)Python int,SparseTensor对象的秩。
  • name:返回的张量的名称前缀(可选)

返回:

SparseTensor,表示反序列化的SparseTensors,沿着SparseTensors的第一个维度连接起来。

所有序列化的SparseTensors必须具有相同的秩和类型。