Pytorch框架之tensor型別轉換(type, type_as)

NULL not error發表於2020-11-04

                         QQ:3020889729                                                                                 小蔡

type – 指定型別改變

原型:type(dtype=None, non_blocking=False, **kwargs)
按輸入的資料型別進行轉換並返回
【注意: 如果不指定資料型別,就返回本身的資料】

data = torch.ones(2, 2)
print(data.dtype)
#result: torch.int64
# 可能在操作過程中指定其他資料型別--這裡就按照ones--對應int64型別
data = data.type(torch.float32)  # 要接收型別已經改變的tensor資料,否則data本身是不會直接改變資料型別的
print(data.dtype)
#result: torch.float32

type_as --按照給定的tensor的型別轉換型別

原型:type_as(tensor)
按給定的tensor確定轉換的資料型別–如果型別相同則不做改變–否則改為傳入的tensor型別–並返回型別改變的tensor資料。

data = torch.ones(2, 2)
data_float = torch.randn(2, 2)  # 這裡的資料型別為torch.float64
print(data.dtype)
#result: torch.int64
# 可能在操作過程中指定其他資料型別--這裡就按照ones--對應int64型別
data = data.type_as(data_float )
print(data.dtype)
#result: torch.float64

相關文章