Pytorch 中的一维张量
在本文中,我们将讨论Python的一维张量。我们将研究以下概念:
- 创建一维张量
- 访问张量的元素
- 张量的大小
- 张量元素的数据类型
- 张量视图
- 浮点张量
介绍
Pytorch 用于处理张量。张量是多维数组。 PyTorch 加速了张量的科学计算,因为它具有各种内置功能。
向量:
向量是一个一维张量,它包含多种数据类型的元素。我们可以使用 PyTorch 创建向量。 Pytorch 在Python torch 模块中可用。所以我们需要导入它。
语法:
import pytorch
一维张量的创建:
使用torch.tensor() 方法创建一维向量。
句法:
torch.tensor([element1,element2,.,element n])
其中元素是张量的输入元素
示例:创建张量元素的Python程序
Python3
# importing torch module
import torch
# create one dimensional tensor with integer type elements
a = torch.tensor([10, 20, 30, 40, 50])
print(a)
# create one dimensional tensor with float type elements
b = torch.tensor([10.12, 20.56, 30.00, 40.3, 50.4])
print(b)
Python3
# importing torch module
import torch
# create one dimensional tensor with integer type elements
a = torch.tensor([10, 20, 30, 40, 50])
# get 0 and 1 index elements
print(a[0], a[1])
# get 4 th index element
print(a[4])
# get 4 index element from last
print(a[-4])
# get 2 index element from last
print(a[-2])
Python3
# importing torch module
import torch
# create one dimensional tensor with integer type elements
a = torch.tensor([10, 20, 30, 40, 50])
# access elements from 1 to 4
print(a[1:4])
# access from 4
print(a[4:])
# access from last
print(a[-1:])
Python3
# importing torch module
import torch
# create one dimensional tensor integer type elements
a = torch.FloatTensor([10, 20, 30, 40, 50])
# size of tensor
print(a.size())
# create one dimensional tensor integer type elements
b = torch.FloatTensor([10, 20, 30, 40, 50, 45, 67, 43])
# size of tensor
print(b.size())
Python3
# importing torch module
import torch
# create one dimensional tensor with integer type elements
a = torch.tensor([10, 20, 30, 40, 50])
# get data type of vector a
print(a.dtype)
# create one dimensional tensor with float type elements
b = torch.tensor([10.12, 20.56, 30.00, 40.3, 50.4])
# get data type of vector b
print(b.dtype)
Python3
# importing torch module
import torch
# create one dimensional tensor 10 elements
a = torch.FloatTensor([10, 20, 30, 40, 50, 1, 2, 3, 4, 5])
# view tensor in 5 rows and 2 columns
print(a.view(5, 2))
# view tensor in 2 rows and 5 columns
print(a.view(2, 5))
Python3
# importing torch module
import torch
# create one dimensional Float Tensor with
# integer type elements
a = torch.FloatTensor([10, 20, 30, 40, 50])
# display data type
print(a.dtype)
# access elements from 0 to 3
print(a[0:3])
# access from 4
print(a[4:])
输出:
tensor([10, 20, 30, 40, 50])
tensor([10.1200, 20.5600, 30.0000, 40.3000, 50.4000])
访问张量元素:
我们可以使用元素的索引访问张量向量中的元素。
句法:
tensor_name([index])
其中索引是元素在张量中的位置:
- 索引从 0 开始
- 索引从最后一个 -1 开始
示例:使用索引访问元素的Python程序。
蟒蛇3
# importing torch module
import torch
# create one dimensional tensor with integer type elements
a = torch.tensor([10, 20, 30, 40, 50])
# get 0 and 1 index elements
print(a[0], a[1])
# get 4 th index element
print(a[4])
# get 4 index element from last
print(a[-4])
# get 2 index element from last
print(a[-2])
输出:
tensor(10) tensor(20)
tensor(50)
tensor(20)
tensor(40)
我们可以使用“:”运算符一次访问 n 个元素,这称为切片。
句法:
tensor([start_index:end_index])
其中start_index是起始索引, end_index是结束索引。
示例:访问多个元素的Python程序。
蟒蛇3
# importing torch module
import torch
# create one dimensional tensor with integer type elements
a = torch.tensor([10, 20, 30, 40, 50])
# access elements from 1 to 4
print(a[1:4])
# access from 4
print(a[4:])
# access from last
print(a[-1:])
输出:
tensor([20, 30, 40])
tensor([50])
tensor([50])
张量大小:
这用于使用size() 方法获取张量中的长度(元素数)。
句法:
tensor.size()
示例:获取张量大小的Python程序。
蟒蛇3
# importing torch module
import torch
# create one dimensional tensor integer type elements
a = torch.FloatTensor([10, 20, 30, 40, 50])
# size of tensor
print(a.size())
# create one dimensional tensor integer type elements
b = torch.FloatTensor([10, 20, 30, 40, 50, 45, 67, 43])
# size of tensor
print(b.size())
输出:
torch.Size([5])
torch.Size([8])
张量元素的数据类型:
我们可以得到张量数据元素的数据类型。然后使用dtype()获取张量的数据类型
句法:
tensor_vector.dtype
其中tensor_vector是一维张量向量。
例子:
蟒蛇3
# importing torch module
import torch
# create one dimensional tensor with integer type elements
a = torch.tensor([10, 20, 30, 40, 50])
# get data type of vector a
print(a.dtype)
# create one dimensional tensor with float type elements
b = torch.tensor([10.12, 20.56, 30.00, 40.3, 50.4])
# get data type of vector b
print(b.dtype)
输出:
torch.int64
torch.float32
张量视图:
view()用于以二维格式(即行和列)查看张量。我们必须指定要查看的行数和列数。
句法:
tensor.view(no_of_rows,no_of_columns)
在哪里,
- 张量是输入的一维张量
- no_of_rows是张量被查看的总行数
- no_of_columns是张量被查看的总列数
示例: Python程序,用于创建具有 10 个元素的张量并使用 5 行和 2 列查看,反之亦然。
蟒蛇3
# importing torch module
import torch
# create one dimensional tensor 10 elements
a = torch.FloatTensor([10, 20, 30, 40, 50, 1, 2, 3, 4, 5])
# view tensor in 5 rows and 2 columns
print(a.view(5, 2))
# view tensor in 2 rows and 5 columns
print(a.view(2, 5))
输出:
tensor([[10., 20.],
[30., 40.],
[50., 1.],
[ 2., 3.],
[ 4., 5.]])
tensor([[10., 20., 30., 40., 50.],
[ 1., 2., 3., 4., 5.]])
浮点张量:
该张量用于定义浮点类型的元素。我们可以通过FloatTensor属性使用整数元素创建一个浮点张量。
语法:
torch.FloatTensor([element1,element 2,.,element n])
示例:用于创建浮点张量和获取元素的Python程序。
蟒蛇3
# importing torch module
import torch
# create one dimensional Float Tensor with
# integer type elements
a = torch.FloatTensor([10, 20, 30, 40, 50])
# display data type
print(a.dtype)
# access elements from 0 to 3
print(a[0:3])
# access from 4
print(a[4:])
输出:
torch.float32
tensor([10., 20., 30.])
tensor([50.])