PyTorch提供了多种方法来创建张量。以下是一些常见的创建张量的方式:
创建未初始化的张量
# 创建一个未初始化的5x3张量
x = torch.empty(5, 3)
创建零张量
# 创建一个5x3的零张量
x = torch.zeros(5, 3, dtype=torch.long)
创建单位张量
# 创建一个5x5的单位张量(对角线上的元素为1,其他为0)
x = torch.eye(5)
创建随机初始化的张量
# 创建一个5x3的随机初始化张量
x = torch.rand(5, 3)
从已有数据创建张量
# 从一个已有的list创建张量
x = torch.tensor([5.5, 3])
# 从一个已有的NumPy数组创建张量
import numpy as np
np_array = np.array([5.5, 3])
x = torch.from_numpy(np_array)
创建等差数列张量
# 创建一个从0到10的等差数列张量,共有5个元素
x = torch.linspace(0, 10, steps=5)
创建具有相同大小的张量
# 创建一个和x大小相同的零张量
x = torch.zeros_like(x)
# 创建一个和x大小相同,随机初始化的张量
x = torch.rand_like(x, dtype=torch.float) # 注意重写dtype!
创建指定形状的张量
# 创建一个形状为5x3的张量,元素都是1
x = torch.ones(5, 3)
# 创建一个形状为5x3的张量,元素都是0
x = torch.zeros(5, 3)
# 创建一个形状为5x3的张量,元素由正态分布随机生成
x = torch.randn(5, 3)
创建满足特定分布的张量
# 创建一个形状为5x3的张量,元素为从均匀分布中抽取的随机数
x = torch.rand(5, 3)
# 创建一个形状为5x3的张量,元素为从标准正态分布中抽取的随机数
x = torch.randn(5, 3)
# 创建一个形状为5x3的张量,元素为从0到1的均匀分布中抽取的随机整数
x = torch.randint(0, 2, (5, 3))
标签:初始化,元素,5x3,创建,torch,张量,PyTorch,Tensor
From: https://www.cnblogs.com/zzqdeco/p/pytorch-tensor-chuang-jian-fang-fa.html