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


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。