菜单
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

张量

Tensor 是一个 N 维矩阵

  • Scalar 是一个 0 维张量
  • Vector 是一个 1 维张量
  • Matrix 是一个 2 维张量

TensorVectorsMatrices 向更高维度推广的泛化。

标量向量
1
1
2
3
 
1 2 3

矩阵张量
1 2 3
4 5 6
 
1 2 3
4 5 6
 
4 5 6
1 2 3
 

Tensor 的秩

Tensor 在 N 维空间中的方向数,称为该张量的 Rank

Rank 用 R 表示。

Scalar 是单个数字。

  • 它有 0 个轴
  • 它的 Rank 为 0
  • 它是 0 维 Tensor

Vector 是一个数字数组。

  • 它有 1 个轴
  • 它的 Rank 为 1
  • 它是 1 维 Tensor

Matrix 是一个 2 维数组。

  • 它有 2 个轴
  • 它的 Rank 为 2
  • 它是 2 维 Tensor

真实 Tensor

严格来说,以上所有都是张量,但当我们谈论张量时,我们通常指的是维度大于 2 (R > 2) 的矩阵。

Tensor

JavaScript 中的线性代数

在线性代数中,最简单的数学对象是 Scalar

const scalar = 1;

另一个简单的数学对象是 Array

const array = [ 1, 2, 3 ];

Matrices 是 2 维 Arrays

const matrix = [ [1,2],[3,4],[5,6] ];

Vectors 可以写成只有一列的 Matrices

const vector = [ [1],[2],[3] ];

Vectors 也可以写成 Arrays

const vector = [ 1, 2, 3 ];

Tensors 是 N 维 Arrays

const tensor = [ [1,2,3],[4,5,6],[7,8,9] ];

JavaScript 中的 Tensor 操作

在 JavaScript 中编程 Tensor 操作,很容易变成一团乱麻的循环。

使用 JavaScript 库可以为您省去很多麻烦。

用于 Tensor 操作的最常用库之一称为 tensorflow.js

Tensor 加法

const tensorA = tf.tensor([[1, 2], [3, 4], [5, 6]]);
const tensorB = tf.tensor([[1,-1], [2,-2], [3,-3]]);

// Tensor 加法
const tensorAdd = tensorA.add(tensorB);

// 结果 [ [2, 1], [5, 2], [8, 3] ]

自己动手试一试 »

Tensor 减法

const tensorA = tf.tensor([[1, 2], [3, 4], [5, 6]]);
const tensorB = tf.tensor([[1,-1], [2,-2], [3,-3]]);

// Tensor 减法
const tensorSub = tensorA.sub(tensorB);

// 结果 [ [0, 3], [1, 6], [2, 9] ]

自己动手试一试 »

了解更多关于 TensorFlow 的信息...


×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持