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


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


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

.tidy() 函数用于执行给定的函数,即 fn,一旦它终止,它就会清除由所述函数 fn 分配的所有等距张量,但不包括 fn 返回的那些。在这里, fn 不应产生承诺。但是,返回的输出可能是一个复杂的对象。

注意:

  • 这种方法有利于防止内存泄漏。通常,在 tf.tidy() 函数中包装对进程的调用以自动清理内存。
  • 但是,在 tidy() 函数中不会清除这些变量。如果要处理变量,则可以使用 tf.disposeVariables() 或立即对变量调用 dispose() 方法。

用法:

tf.tidy(nameOrFn, fn?)



Parameters: 

  • nameOrFn:停止器的指定名称,或者要执行的函数。如果给出了一个名称,那么第二个参数必须是一个函数。如果调试模式打开,那么调度以及所述函数的内存利用率将被跟踪并使用给定的名称显示在控制台上。它可以是字符串或函数类型。
  • fn:要执行的规定函数。它是可选的,属于函数类型。

返回值:它返回 void、number、string、TypedArray、tf.Tensor、tf.Tensor[] 或 {[key:string]:tf.Tensor、number 或 string}。

范例1:

Javascript


// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
  
// Calling tidy() method
const res = tf.tidy(() => {
    
   // Calling scalar() method
   const x = tf.scalar(3);
    
   // Calling sqrt() function
   const y = tf.sqrt(5);
    
   // Calling square() method
   const z = y.square();
  
  // Calling sub() method 
  return z.sub(x);
});
  
// Printing output
res.print();

输出:

Tensor
    2

范例2:

Javascript


// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
  
// Calling tidy() method
const res = tf.tidy(() => {
    
   // Calling sin() method
   const op = tf.sin(45);
    
   // Printing number of tensors inside tidy
   // Using memory() method
   console.log('number of tensors inside tidy:'
      + tf.memory().numTensors);
  
  // Calling sqrt() method 
  return op.sqrt();
});
  
   // Printing number of tensors outside tidy
   // Using memory() method
   console.log('number of tensors outside tidy:'
      + tf.memory().numTensors);
  
// Printing output
res.print();

输出:

number of tensors inside tidy:1
number of tensors outside tidy:1
Tensor
    0.9224448204040527

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




相关用法


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