📜  Tensorflow.js tf.sparseToDense()函数

📅  最后修改于: 2022-05-13 01:56:37.608000             🧑  作者: Mango

Tensorflow.js tf.sparseToDense()函数

Tensorflow.js是谷歌开发的一个开源库,用于在浏览器或节点环境中运行机器学习模型和深度学习神经网络。

tf.sparseToDense()函数用于将指定的稀疏表示转换为稠密张量。如果给定的索引重复,则最终值将对该索引的所有值求和。

句法:

tf.sparseToDense(sparseIndices, sparseValues, 
            outputShape, defaultValue)

参数:此函数接受四个参数,如下所示:

  • sparseIndices:它是数据类型 int32 的 0-D、1-D 或 2-D 张量。这里 sparseValues[i] 被放置在 sparseIndices[i] 中,其中 i 是索引值。
  • sparseValues:它是一个 0-D 或 1-D 张量值,对应于 sparseIndices 的每一行。
  • outputShape:它是转换后的密集输出张量的形状。
  • 默认值:它是 为未在 sparseIndices 中指定的索引设置的值。它的默认值为零。它是一个可选参数。

示例 1:

Javascript
// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
 
// Initializing indices and values
const indices = tf.tensor1d([4, 3, 2, 1, 0], 'int32');
const values = tf.tensor1d([1111, 111, 11, 1, 0.1], 'float32');
 
// Specifying shape for the output dense
const shape = [7];
 
// Getting the Dense representation for the above
// sparse representation
tf.sparseToDense(indices, values, shape).print();


Javascript
// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
 
// Initializing indices and values
const indices = tf.tensor1d([1, 2, 3], 'int32');
const values = tf.tensor1d([10, 20, 30], 'float32');
 
// Getting the Dense representation for the above
// sparse representation along with shape of [6]
// and default value of 55
tf.sparseToDense(indices, values, [6], 55).print();


输出:

Tensor
   [0.1, 1, 11, 111, 1111, 0, 0]

示例 2:

Javascript

// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
 
// Initializing indices and values
const indices = tf.tensor1d([1, 2, 3], 'int32');
const values = tf.tensor1d([10, 20, 30], 'float32');
 
// Getting the Dense representation for the above
// sparse representation along with shape of [6]
// and default value of 55
tf.sparseToDense(indices, values, [6], 55).print();

输出:

Tensor
   [55, 10, 20, 30, 55, 55]

参考: https://js.tensorflow.org/api/latest/#sparseToDense