PyTorch 类型信息
2025-07-02 17:43 更新
PyTorch 类型信息详解:掌握张量数值属性
一、浮点类型信息:torch.finfo
torch.finfo 是 PyTorch 中用于获取浮点 torch.dtype 数值属性的工具。它可以帮助我们了解不同浮点类型(如 torch.float32、torch.float64 和 torch.float16)的详细信息。
(一)主要属性
bits:表示该浮点类型占用的位数。例如,torch.float32的bits为 32。eps:表示最小可表示的数字,使得1.0 + eps != 1.0。这是衡量浮点精度的一个重要指标。max:表示该浮点类型能表示的最大数字。min:表示该浮点类型能表示的最小数字(通常是-max)。tiny:表示该浮点类型能表示的最小正数。
(二)使用示例
import torch
## 获取 torch.float32 的数值属性
float32_info = torch.finfo(torch.float32)
print(f"float32 位数:{float32_info.bits}")
print(f"float32 的 eps:{float32_info.eps}")
print(f"float32 最大值:{float32_info.max}")
print(f"float32 最小值:{float32_info.min}")
print(f"float32 最小正数:{float32_info.tiny}")
## 获取 torch.float64 的数值属性
float64_info = torch.finfo(torch.float64)
print(f"\nfloat64 位数:{float64_info.bits}")
print(f"float64 的 eps:{float64_info.eps}")
print(f"float64 最大值:{float64_info.max}")
print(f"float64 最小值:{float64_info.min}")
print(f"float64 最小正数:{float64_info.tiny}")
二、整数类型信息:torch.iinfo
torch.iinfo 用于获取整数 torch.dtype 的数值属性,适用于 torch.uint8、torch.int8、torch.int16、torch.int32 和 torch.int64 等整数类型。
(一)主要属性
bits:表示该整数类型占用的位数。例如,torch.int32的bits为 32。max:表示该整数类型能表示的最大数字。min:表示该整数类型能表示的最小数字。
(二)使用示例
## 获取 torch.int32 的数值属性
int32_info = torch.iinfo(torch.int32)
print(f"\nint32 位数:{int32_info.bits}")
print(f"int32 最大值:{int32_info.max}")
print(f"int32 最小值:{int32_info.min}")
## 获取 torch.uint8 的数值属性
uint8_info = torch.iinfo(torch.uint8)
print(f"\nuint8 位数:{uint8_info.bits}")
print(f"uint8 最大值:{uint8_info.max}")
print(f"uint8 最小值:{uint8_info.min}")
三、总结
通过本教程,我们详细了解了 PyTorch 中的 torch.finfo 和 torch.iinfo 类,它们分别用于获取浮点类型和整数类型的数值属性。这些工具在需要深入了解张量数值范围和精度时非常有用,特别是在进行数值计算和模型优化时。
以上内容是否对您有帮助:

免费 AI IDE


更多建议: