📜  张量介绍

📅  最后修改于: 2020-11-10 06:29:38             🧑  作者: Mango

张量介绍

张量是Pytorch的关键组件。可以说PyTorch完全基于张量。在数学中,数字的矩形数组称为度量。在NumPy库中,这些指标称为ndaaray。在PyTorch中,它被称为Tensor。张量是n维数据容器。例如,在PyTorch中,1d张量是向量,2d张量是度量,3d张量是立方体,4d张量是立方体向量。

Torch提供具有强大GPU加速功能的张量计算。我们必须熟悉张量数据结构才能使用PyTorch。这将成为神经网络实施之前的基本前提。

在深度学习中,Tensor是关键部分,我们可以看到围绕Tensor进行的众多讨论。甚至以Google的主要机器学习库(即TensorFlow)的名称出现。

在本教程中,我们将讨论张量是什么以及如何执行操作以及如何使用numpy在Python对其进行操作。

“一般情况下,排列在规则网格上的数字数组具有可变数量的轴称为张量。”

现在让我们对张量的表示法有一点了解

张量表示法类似于度量表示法。大写字母表示张量,带下标整数的小写字母表示张量内的标量值。

在物理和工程领域,作为一种工具,张量和张量代数得到广泛使用。可以说,这是机器学习中的一组技术,可以在张量方面描述深度学习模型的训练。

如何创建张量?

我们可以通过三种方式创建张量。每个人都有不同的createTensor方式并使用不同的方法。张量创建为

  • 从数组创建张量
  • 用全1和随机数创建张量
  • 从numpy数组创建Tensor

让我们看看如何创建张量

从数组创建张量

在这种情况下,您必须首先定义数组,然后将该数组在炬管的Tensor方法中作为参数传递。

例如

Import torch
arr = [[3, 4], [8, 5]] 
pytensor = torch.Tensor(arr)
print(pytensor)

输出:

tensor ([[3., 4.],[8., 5.]])

用随机数和全数创建Tensor

要创建一个随机数张量,我们必须使用rand()方法,并使用所有方法创建一个张量,而您必须使用火炬的方法个()。为了生成随机数,将对rand使用焊炬的另一种方法,即,manual_seed具有0个参数。

例如

import torch
ones_t = torch.ones((2, 2)) 
torch.manual_seed(0)  //to have same values for random generation
rand_t = torch.rand((2, 2))
print(ones_t)
print(rand_t)

输出:

tensor([[1., 1.],[1., 1.]])
tensor([[0.4962, 0.7682],[0.0885, 0.1320]])

从numpy数组创建张量

要从numpy数组创建张量,我们必须创建一个numpy数组。创建numpy数组后,我们必须将其作为参数传递给from_numpy()。此方法将numpy数组转换为张量。

例如

import torch
import numpy as np1
numpy_arr = np1.ones((2, 2))
pytensor = torch.from_numpy(numpy_arr)
np1_arr_from_tensor = pytensor.numpy()
print(np1_arr_from_tensor)

输出:

[[1. 1.][1. 1.]]