LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 170|回复: 0

张量

[复制链接]
发表于 2024-1-14 00:34:25 | 显示全部楼层 |阅读模式


张量等级
张量在N维空间中可以具有的方向数,称为张量的Rank。
排名记为R。
A Scalar 是一个数字。 R = 0.
  • 它有 0 个轴
  • 它的等级为 0
  • 它是一个 0 维张量
向量 是一个数字数组。 R = 1.
  • 它有 1 个轴
  • 排名为 1
  • 它是一维张量
矩阵 是一个二维数组。 R = 2.
  • 它有 2 个轴
  • 排名为 2
  • 这是一个二维张量

真实张量
从技术上讲,以上所有都是张量,但是当我们谈到张量时,我们通常所说的矩阵的维度大于 2 (R > 2)。




JavaScript 中的线性代数
在线性代数中,最简单的数学对象是标量:
const scalar = 1;

另一个简单的数学对象是数组:
const array = [ 1, 2, 3 ];

矩阵是二维数组:
const matrix = [ [1,2],[3,4],[5,6] ];

向量可以写成只有一列的矩阵:
const vector = [ [1],[2],[3] ];

向量也可以写成数组:
const vector = [ 1, 2, 3 ];

张量是N维数组:
const tensor = [ [1,2,3],[4,5,6],[7,8,9] ];


JavaScript 张量运算
用 JavaScript 编写张量运算,很容易变成循环的意大利面条。
使用 JavScript 库可以省去很多麻烦。
用于张量运算的最常用库之一称为 tensorflow.js。
张量加法const tensorA = tf.tensor([[1, 2], [3, 4], [5, 6]]);
const tensorB = tf.tensor([[1,-1], [2,-2], [3,-3]]);

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

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


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

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

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




您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表