PyTorch empty rand zeros ones randn_like 张量 用法

PyTorch empty rand zeros ones randn_like 张量 用法

import torch

# 创建一个未初始化的5x3张量
print('1、创建一个未初始化的5x3张量')
x = torch.empty(5, 3)
print(x)

# 创建一个随机初始化的5x3张量
print('2、创建一个随机初始化的5x3张量')
y = torch.rand(5, 3)
print(y)

# 创建一个5x3的0张量,类型为long
print('3、创建一个5x3的0张量,类型为long')
z = torch.zeros(5, 3, dtype=torch.long)
print(z)

# 直接从数组创建张量
print('4、直接从数组创建张量')
m = torch.tensor([5.5, 3])
print(m)

# 创建一个5x3的单位张量,类型为double
print('5、创建一个5x3的单位张量,类型为double')
n = torch.ones(5, 3, dtype=torch.double)
print(n)

# 从已有的张量创建相同维度的新张量,并且重新定义类型为float
print('6、从已有的张量创建相同维度的新张量,并且重新定义类型为float')
o = torch.randn_like(n, dtype=torch.float)
print(o)

# 将两个张量相加
print('7、将两个张量相加')
p = torch.empty(5, 3)
p.add_(o)
#torch.add(x, y, out=p)
print(p)

# 打印张量的第一列
print('8、打印张量的第一列')
print(p[:, 1])

t = torch.randn(4, 4)
u = t.view(-1, 8) # 确定一个维度,-1的维度会被自动计算
print('9、确定一个维度,-1的维度会被自动计算')
print(t.size(), u.size())
print(t)
print(u)

输除结果:

1、创建一个未初始化的5x3张量
tensor([[9.3674e-39, 9.9184e-39, 8.7245e-39],
        [9.2755e-39, 8.9082e-39, 9.9184e-39],
        [8.4490e-39, 9.6429e-39, 1.0653e-38],
        [1.0469e-38, 4.2246e-39, 1.0378e-38],
        [9.6429e-39, 9.2755e-39, 9.7346e-39]])
2、创建一个随机初始化的5x3张量
tensor([[0.2888, 0.4904, 0.2024],
        [0.0553, 0.4707, 0.2683],
        [0.7610, 0.4548, 0.9157],
        [0.9817, 0.0689, 0.2004],
        [0.6668, 0.1911, 0.0024]])
3、创建一个5x3的0张量,类型为long
tensor([[0, 0, 0],
        [0, 0, 0],
        [0, 0, 0],
        [0, 0, 0],
        [0, 0, 0]])
4、直接从数组创建张量
tensor([5.5000, 3.0000])
5、创建一个5x3的单位张量,类型为double
tensor([[1., 1., 1.],
        [1., 1., 1.],
        [1., 1., 1.],
        [1., 1., 1.],
        [1., 1., 1.]], dtype=torch.float64)
6、从已有的张量创建相同维度的新张量,并且重新定义类型为float
tensor([[-1.0650,  1.4637, -1.3479],
        [ 0.1723,  1.8329, -0.5904],
        [ 1.7785, -0.9286, -0.4007],
        [-1.0040, -0.8295, -0.2789],
        [ 0.0920, -0.1419,  1.2852]])
7、将两个张量相加
tensor([[-1.0650,  1.4637, -1.3479],
        [ 0.1723,  1.8329, -0.5904],
        [ 1.7785, -0.9286, -0.4007],
        [-1.0040, -0.8295, -0.2789],
        [ 0.0920, -0.1419,  1.2852]])
8、打印张量的第一列
tensor([ 1.4637,  1.8329, -0.9286, -0.8295, -0.1419])
9、确定一个维度,-1的维度会被自动计算
torch.Size([4, 4]) torch.Size([2, 8])
tensor([[ 2.9043,  0.8924,  0.5538, -0.7676],
        [ 0.1356, -1.3767,  0.0201, -0.0172],
        [ 0.9198, -0.3964, -0.6903,  0.0581],
        [-0.0984,  0.2623,  0.7083,  0.4407]])
tensor([[ 2.9043,  0.8924,  0.5538, -0.7676,  0.1356, -1.3767,  0.0201, -0.0172],
        [ 0.9198, -0.3964, -0.6903,  0.0581, -0.0984,  0.2623,  0.7083,  0.4407]])

发表回复

您的电子邮箱地址不会被公开。