tensor数据类型转换_PyTorch的tensor数据类型及其相关转换

76b646e14ff1b34c58aa7d82d7f57dcd.png

1 基本类型

PyTorch的数据类型为各式各样的tensor,tensor可以理解为高维矩阵,与Numpy中的array类似。

PyTorch中的tensor包括CPU上的数据类型和GPU上的数据类型。

Torch定义了七种CPU tensor类型和八种GPU tensor类型。

5643a6b0f77d9ca21fcb996315d11f02.png

通过使用type函数可以查看变量类型,即当data为tensor数据类型时,使用data.type()可以得到data的数据类型。

更多信息参考

torch.Tensor - PyTorch中文文档​pytorch-cn.readthedocs.io torch.Tensor - PyTorch 1.7.0 documentation​pytorch.org

2 类型转换

2.1 CPU tensor和GPU tensor之间的转换

(1)从CPU tensor到GPU tensor,使用data.cuda()。

(2)从GPU tensor到CPU tensor,使用data.cpu()。

2.2 Tensor与Numpy array之间的转换

(1)Tensor到Numpy array可以使用data.numpy(),其中data的类型为torch.Tensor。

(2)Numpy array到Tensor可以使用torch.from_numpy(data),其中data的类型为numpy.ndarray。

2.3 CPU tensor之间的转换或GPU tensor之间的转换

(1)一般只要在tensor后加long(),int(),double(),float(),byte()等函数就能将tensor进行类型转换。

例如:Torch.LongTensor转换为Torch.FloatTensor,直接使用data.float()即可。

(2)还可以使用type()函数。

当data为tensor数据类型,如果使用data.type(torch.FloatTensor)则强制转换data为torch.FloatTensor类型张量。

(3)当不知道要转换为什么数据类型,但需要求a1,a2两个张量的乘积时,可以使用a1.type_as(a2)将a1转换为a2同类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值