import torch
# 生成一个3x3的标准正态分布随机张量
random_tensor = torch.randn(3, 3)
print("随机张量:\n", random_tensor)
随机张量:
tensor([[-0.9343, -0.3254, 0.6991],
[-1.7157, 1.7171, -0.4322],
[ 0.6004, -1.1050, -0.2178]])
# 生成一个形状为(2, 4)的随机张量
random_tensor_2 = torch.randn(2, 4)
print("\n2x4随机张量:\n", random_tensor_2)
2x4随机张量:
tensor([[-0.0638, -0.6070, 0.0341, -0.5346],
[-2.1379, -0.5141, 0.0484, 0.0098]])
# 标量与张量相加(广播)
tensor_a = torch.tensor([[1, 2], [3, 4]])
scalar = 5
result = tensor_a + scalar # 标量5会被广播成[[5,5],[5,5]]
print("\n标量广播加法:\n", result)
标量广播加法:
tensor([[6, 7],
[8, 9]])
# 不同形状张量相加
tensor_b = torch.tensor([[10], [20]]) # 形状(2,1)
result = tensor_a + tensor_b # tensor_b会被广播成[[10,10],[20,20]]
print("\n不同形状张量加法:\n", result)
不同形状张量加法:
tensor([[11, 12],
[23, 24]])
# 标量与张量相乘(广播)
result = tensor_a * 2 # 标量2会被广播成[[2,2],[2,2]]
print("\n标量广播乘法:\n", result)
标量广播乘法:
tensor([[2, 4],
[6, 8]])
# 不同形状张量相乘
tensor_c = torch.tensor([100, 200]) # 形状(2,)
result = tensor_a * tensor_c # tensor_c会被广播成[[100,200],[100,200]]
print("\n不同形状张量乘法:\n", result)
不同形状张量乘法:
tensor([[100, 400],
[300, 800]])
@浙大疏锦行