【问题标题】:Pytorch .backward() method without CUDA没有 CUDA 的 Pytorch .backward() 方法
【发布时间】:2017-09-08 02:08:10
【问题描述】:

我正在尝试在 autograd 模块上运行 Pytorch tutorial 中的代码。但是,当我运行 .backwards() 调用时,我得到了错误:

cuda runtime error (38) : no CUDA-capable device is detected at torch/csrc/autograd/engine.cpp:359

我承认目前没有设置支持 CUDA 的设备,但我的理解是这并不是绝对必要的(至少我没有在教程的任何地方找到它)。所以我想知道是否有办法在没有启用 CUDA 的 GPU 的情况下仍然运行代码。

【问题讨论】:

  • 重现错误的代码是什么?顺便说一句:应该是.backward() 而不是.backwards()
  • 问题是我安装了一些 CUDA 驱动程序。卸载后,在新的虚拟环境中重新安装 pytorch,然后重新启动,一切正常。
  • 如果不使用.cuda(),代码应该会在cpu上运行。为什么你的代码会导致 cuda 错误?
  • 因为他们有一个bug,现在已经在master分支上修复了,会在新的二进制文件中发布。

标签: gradient pytorch


【解决方案1】:

您应该使用:net.cpu(), Variable(inputs.cpu()), Variable(labels.cpu()) 将您的网络、输入和标签传输到 cpu 上

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-27
    • 2020-10-13
    • 2019-06-06
    • 2021-01-06
    • 2021-08-28
    • 1970-01-01
    • 2020-07-09
    • 2019-08-20
    相关资源
    最近更新 更多