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

作者:lucasgyshen 时间:2021-09-23 09:12:31 

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)

来源:https://blog.csdn.net/a463560470/article/details/82985905

标签:PyTorch,随机数,生成,CPU
0
投稿

猜你喜欢

  • python 实现多线程的三种方法总结

    2022-10-17 07:09:11
  • phpMyAdmin下载、安装和使用入门

    2007-06-15 11:00:00
  • babel的使用及安装配置教程

    2024-04-19 10:26:11
  • python 文件下载之断点续传的实现

    2023-07-18 21:57:16
  • vscode使用nuget包管理工具

    2023-10-30 13:37:55
  • linux系统使用python获取cpu信息脚本分享

    2021-10-18 17:45:30
  • Python 解决OPEN读文件报错 ,路径以及r的问题

    2022-06-12 11:06:41
  • 不安全的js写法

    2009-09-16 14:26:00
  • 扩展数据库系统选项实现更高的可扩展性

    2009-01-06 11:14:00
  • sql2000如何完美压缩.mdf文件

    2010-03-03 15:47:00
  • Python的Flask框架使用Redis做数据缓存的配置方法

    2024-01-21 18:37:47
  • 详解python ThreadPoolExecutor异常捕获

    2023-08-09 12:54:30
  • python具名元组(namedtuple)的具体使用

    2021-08-02 18:10:38
  • python网络编程之文件下载实例分析

    2021-06-04 08:02:29
  • python:socket传输大文件示例

    2022-04-18 19:44:26
  • 通过mysql show processlist 命令检查mysql锁的方法

    2024-01-19 22:03:11
  • 深入了解Vue组件七种通信方式

    2024-04-27 16:03:01
  • Springboot连接数据库及查询数据完整流程

    2024-01-18 07:25:29
  • python使用pygame模块实现坦克大战游戏

    2022-01-15 01:30:38
  • Python3 Post登录并且保存cookie登录其他页面的方法

    2023-08-18 22:45:52
  • asp之家 网络编程 m.aspxhome.com