张量创建与初始化
a = torch.rand(2,2)
生成一个 2x2 的随机张量,元素值均匀分布在 [0,1) 区间。例如可能输出:
tensor([[0.1234, 0.5678],
[0.9012, 0.3456]])
a = a * 10
将张量每个元素乘以 10,使值域变为 [0,10)。例如:
tensor([[1.234, 5.678],
[9.012, 3.456]])
取整运算
print(torch.floor(a))
向下取整(地板函数),输出不大于原数的最大整数。示例结果:
tensor([[1., 5.],
[9., 3.]])
print(torch.ceil(a))
向上取整(天花板函数),输出不小于原数的最小整数。示例结果:
tensor([[2., 6.],
[10., 4.]])
print(torch.round(a))
四舍五入到最接近的整数。示例结果:
tensor([[1., 6.],
[9., 3.]])
print(torch.trunc(a))
截断小数部分(向零取整)。示例结果:
tensor([[1., 5.],
[9., 3.]])
分解运算
print(torch.frac(a))
提取小数部分。示例结果:
tensor([[0.234, 0.678],
[0.012, 0.456]])
print(a%2)
计算每个元素除以 2 的余数。示例结果:
tensor([[1.234, 1.678],
[1.012, 1.456]])
关键点说明
- 所有操作都是逐元素(element-wise)进行的
- 原始张量
a不会被修改,每个操作都会返回新张量 - 取整运算返回浮点型张量,但值为整数形式
frac和%运算结果保持原始张量的数值精度