轻量级前端框架助力开发者提升项目效率与性能
1054
2022-11-14
【PyTorch】cuda()与to(device)的区别
问题
PyTorch中的Tensor要想在GPU中运行,可以有两种实现方式,其一是x.cuda(),其二是x.to(device)。两种方式均能实现GPU上运行,那么二者的区别是什么呢?
方法
import torchdevice = 'cuda' if torch.cuda.is_available() else 'cpu'a = torch.randn([3, 224, 224])# (1) cuda()方式代码扩展性差,如果机器不支持GPU,则需要修改代码后才能在CPU上运行;a.cuda()# (2) to(device)方式代码扩展性好,即使没有GPU,也可以运行代码,不用做任何修改;a.to(device)
结语
推荐使用to(device)的方式,主要原因在于这样的编程方式更加易于扩展,而cuda()必须要求机器有GPU,否则需要修改所有代码,to(device)的方式则不受此限制,device既可以是CPU也可以是GPU;
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~