用 PyTorch 库创建了一个随机张量,并演示了多种张量取整和分解操作

张量创建与初始化

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% 运算结果保持原始张量的数值精度
相关推荐
Network_Engineer6 小时前
从零手写LSTM:从门控原理到PyTorch源码级实现
人工智能·pytorch·lstm
多恩Stone8 小时前
【3D-AICG 系列-1】Trellis v1 和 Trellis v2 的区别和改进
人工智能·pytorch·python·算法·3d·aigc
2501_9011478310 小时前
PyTorch DDP官方文档学习笔记(核心干货版)
pytorch·笔记·学习·算法·面试
铁手飞鹰10 小时前
[深度学习]常用的库与操作
人工智能·pytorch·python·深度学习·numpy·scikit-learn·matplotlib
青春不朽51210 小时前
PyTorch 入门指南:深度学习的瑞士军刀
人工智能·pytorch·深度学习
DeniuHe12 小时前
Pytorch中统计学相关的函数
pytorch·python·深度学习
林深现海1 天前
【刘二大人】PyTorch深度学习实践笔记 —— 第四集:反向传播(凝练版)
pytorch·python·numpy
WGS.1 天前
fastenhancer DPRNN torch 实现
pytorch·深度学习
Rabbit_QL1 天前
PyTorch DataLoader `num_workers` 配置指南:从新手到进阶
人工智能·pytorch·python