PyTorch中的张量(Tensor)数据类型主要包括以下几种:
- torch.float32(默认类型):32位浮点数类型,表示范围为[-1, 1]。
- torch.float64:64位浮点数类型,表示范围为[-1, 1],精度更高,但计算量相对较大。
- torch.int8:8位有符号整数类型,表示范围为[-128, 127]。
- torch.int16:16位有符号整数类型,表示范围为[-32, 31]。
- torch.int32:32位有符号整数类型,表示范围为[-2^31, 2^31-1]。
- torch.int64:64位有符号整数类型,表示范围为[-2^63, 2^63-1]。
- torch.uint8:8位无符号整数类型,表示范围为[0, 255]。
- torch.bool:布尔类型,表示True或False。
这些数据类型可以通过torch.Tensor
类的dtype
属性进行设置和查询。例如,要创建一个32位浮点数的张量,可以使用以下代码:
import torch
x = torch.Tensor([1.0, 2.0, 3.0], dtype=torch.float32)
print(x)
此外,PyTorch还支持自定义数据类型,通过继承torch.Tensor
类并重写__new__
方法来实现。