时间:2021-05-22
在程序中,有多种方法进行强制类型转换。
本博文将介绍一个非常常用的方法:to()方法。
我们通常使用它来进行GPU和CPU的类型转换,但其实也可以用来进行torch的dtype转换。
常见方法:tensor.to(‘cuda:0')
先看官网介绍:
**Performs Tensor dtype and/or device conversion. A torch.dtype and torch.device are inferred from the arguments of self.to(*args, kwargs).
本文举一个例子,将一个tensor转化成与另一个tensor相同的数据类型和相同GPU或CPU类型
import torchdevice = 'cuda:0'a = torch.zeros(2, 3)print(type(a))b = torch.ones(3, 4).to(device)print(type(b))c = torch.matmul(a, b)print(type(c))我们看到这个代码会出错的。因为a和b是不同的device,一个是CPU,一个是GPU,不能运行。
修改如下:
a = a.to(b)d = torch.matmul(a, b)print(type(d))可以看到to还是很好用的,尤其是不确定我们的数据类型和device时。
其实pytorch中还有很多其他方法可以这么做,以后会继续介绍。
以上这篇pytorch使用 to 进行类型转换方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
传统使用opencv自带的swapaxes进行转换,然后使用pytorch的from_numpy转为tensor例如:img=img.swapaxes(1,2)
我使用Pytorch进行模型训练时发现真正模型本身对于显存的占用并不明显,但是对应的转换为tensorflow后(权重也进行了转换),发现Python-tens
一、PyTorch批训练1.概述PyTorch提供了一种将数据包装起来进行批训练的工具——DataLoader。使用的时候,只需要将我们的数据首先转换为torc
下面通过实验来探索Pytorch分配显存的方式。实验显存到主存 我使用VSCode的jupyter来进行实验,首先只导入pytorch,代码如下:impo
类型转换从根本上说是类型铸造,或者说是把数据从一种类型转换为另一种类型。在C#中,类型铸造有两种形式:隐式类型转换-这些转换是C#默认的以安全方式进行的转换,不