当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Tensorflow.js tf.losses.softmaxCrossEntropy()用法及代码示例


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

Tensorflow.js tf.losses.softmaxrossEntropy() 函数计算两个张量之间的 softmax 交叉熵损失并返回一个新的张量。

用法:

tf.losses.softmaxCrossEntropy(onehotLabels, 
    logits, weights, labelSmoothing, reduction)

参数:此函数接受五个参数(其中最后三个是可选的),如下所示:

  • onehotLabels:它是一个与预测具有相同维度的热编码标签。
  • logits:它是预测的输出。
  • weights:这些是秩为 0 或 1 的那些张量,它们必须是可广泛铸造的以变形。
  • labelSmoothing:如果此参数的值大于 0,则会平滑标签。
  • reduction:这是适用于损失的减少类型。它必须是Reduction 类型。

注意:权重、标签平滑和减少等参数是可选的。



返回值:它返回一个在两个张量之间具有 softmax cross-entropy 损失的张量。

Javascript


// Importing the tensorflow.Js lbrary
import * as tf from "@tensorflow/tfjs"
  
// Creating onehotLabels tensor
const a  = tf.tensor2d([[1, 4, 5], [5, 5, 7]]);
  
// Creating logits tensor
const b    = tf.tensor2d([[3, 2, 5], [3, 2, 7]])
  
// Computing soft max cross entropy distance
softmax_cross_entropy = tf.losses.softmaxCrossEntropy(a, b)
softmax_cross_entropy.print();

输出:

Tensor
   30.55956268310547

范例2:在这个例子中,我们传递了一个可选参数,即标签平滑。如果大于 0,则平滑标签。

Javascript


// Importing the tensorflow.Js lbrary
import * as tf from "@tensorflow/tfjs"
  
// const tf = require("@tensorflow/tfjs")
  
// Creating labels tensor
const a = tf.tensor2d([[1,2,3,4,5], [7,8,9,10,11]])
  
// Creating predictions tensor
const b = tf.tensor2d([[6,735,8,59,10], [45,34,322,2,3]])
  
const c = tf.tensor2d([[4,34,34,2,4],[65,34,3,2,3]])
  
// Computing cross entropy  with an option parameter number
softmax_cross_entropy = tf.losses.softmaxCrossEntropy(a, b, 5)
softmax_cross_entropy.print();

输出:

Tensor
    50477.5

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

相关用法


注:本文由纯净天空筛选整理自kapilm180265ca大神的英文原创作品 Tensorflow.js tf.losses.softmaxCrossEntropy() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。