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


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


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

.valueAndGrads() 函数等效于 tf.grads() 方法,但它也返回 f() 的度量。当 f() 返回一个您需要证明的近似值时有效。

注意:这里的输出是一个富裕的对象以及以下函数:

  • grads:它是 f() 参考每个输入的梯度,即 grads() 方法的输出。
  • value:它是通过 f(x) 还原的值。

用法:

tf.valueAndGrads(f)



Parameters: 

  • f:它是要计算梯度的指定函数 f(x)。它的类型为 (...args:tf.Tensor[]) => tf.Tensor。

返回值:它返回梯度和值,即 (args:tf.Tensor[], dy?:tf.Tensor) => { grads:tf.Tensor[];值:tf.张量; }.

范例1:

Javascript


// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
  
// Defining funtion
const fn = (x, y) => x.add(y);
  
// Calling valueAndGrads() method
const gr = tf.valueAndGrads(fn);
  
// Defining tf.tensor1d inputs
const x = tf.tensor1d([66, 51]);
const y = tf.tensor1d([-21, -13]);
  
// Defining value and grads
const {value, grads} = gr([x, y]);
const [dx, dy] = grads;
  
// Printing value
console.log('val');
value.print();
  
// Printing gradients
console.log('dx');
dx.print();
console.log('dy');
dy.print();

输出:

val
Tensor
    [45, 38]
dx
Tensor
    [1, 1]
dy
Tensor
    [1, 1]

范例2:

Javascript


// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
  
// Calling valueAndGrads() method 
// with its parameter
const gr = tf.valueAndGrads((x, y) => x.div(y));
  
// Defining tf.tensor1d inputs of 
// floating point numbers
const x = tf.tensor1d([4.7, 5.8, 99.7]);
const y = tf.tensor1d([9.5, -20.5, null]);
  
// Defining value and grads
const {value, grads} = gr([x, y]);
const [dx, dy] = grads;
  
// Printing value
console.log('val');
value.print();
  
// Printing gradients
console.log('dx');
dx.print();
console.log('dy');
dy.print();

输出:

val
Tensor
    [0.4947368, -0.2829268, Infinity]
dx
Tensor
    [0.1052632, -0.0487805, Infinity]
dy
Tensor
    [-0.0520776, -0.0138013, -Infinity]

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




相关用法


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