【PyTorch】cuda()与to(device)的区别

网友投稿 962 2022-11-14

【PyTorch】cuda()与to(device)的区别

【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小时内删除侵权内容。

上一篇:关于常见排序的稳定性
下一篇:关于springBoot yml文件的list读取问题总结(亲测)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~