Tensorflow.js tf.logSumExp()函数
Tensorflow.js是谷歌开发的一个开源库,用于在浏览器或节点环境中运行机器学习模型和深度学习神经网络。
tf.logSumExp()函数用于计算张量元素在其维度上的对数和 exp。它沿轴的维度减少给定的输入元素。如果参数“keepDims”为真,则保留长度为 1 的缩减维度,否则 Tensor 的等级会减少 1。如果轴参数没有条目,则返回一个包含所有缩减维度的单个元素的 Tensor。
句法:
tf.logSumExp (x, axis, keepDims)
参数:此函数接受三个参数,如下所示:
- x:输入张量。
- 轴:要减少的指定维度。默认情况下,它会减少所有维度。它是可选参数。
- keepDims:如果此参数值为真,则保留长度为 1 的缩减维度,否则 Tensor 的秩减少 1。它也是可选参数。
返回值:返回对数和exp运算计算值的张量。
示例 1:
Javascript
// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
// Initializing a some tensors
const a = tf.tensor1d([0, 1]);
const b = tf.tensor1d([3, 5]);
const c = tf.tensor1d([2, 4, 7]);
// Calling the .logSumExp() function over
// the above tensors
a.logSumExp().print();
b.logSumExp().print();
c.logSumExp().print();
Javascript
// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
// Initializing a some tensors
const a = tf.tensor1d([0, 1]);
const b = tf.tensor2d([3, 5, 2, 8], [2, 2]);
const c = tf.tensor1d([2, 4, 7]);
// Initializing a axis parameters
const axis1 = -1;
const axis2 = -2;
const axis3 = 0;
// Calling the .logSumExp() function over
// the above tensors
a.logSumExp(axis1).print();
b.logSumExp(axis2, true).print();
c.logSumExp(axis1, false).print();
b.logSumExp(axis3, false).print();
输出:
Tensor
1.31326162815094
Tensor
5.126927852630615
Tensor
7.054985046386719
示例 2:
Javascript
// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
// Initializing a some tensors
const a = tf.tensor1d([0, 1]);
const b = tf.tensor2d([3, 5, 2, 8], [2, 2]);
const c = tf.tensor1d([2, 4, 7]);
// Initializing a axis parameters
const axis1 = -1;
const axis2 = -2;
const axis3 = 0;
// Calling the .logSumExp() function over
// the above tensors
a.logSumExp(axis1).print();
b.logSumExp(axis2, true).print();
c.logSumExp(axis1, false).print();
b.logSumExp(axis3, false).print();
输出:
Tensor
1.31326162815094
Tensor
[[3.3132617, 8.0485878],]
Tensor
7.054985046386719
Tensor
[3.3132617, 8.0485878]
参考: https://js.tensorflow.org/api/latest/#logSumExp