Torch基础

张量的概念(tensor)

张量可以理解为数组,一维张量与数学中的向量对应,二维张量与数学中的矩阵对应
张量的维度,也可以叫张量的轴,是从0开始的

创建张量

  1. tensor = torch.arrange(num)创建一个0到num-1的行向量(一维张量),数值类型默认为浮点型
  2. tensor.shape 可以返回张量的形状,比如一个张量在一维有3个元素,二维有4个元素,三维有5个元素,则会返回torch.Size([3,4,5])
  3. tensor.numel() 可以返回张量中所含元素的数量, 注意,一维张量的形状和所含元素数量是一样的。一般地,元素数量等于各个形状相乘
  4. tensor.reshape(dim1,dim2,...) 可以在不改变张量的元素个数和值的情况下,改变张量的维度;如果dimX为-1,则torch自动根据其他维度计算该维度的值
  5. torch.zeros(shape) 创建一个指定形状,元素值全为0的张量
  6. torch.ones(shape) 创建一个指定形状,元素值全为1的张量
  7. torch.randn(shape) 创建一个指定形状,符合标准差为1、期望为0的标准正态分布的张量
  8. torch.tensor(list_of_python) 直接赋值,括号内为Python列表的嵌套,最外层中括号对应于张量的轴0。

张量运算

  • 按元素计算: +,-,*,/;**(幂),exp(tensor)返回e的tensor次幂
  • 线性代数运算(此处略)
  • 按指定维度拼接(concatenate): torch.cat((tensor1,tensor2),dim),意思是把tensor1和tensor2按指定的dim进行拼接
  • 构建逻辑张量 tensor1 == tensor2, 在对应位置返回布尔值
上一篇:JSP标准标签库(JSTL)


下一篇:EL和JSTL表达式