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


Tensorflow.js tf.Environment用法及代碼示例


Tensorflow.js是Google開發的開源庫,用於在瀏覽器或節點環境中運行機器學習模型和深度學習神經網絡。這tf.Environment() 類包括評估旗幟和注冊平台。它每次都像全局單例一樣使用,並且可以從tf.env()函數。

該環境類包含五個內置函數,如下所示:

tf.Environment 類.disposeVariables() 函數用於處理存儲在後端引擎中的每個變量。

示例 1:

Javascript


// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
// Declaring a variable
var x = tf.tensor([1, 2, 3, 4]);
// Calling disposeVariables() method
tf.disposeVariables();
// Printing output
console.log("Variables disposed.")

輸出:

Variables disposed.

tf.Environment 類 .enableDebugMode() 函數用於啟用調試模式,該模式將注冊有關每個執行的內核的數據,即內核實現的運行時間,包括排名、大小以及結果張量的形狀。

示例 2:

Javascript


// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
// Calling enableDebugMode() method
await tf.enableDebugMode();
// Setting prod mode of the
// environment
tf.env().set('PROD', false);
// Printing output
console.log(tf.env().flags);

輸出:

{
  "IS_BROWSER": true,
  "IS_NODE": false,
  "DEBUG": true,
  "CPU_HANDOFF_SIZE_THRESHOLD": 128,
  "PROD": false
}

tf.Environment 類 .enableProdMode() 函數用於啟用生產模式,以停用支持生產的精確性限製。

示例 3:

Javascript


// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
// Calling enableProdMode() method
await tf.enableProdMode();
// Setting debug mode of the
// environment
tf.env().set('DEBUG', false);
// Printing output
console.log(tf.env().flags);

輸出:

{
  "IS_BROWSER": true,
  "IS_NODE": false,
  "DEBUG": false,
  "CPU_HANDOFF_SIZE_THRESHOLD": 128,
  "PROD": true,
  "WEBGL_VERSION": 2,
  "HAS_WEBGL": true,
  "WEBGL_CHECK_NUMERICAL_PROBLEMS": false,
  "IS_TEST": false,
  "WEBGL_CPU_FORWARD": true,
  "WEBGL_MAX_TEXTURE_SIZE": 16384,
  "WEBGL_FORCE_F16_TEXTURES": true,
  "WEBGL_RENDER_FLOAT32_CAPABLE": true,
  "WEBGL_RENDER_FLOAT32_ENABLED": true,
  "WEBGL_FLUSH_THRESHOLD": -1,
  "WEBGL_PACK": true,
  "WEBGL_LAZILY_UNPACK": true,
  "WEBGL_DELETE_TEXTURE_THRESHOLD": -1,
  "WEBGL_PACK_BINARY_OPERATIONS": true,
  "WEBGL_USE_SHAPES_UNIFORMS": false,
  "WEBGL_PACK_UNARY_OPERATIONS": true,
  "WEBGL_DOWNLOAD_FLOAT_ENABLED": true,
  "WEBGL_CONV_IM2COL": true,
  "WEBGL_PACK_DEPTHWISECONV": true,
  "WEBGL_MAX_TEXTURES_IN_SHADER": 16,
  "WEBGL_PACK_ARRAY_OPERATIONS": true
}

tf.Environment 類.engine() 函數用於返回全局引擎,該引擎保存每個張量以及後端的路徑。

示例4:

Javascript


// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
// Calling engine() and startScope()
// method
tf.engine().startScope();  
// Calling ones() method
const res = tf.ones([200, 250]);
// Printing output
console.log(res);

輸出:

Tensor
    [[1, 1, 1, ..., 1, 1, 1],
     [1, 1, 1, ..., 1, 1, 1],
     [1, 1, 1, ..., 1, 1, 1],
     ...,
     [1, 1, 1, ..., 1, 1, 1],
     [1, 1, 1, ..., 1, 1, 1],
     [1, 1, 1, ..., 1, 1, 1]]

tf.Environment 類 .env() 函數用於返回當前環境,即全局實體。此外,環境對象包括評估的屬性值以及動態平台。

實施例5:

Javascript


// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
// Calling env() and getBool() method
// along with its parameter
const res = tf.env().getBool('WEBGL_RENDER_FLOAT32_ENABLED');
// Printing output
console.log(res);

輸出:

true

參考:https://js.tensorflow.org/api/latest/#class:Environment



相關用法


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