You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何避免将浮点数转换为torch.float64时发生舍入

解决PyTorch张量转换时的显示舍入问题

你看到的只是PyTorch默认的打印格式化效果,转换过程并没有丢失精度——张量内部存储的数值和你输入的原浮点数完全一致。

验证存储值的准确性

直接打印张量的单个元素,就能看到完整精度的数值:

print(tensor[0])  # 输出: -0.5479744136460554
print(tensor[1])  # 输出: -0.5555555555555556

调整打印精度,让张量完整显示所有小数位

通过torch.set_printoptions()设置足够高的打印精度,就能让整个张量输出完整数值:

import torch
# 设置打印精度为16位小数,覆盖默认的4位
torch.set_printoptions(precision=16)

res = [-0.5479744136460554, -0.5555555555555556, -1.0]
tensor = torch.tensor(res, dtype=torch.float64)
print(tensor)

执行后会输出:

tensor([-0.5479744136460554, -0.5555555555555556, -1.0000000000000000],
       dtype=torch.float64)

补充说明

torch.float64(双精度浮点数)的精度完全足够存储你输入的这些数值,不存在转换时的精度丢失,只是默认打印时被简化显示了。

内容的提问来源于stack exchange,提问作者Ian Gallegos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 23:05:03