PyTorch 类型信息

2025-07-02 17:43 更新

PyTorch 类型信息详解:掌握张量数值属性

一、浮点类型信息:torch.finfo

torch.finfo 是 PyTorch 中用于获取浮点 torch.dtype 数值属性的工具。它可以帮助我们了解不同浮点类型(如 torch.float32torch.float64torch.float16)的详细信息。

(一)主要属性

  1. bits :表示该浮点类型占用的位数。例如,torch.float32bits 为 32。
  2. eps :表示最小可表示的数字,使得 1.0 + eps != 1.0。这是衡量浮点精度的一个重要指标。
  3. max :表示该浮点类型能表示的最大数字。
  4. min :表示该浮点类型能表示的最小数字(通常是 -max)。
  5. 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.uint8torch.int8torch.int16torch.int32torch.int64 等整数类型。

(一)主要属性

  1. bits :表示该整数类型占用的位数。例如,torch.int32bits 为 32。
  2. max :表示该整数类型能表示的最大数字。
  3. 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.finfotorch.iinfo 类,它们分别用于获取浮点类型和整数类型的数值属性。这些工具在需要深入了解张量数值范围和精度时非常有用,特别是在进行数值计算和模型优化时。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号