📜  Pytorch 中的一维张量(1)

📅  最后修改于: 2023-12-03 15:19:37.043000             🧑  作者: Mango

PyTorch中的一维张量

在PyTorch中,一维张量是一种常用的数据结构。张量是一个多维数组,可以包含数字、字符或布尔值。一维张量是指只有一个轴的张量,也称为向量。

创建一维张量

我们可以使用以下方法来创建一维张量:

1. 使用Python列表创建一维张量
import torch

# 创建一个包含整数的一维张量
tensor = torch.tensor([1, 2, 3, 4, 5])
print(tensor)

输出结果:

tensor([1, 2, 3, 4, 5])
2. 使用torch.arange()函数创建等间隔的一维张量
import torch

# 创建一个从0到4的一维张量,步长为1
tensor = torch.arange(5)
print(tensor)

输出结果:

tensor([0, 1, 2, 3, 4])
3. 使用torch.linspace()函数创建一维张量
import torch

# 创建一个从0到1的一维张量,含有10个元素
tensor = torch.linspace(0, 1, 10)
print(tensor)

输出结果:

tensor([0.0000, 0.1111, 0.2222, 0.3333, 0.4444, 0.5556, 0.6667, 0.7778, 0.8889, 1.0000])
一维张量的操作

在PyTorch中,一维张量支持各种数学操作和函数调用。

基本数学操作
import torch

x = torch.tensor([1, 2, 3, 4, 5])
y = torch.tensor([6, 7, 8, 9, 10])

# 加法操作
result = x + y
print(result)

# 减法操作
result = x - y
print(result)

# 乘法操作
result = x * y
print(result)

# 除法操作
result = x / y
print(result)

# 幂操作
result = x ** 2
print(result)

输出结果:

tensor([ 7,  9, 11, 13, 15])
tensor([-5, -5, -5, -5, -5])
tensor([ 6, 14, 24, 36, 50])
tensor([0.1667, 0.2857, 0.3750, 0.4444, 0.5000])
tensor([ 1,  4,  9, 16, 25])
索引和切片操作
import torch

x = torch.tensor([1, 2, 3, 4, 5])

# 获取单个元素
element = x[0]
print(element)

# 修改单个元素的值
x[0] = 10
print(x)

# 通过切片获取部分元素
subset = x[1:4]
print(subset)

输出结果:

tensor(1)
tensor([10,  2,  3,  4,  5])
tensor([2, 3, 4])
常用函数调用
import torch

x = torch.tensor([1, 2, 3, 4, 5])

# 求和
result = torch.sum(x)
print(result)

# 求均值
result = torch.mean(x)
print(result)

# 求最大值
result = torch.max(x)
print(result)

# 求最小值
result = torch.min(x)
print(result)

# 求标准差
result = torch.std(x)
print(result)

输出结果:

tensor(15)
tensor(3)
tensor(5)
tensor(1)
tensor(1.4142)

以上仅介绍了一维张量的一些基本操作,PyTorch还提供了大量的其他函数和方法,可用于更高级的数学计算和机器学习任务。对于更复杂的操作,可以查阅PyTorch官方文档以获取更多详细信息。