當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Tensorflow.js tf.losses.logLoss()用法及代碼示例


Tensorflow.js是Google開發的開源庫,用於在瀏覽器或節點環境中運行機器學習模型和深度學習神經網絡。

Tensorflow.js tf.losses.logLoss() 函數計算兩個給定張量之間的對數損失。

用法:

tf.losses.logLoss (labels, predictions, weights?, epsilon?, reduction?)

參數:

  • labels:它指定了真值輸出張量。基於該張量預測絕對差異。
  • predictions:它指定與標簽具有相同維度的預測輸出張量。
  • weights:它指定一個秩張量,或者等於標簽的秩,以便它可以廣播,或者為 0。它是一個可選參數。
  • epsilon:一個小的常數值,以避免取零對數。它是一個可選參數。
  • reduction:它指定了減少損失的類型。它是可選的。

返回值:它返回一個由 logLoss() 函數計算的 tf.Tensor。



範例1:在這個例子中,我們將采用兩個 2d 張量作為標簽和預測。然後我們會找到這兩個張量的對數損失。

Javascript


// Importing the tensorflow.js library 
const tf = require("@tensorflow/tfjs"); 
  
// Defining label tensor 
const x_label = tf.tensor2d([ 
    [0., 1., 0.],  
    [1., 0., 1.] 
]); 
  
// Defining prediction tensor 
const x_pred = tf.tensor2d([ 
    [1., 1., 1.],  
    [0., 0., 0. ] 
]); 
  
// Calculating log loss
const log_loss = tf.losses.logLoss(x_label,x_pred) 
    
// Printing the output 
log_loss.print()

輸出:

Tensor
    10.745397567749023

範例2:在這個例子中,我們將記錄兩個給定張量的損失,並避免使用一個小的常數值 epsilon 取零對數。

Javascript


// Importing the tensorflow.js library 
const tf = require("@tensorflow/tfjs"); 
  
// Defining label tensor 
const x_label = tf.tensor2d([ 
    [1, 0, 0],  
    [1, 1, 0] 
]); 
  
// Defining prediction tensor 
const x_pred = tf.tensor2d([ 
    [1, 1, 1],  
    [0, 0, 0] 
]); 
  
const epsilon = 0.1;
  
// Calculating log loss 
const log_loss = tf.losses.logLoss(x_label,x_pred,epsilon) 
    
// Printing the output 
log_loss.print()

輸出:

Tensor
    1.0745397806167603

參考:https://js.tensorflow.org/api/latest/#losses.logLoss




相關用法


注:本文由純淨天空篩選整理自abhinavjain194大神的英文原創作品 Tensorflow.js tf.losses.logLoss() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。