欢迎来到代码驿站!

Python代码

当前位置:首页 > 软件编程 > Python代码

PyTorch 随机数生成占用 CPU 过高的解决方法

时间:2021-07-31 08:03:46|栏目:Python代码|点击:

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)

上一篇:python3+selenium实现126邮箱登陆并发送邮件功能

栏    目:Python代码

下一篇:利用numpy实现一、二维数组的拼接简单代码示例

本文标题:PyTorch 随机数生成占用 CPU 过高的解决方法

本文地址:http://www.codeinn.net/misctech/162916.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有