📜  PyTorch 一维张量(1)

📅  最后修改于: 2023-12-03 14:46:48.334000             🧑  作者: Mango

PyTorch 一维张量

PyTorch是一个用于科学计算的开源深度学习库,它支持的张量操作类似于NumPy数组。本篇文章将会介绍如何在PyTorch中创建、操作一维张量。

创建一维张量

在PyTorch中,可以使用torch.Tensor()函数创建一维张量。例如,创建一个长度为3的一维张量:

import torch

# 创建一维张量
x = torch.Tensor([1, 2, 3])
print(x)

输出结果:

tensor([1., 2., 3.])
张量的属性和方法

在PyTorch中,一维张量(又称为向量)和其他张量的操作类似。一些常用的属性和方法如下:

  • shape: 张量的形状
  • dtype: 张量的数据类型
  • size(): 返回张量中元素的个数
  • tolist(): 将张量转换为Python列表
  • view(): 改变张量的形状
  • unsqueeze(): 将一维张量增加一个维度
  • squeeze(): 将长度为1的维度去掉
import torch

x = torch.Tensor([1, 2, 3])
print(x.shape)               # torch.Size([3])
print(x.dtype)               # torch.float32
print(x.size())              # 3
print(x.tolist())            # [1.0, 2.0, 3.0]

x = x.unsqueeze(0)           # 增加一个维度
print(x.shape)               # torch.Size([1, 3])

x = x.squeeze(0)             # 去掉长度为1的维度
print(x.shape)               # torch.Size([3])
张量的元素访问和操作

一维张量中的元素可以像列表一样通过下标进行访问。也支持多种数学、向量之间的操作。

import torch

# 创建一维张量
x = torch.Tensor([1, 2, 3])

# 访问张量的第一个元素
print(x[0])                  # tensor(1.)

# 加法操作
y = torch.Tensor([2, 3, 4])
z = x + y
print(z)                     # tensor([3., 5., 7.])

# 数乘操作
z = 2 * x
print(z)                     # tensor([2., 4., 6.])

# 点乘操作
z = x.dot(y)
print(z)                     # tensor(20.)
总结

在PyTorch中,一维张量是非常基础和重要的概念。它的访问、创建、属性和方法与其他张量操作类似。通过学习和掌握PyTorch的一维张量操作,可以更好地理解和实现深度学习中的向量计算。