📅  最后修改于: 2020-11-10 06:31:06             🧑  作者: Mango
众所周知,PyTorch已被深度学习世界所接受,因为它具有方便地定义神经网络的能力。神经网络从根本上构成了传感器,而PyTorch也围绕传感器构建。性能往往会大大提高。张量模糊地是矩阵的一般化。
一维张量类似于一维矩阵。一维张量只有一行一列,称为矢量。还有一个零维张量,也称为标量。
现在我们将讨论在张量上执行的操作。
我们也可以使用Google Colab编写Tensor的代码。访问Google Colab非常简单。对于Google Colab,不需要任何设置。它完全在云上运行。
Google Colab与Jupyter Notebook类似。使用Google Colab时,许多软件包已为我们预装。不幸的是,割炬不是其中的一个,因此我们必须首先使用!pip3 install torch命令安装割炬。
现在,我们将在一维张量上执行该操作。
为了创建一维张量,我们使用了Torch库的张量属性。要创建张量,我们使用torch.tensor()方法。
创建一维张量的语法如下:
n= torch.tensor([Tensor elements])
在这里,n是张量类型的变量,张量元素可以是(,)之后的任何整数或浮点数。
import torch
n=torch.tensor([1,2,3,4])
print(n)
输出:
tensor([1, 2, 3, 4])
我们可以检查Tensor中包含的元素的数据类型。我们使用Tensor的dtype()查找数据类型。
import torch
n=torch.tensor ([1.0, 2.0, 3.0])
print (n.dtype)
输出:
torch.float32
我们可以借助该元素的索引访问Tensor的元素。如果要printTensor的所有元素,则可以printtensor变量。与一维指标索引一样,Tensor索引也从0开始。
import torch
n=torch.tensor([1.0, 2.0, 3.0])
print(n[2])
输出:
tensor(3.)
通过传递以冒号(:)分隔的元素的开始索引或结束索引来访问指定范围的元素非常简单。它将跳过起始索引元素和print元素,直到结束索引。
import torch
n=torch.tensor([1.0, 2.0, 3.0])
print(n[0:2])
输出:
tensor (2.0,3.0)
我们还有另一个示例,该示例通过跳过由我们初始化的起始索引来打印所有元素。
import torch
n=torch.tensor ([1.0, 2.0, 3.0])
print(n[0:])
输出:
tensor (2.0,3.0)
我们可以使用整数元素创建一个浮点张量。在此,我们使用FloatTensor属性来使用火炬。
import torch
n=torch.FloatTensor([1,2,3,4,5,6,7])
print(n)
输出:
tensor([1., 2., 3., 4., 5., 6., 7.])
就像一维指标一样,我们也可以找到张量的大小。我们使用Tensor的size()方法获取大小。
import torch
n=torch.FloatTensor([1,2,3,4,5,6,7])
print(n.size())
输出:
torch.Size([7])
Tensor具有可以更改Tensor视图的属性。改变视图意味着张量是一维的(一行一列),我们想将其视图改变六行一列。可以在Tensor的view()的帮助下进行更改。它类似于数组的reshape()。
import torch
n=torch.FloatTensor([1,2,3,4,5,6])
print(n)
n.view(6,1)
输出:
tensor ([1., 2., 3., 4., 5., 6.])
tensor([[1.],
[2.],
[3.],
[4.],
[5.],
[6.]])
注意:我们也可以使用其他尺寸,例如(3,2),但它应与我们的原始张量元素兼容。
我们还可以使用numpy数组创建Tensor。我们必须借助焊炬的from_numpy()将numpy数组转换为Tensor。为此,我们首先必须初始化numpy,然后创建一个numpy数组。
import torch
import numpy as np
a=np.array([1,2,3,4,5,6])
tensorcon=torch.from_numpy(a)
print(tensorcon)
print(tensorcon.type())
输出:
tensor([1, 2, 3, 4, 5, 6])
torch.LongTensor