学习实验到http://pytorch.panchuang.net/SecondSection/training_a_classifier/的
net.to(device)的时候发生如下报错
---------------------------------------------------------------------------
RuntimeError Traceback (most recent call last)
<ipython-input-24-aa464e9d90d3> in <module>()
----> 1 net.to(device)
/home/asber/anaconda2/lib/python2.7/site-packages/torch/nn/modules/module.pyc in to(self, *args, **kwargs)
384 return t.to(device, dtype if t.is_floating_point() else None, non_blocking)
385
--> 386 return self._apply(convert)
387
388 def register_backward_hook(self, hook):
/home/asber/anaconda2/lib/python2.7/site-packages/torch/nn/modules/module.pyc in _apply(self, fn)
191 def _apply(self, fn):
192 for module in self.children():
--> 193 module._apply(fn)
194
195 for param in self._parameters.values():
/home/asber/anaconda2/lib/python2.7/site-packages/torch/nn/modules/module.pyc in _apply(self, fn)
197 # Tensors stored in modules are graph leaves, and we don't
198 # want to create copy nodes, so we have to unpack the data.
--> 199 param.data = fn(param.data)
200 if param._grad is not None:
201 param._grad.data = fn(param._grad.data)
/home/asber/anaconda2/lib/python2.7/site-packages/torch/nn/modules/module.pyc in convert(t)
382
383 def convert(t):
--> 384 return t.to(device, dtype if t.is_floating_point() else None, non_blocking)
385
386 return self._apply(convert)
RuntimeError: CUDA error: all CUDA-capable devices are busy or unavailable
首先之前因为指令conda install pytorch1.1.0 torchvision0.3.0 cudatoolkit=9.0 -c pytorch无法安装(可能是网络问题)
我是通过 pip install torch1.1.0 torchvision0.3.0 安装的 在这里并没有显示安装cuda的东西
anaconda中,按照这里的测试方法
# Python version
import sys
print('Python: {}'.format(sys.version))
#判断是否安装了cuda
import torch
print(torch.cuda.is_available()) #返回True则说明已经安装了cuda
#判断是否安装了cuDNN
from torch.backends import cudnn
print(cudnn.is_available()) #返回True则说明已经安装了cuDNN
输出
Python: 2.7.16 |Anaconda, Inc.| (default, Sep 24 2019, 21:51:30)
[GCC 7.3.0]
True
True
说明这是anaconda的python,并且支持cuda和cudnn
Ubuntu下查看CUDA和CUDNN版本的方法
(base) asber@asber-X550VX:~$ cat /usr/local/cuda/version.txt
cat: /usr/local/cuda/version.txt: No such file or directory
(base) asber@asber-X550VX:~$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
cat: /usr/local/cuda/include/cudnn.h: No such file or directory
(base) asber@asber-X550VX:~$
这是一个疑问点
Ubuntu16.04下安装cuda和cudnn的三种方法(亲测全部有效)
网上看
出现CUDA error: all CUDA-capable devices are busy or unavailable报错的原因貌似还挺多的
拟定解决方案
1.先查看驱动程序是否ok
2.是不是下载pytorch的时候缺少包
先不去解决
补充一个现象:
当我学习到http://pytorch.panchuang.net/SecondSection/optional_data_parallelism/,
下载了 jupyter notebook 版本完整代码之后
运行成果,个人感觉这说明可能是我代码调用方式错误,不是环境的问题。
待调查哪里代码调用错误。
手机扫一扫
移动阅读更方便
你可能感兴趣的文章