PyTorch 随机数生成占用 CPU 过高的解决方法
PyTorch 随机数生成占用 CPU 过高的问题
今天在使用 pytorch 的过程中,发现 CPU 占用率过高。经过检查,发现是因为先在 CPU 中生成了随机数,然后再调用.to(device)传到 GPU,这样导致效率变得很低,并且CPU 和 GPU 都被消耗。
查阅PyTorch文档后发现,torch.randn(shape, out)可以直接在GPU中生成随机数,只要shape是tensor.cuda.Tensor类型即可。这样,就可以避免在 CPU 中生成过大的矩阵,而 shape 变量是很小的。
因此,下面的代码就可以进行这种操作了。
noise = torch.cuda.FloatTensor(shape) if torch.cuda.is_available() else torch.FloatTensor(shape) torch.randn(shape, out=noise)
以上这篇PyTorch 随机数生成占用 CPU 过高的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Python+opencv+pyaudio实现带声音屏幕录制
今天小编就为大家分享一篇Python+opencv+pyaudio实现带声音屏幕录制,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-12-12
Python深度学习之使用Pytorch搭建ShuffleNetv2
这篇文章主要介绍了Python深度学习之使用Pytorch搭建ShuffleNetv2,文中有非常详细的图文示例,对正在学习python的小伙伴们有非常好的帮助,需要的朋友可以参考下2021-05-05
Windows和Linux下使用Python访问SqlServer的方法介绍
这篇文章主要介绍了Windows和Linux下使用Python访问SqlServer的方法介绍,本文讲解了Windows下配置Python访问Sqlserver、Linux下配置Python访问SqlServer等内容,需要的朋友可以参考下2015-03-03


最新评论