← 返回首页
Tensor的创建
发表时间:2024-01-21 05:49:33
Tensor的创建

Tensor的创建

1.Tensor的创建

PyTorch 中的 Tensor 也有自己的数据类型定义方式,常用的如下:

import torch
#通过序列创建tensor
#数据类型默认是torch.FloatTensor
a = torch.Tensor([[1, 2],[3, 4]])
print(a)
print(a.type())
print("------------------")
#通过形状初始化tensor,元素默认都是零
b = torch.Tensor(2, 2)
print(b)
print(b.type())
print("------------------")
#通过元组创建tensor
d = torch.tensor(((1, 2), (3, 4)))
print(d)
print(d.type())
#改变数据类型,使用a的数据类型
print(d.type_as(a))
print("------------------")
#初始化指定形状的tensor,初始化元素是随机分配的
d = torch.empty(2,3)
print(d)
print(d.type())
print("------------------")
#初始化全零的元素
d = torch.zeros(4,4)
print(d)
print(d.type())
print("------------------")
#使用a的形状初始化全零元素
d = torch.zeros_like(a)
print(d)
print(d.type())
print("------------------")
#对角线全部是1
print(d)
d = torch.eye(3, 3)
print(d.type())
print("------------------")
#初始化元素全部是1
d = torch.ones(2, 2)
print(d)
print(d.type())
print("------------------")
#使用d的形状初始化全部元素为1
d = torch.ones_like(d)
print(d)
print(d.type())
print("------------------")
#初始化的元素是0-1之间的随机数
d = torch.rand(2, 3)
print(d)
print(d.type())
print("------------------")
#初始化2-10,步长为2的元素
d = torch.arange(2, 10, 2)
print(d)
print(d.type())
print("------------------")
#平均分割三份
d = torch.linspace(2, 10, 3)
print(d)
print(d.type())
print("------------------")
#满足正态分布的tensor
dd = torch.normal(mean=0, std=1, size=(2, 3), out=b)
print(dd)
print("------------------")
#随机生成五组标准差
d = torch.normal(mean=torch.rand(5), std=torch.rand(5))
print(d)
print(d.type())
print("------------------")
#满足均匀分布的tensor
d = torch.Tensor(2, 2).uniform_(-1, 1)
print(d)
print(d.type())
print("------------------")
#0-9随机打乱次序
d = torch.randperm(10)
print(d)
print(d.type())