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


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


Tensorflow.js是Google開發的開源庫,用於在瀏覽器或節點環境中運行機器學習模型和深度學習神經網絡。

tf.Tensor 對象表示具有形狀和數據類型的不可變的多維數字數組。張量是 TensorFlow.js 的核心 data-structure 它們是向量和矩陣到潛在更高維度的推廣。

用法:

Tensor(value);

屬性:該類具有以下屬性:

  • rank:它定義張量包含的維數。
  • shape:它定義了數據每個維度的大小。
  • dtype:它定義了張量的數據類型。

返回值:它返回一個包含所提供值的 Tensor 對象。

下麵的示例演示了 Tensor 類及其各種方法。

示例 1:在此示例中,我們將創建一個 Tensor 類並查看示例tf.Tensor.print()。該方法用於打印Tensor類。

Javascript


// Importing the tensorflow library
import * as tf from "@tensorflow/tfjs"
// Creating Tensor with values
let c = tf.tensor([1, 2, 3, 4])
// Using the print() method of Tensor class
c.print();

輸出:

Tensor
    [[1, 2],
     [3, 4]]

示例 2:在這個例子中,我們將看到tf.Tensor.clone()張量類的。 clone()方法用於複製現有的Tensor類。

Javascript


// Importing tensorflow library
import * as tf from "@tensorflow/tfjs"
// Creating Tensor class with value and [4, 1] shape
const a = tf.tensor([1, 2, 3, 4],[4,1]);
// Using the clone() method on a Tensor
let b = a.clone();
// Printing the clone Tensor
b.print();

輸出:

Tensor[[1],
       [2],
       [3],
       [4]]

示例 3:在這個例子中,我們使用toString()方法張量類的。該方法用於以人類可讀的形式製作 Tensor 類數據。

Javascript


// Importing tensorflow library
import * as tf from "@tensorflow/tfjs"
// Creating tensor 
const a = tf.tensor([1, 2, 3, 4]);
// Using toString() method in Tensor class
let b = a.toString(true);
console.log(b);

示例4:在這個例子中,我們將看到tf.Tensor.data()張量類的。它返回一個 Promise,在解析時返回 Tensor 的值。

Javascript


// Importing tensorflow library
import * as tf from "@tensorflow/tfjs"
// Creating tensor 
const a = tf.tensor([1, 2, 3, 4]);
// Using data method on Tensor class
let b = a.data();
b.then((x)=>console.log(x),
(b)=>console.log("Error while copying"));

輸出:

1, 2, 3, 4

實施例5:在此示例中,我們將使用tf.Tensor.dataSync()張量類。此方法複製 Tensor 類的值並返回它們。

Javascript


// Importing tensorflow library
import * as tf from "@tensorflow/tfjs"
// Creating tensor 
const a = tf.tensor([1, 2, 3, 4]);
// Using the dataSync() method
let b = a.dataSync();
console.log(b);

輸出:

1, 2, 3, 4

實施例6:在此示例中,我們將使用tf.Tensor.buffer()張量類的。它返回tf.TensorBuffer的promise,它保存底層數據的數據。

Javascript


// Importing tensorflow library 
import * as tf from "@tensorflow/tfjs"
// Creating tensor 
const a = tf.tensor([1, 2, 3, 4]);
// Using the buffer() method on Tensor class
let b = a.buffer();
// Printing result of Promise 
 b.then((x)=>console.log(x),
 (b)=>console.log("Error while copying") );

輸出:

TensorBuffer {
    dtype:"float32",
    shape:(1) [4],
    size:4,
    values:1,2,3,4,
    strides:(0) [ ]
}

實施例7:在此示例中,我們將使用tf.Tensor.bufferSync()。它返回一個保存底層數據的 tf.TensorBuffer。

Javascript


// Importing tensorflow library 
import * as tf from "@tensorflow/tfjs"
// Creating tensor 
const a = tf.tensor([1, 2, 3, 4]);
// Using bufferSync method on Tensor class
let b = a.bufferSync();
 console.log(b);

輸出:

TensorBuffer {
dtype:"float32",
shape:(1) [4],
size:4,
values:1,2,3,4,
strides:(0) []
}

實施例8:在此示例中,我們將使用 Tensor 類的 array() 方法。它將張量數據的 Promise 作為嵌套數組返回。

Javascript


// Importing tensorflow library 
import * as tf from "@tensorflow/tfjs"
// Creating tensor 
const a = tf.tensor([1, 2, 3, 4]);
// Using the array() method on Tensor class
let b = a.array();
// Printing result of Promise
b.then((x)=>console.log(x),
(b)=>console.log("Error while copying"));

輸出:

[1, 2, 3, 4]

實施例9:在此示例中,我們將使用tf.Tensor.arraySync()張量類。它以嵌套形式返回張量數據。

Javascript


// Importing tensorflow library 
import * as tf from "@tensorflow/tfjs"
// Creating tensor 
const a = tf.tensor([1, 2, 3, 4]);
// Using the arraySync() method on Tensor class
let b = a.arraySync();
console.log(b);

輸出:

[1, 2, 3, 4]

實施例10:在此示例中,我們將使用tf.dispose()張量類的。它從內存中處理 tf.Tensor。

Javascript


// Importing tensorflow library 
import * as tf from "@tensorflow/tfjs"
// Creating tensor 
const b = tf.tensor([1, 2, 3, 4]);
// Using the dispose() method on Tensor class
b.dispose();
b.print();

輸出:

Tensor is disposed.


相關用法


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