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
类,它们分别用于获取浮点类型和整数类型的数值属性。这些工具在需要深入了解张量数值范围和精度时非常有用,特别是在进行数值计算和模型优化时。
以上内容是否对您有帮助:
更多建议: