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__
方法來實現。