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


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


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

dispose() 函数用于处理所述层的权重。此外,它将所述图层对象的引用计数减一。

注意:

  • 在这里,一个层被引用计数。其中,第一次调用其 apply() 方法时以及当它通过调用 tf.SymbolicTensor 上的 apply() 方法成为新节点的一部分时,它的参考编号通过一个增加。
  • 在这里,当一个层的参考号变为零时,它的每一个权重都将被处理,基本内存,即在 WebGL 中分配的纹理也将被清除。
  • 当扣除后层的引用计数大于零时,将不会处理层权重。
  • 最后,当一个 Layer 被处理后,它就不能再用于 apply()、getWeights() 或 setWeights() 等调用中。

用法:

dispose()

参数:



这个方法没有参数。

返回值:它返回 DisposeResult。

范例1:

Javascript


// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
  
// Creating a model
const model = tf.sequential();
  
// Adding a layer
model.add(tf.layers.dense({units:1, inputShape:[3]}));
  
// Calling dispose method
const val = model.layers[0].dispose();
  
// Printing output
console.log(val);

输出:

{
  "refCountAfterDispose":0,
  "numDisposedVariables":2
}

范例2:

Javascript


// Importing the tensorflow.js library
//import * as tf from "@tensorflow/tfjs"
  
// Creating a model
const model = tf.sequential();
  
// Adding layers
model.add(tf.layers.dense({units:1, inputShape:[5, 1]}));
model.add(tf.layers.dense({units:4}));
model.add(tf.layers.dense({units:2, inputShape:[6], batchSize:5}));
  
// Calling dispose() method
const val1 = model.layers[0].dispose();
const val2 = model.layers[1].dispose();
const val3 = model.layers[2].dispose();
  
// Printing output
console.log(val1);
console.log(val2);
console.log(val3);

输出:

{
  "refCountAfterDispose":0,
  "numDisposedVariables":2
}
{
  "refCountAfterDispose":0,
  "numDisposedVariables":2
}
{
  "refCountAfterDispose":0,
  "numDisposedVariables":2
}

参考: https://js.tensorflow.org/api/latest/#tf.layers.Layer.dispose




相关用法


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