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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。