python
import torch
python
# 生成一个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])
python
# 生成一个形状为(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])
python
# 标量与张量相加(广播)
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])
python
# 不同形状张量相加
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])
python
# 标量与张量相乘(广播)
result = tensor_a * 2 # 标量2会被广播成[[2,2],[2,2]]
print("\n标量广播乘法:\n", result)
标量广播乘法:
tensor(\[2, 4,
6, 8])
python
# 不同形状张量相乘
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])