📜  PyTorch 一维张量

📅  最后修改于: 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中包含的元素的数据类型。我们使用Tensor的dtype()查找数据类型。

import torch
n=torch.tensor ([1.0, 2.0, 3.0])
print (n.dtype)

输出:

torch.float32

访问Tensor的元素

我们可以借助该元素的索引访问Tensor的元素。如果要printTensor的所有元素,则可以printtensor变量。与一维指标索引一样,Tensor索引也从0开始。

import torch
n=torch.tensor([1.0, 2.0, 3.0])
print(n[2]) 

输出:

tensor(3.)

访问具有指定范围的Tensor元素

通过传递以冒号(:)分隔的元素的开始索引或结束索引来访问指定范围的元素非常简单。它将跳过起始索引元素和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)

使用Integer元素创建浮点张量

我们可以使用整数元素创建一个浮点张量。在此,我们使用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数组的张量

我们还可以使用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