博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决“mxnet.base.MXNetError:GPU is not enabled”问题
阅读量:4128 次
发布时间:2019-05-25

本文共 4419 字,大约阅读时间需要 14 分钟。

问题描述

在跑Python程序的时候,缺什么包就pip install什么,但是明明已经安装了mxnet包,在运行程序的时候仍然报错:

Traceback (most recent call last):  File "/home/z/PycharmProjects/ObjectDetection/Safety-Helmet-Wearing-Dataset-master/test_yolo.py", line 47, in 
net.collect_params().reset_ctx(ctx) File "/home/zpj/anaconda3/envs/tf_gpu_env/lib/python3.6/site-packages/mxnet/gluon/parameter.py", line 879, in reset_ctx i.reset_ctx(ctx) File "/home/zpj/anaconda3/envs/tf_gpu_env/lib/python3.6/site-packages/mxnet/gluon/parameter.py", line 458, in reset_ctx self._init_impl(data, ctx) File "/home/zpj/anaconda3/envs/tf_gpu_env/lib/python3.6/site-packages/mxnet/gluon/parameter.py", line 346, in _init_impl self._data = [data.copyto(ctx) for ctx in self._ctx_list] File "/home/zpj/anaconda3/envs/tf_gpu_env/lib/python3.6/site-packages/mxnet/gluon/parameter.py", line 346, in
self._data = [data.copyto(ctx) for ctx in self._ctx_list] File "/home/zpj/anaconda3/envs/tf_gpu_env/lib/python3.6/site-packages/mxnet/ndarray/ndarray.py", line 2093, in copyto return _internal._copyto(self, out=hret) File "
", line 25, in _copyto File "/home/zpj/anaconda3/envs/tf_gpu_env/lib/python3.6/site-packages/mxnet/_ctypes/ndarray.py", line 92, in _imperative_invoke ctypes.byref(out_stypes))) File "/home/zpj/anaconda3/envs/tf_gpu_env/lib/python3.6/site-packages/mxnet/base.py", line 253, in check_call raise MXNetError(py_str(_LIB.MXGetLastError()))mxnet.base.MXNetError: [15:44:10] src/ndarray/ndarray.cc:1285: GPU is not enabledStack trace: [bt] (0) /home/zpj/anaconda3/envs/tf_gpu_env/lib/python3.6/site-packages/mxnet/libmxnet.so(+0x2795cb) [0x7f0cf89eb5cb] [bt] (1) /home/zpj/anaconda3/envs/tf_gpu_env/lib/python3.6/site-packages/mxnet/libmxnet.so(mxnet::CopyFromTo(mxnet::NDArray const&, mxnet::NDArray const&, int, bool)+0x6db) [0x7f0cfacbba5b] [bt] (2) /home/zpj/anaconda3/envs/tf_gpu_env/lib/python3.6/site-packages/mxnet/libmxnet.so(mxnet::imperative::PushFComputeEx(std::function
> const&, std::vector
> const&, std::vector
> const&)> const&, nnvm::Op const*, nnvm::NodeAttrs const&, mxnet::Context const&, std::vector
> const&, std::vector
> const&, std::vector
> const&, std::vector
> const&, std::vector
> const&, std::vector
> const&)+0x530) [0x7f0cfab81180] [bt] (3) /home/zpj/anaconda3/envs/tf_gpu_env/lib/python3.6/site-packages/mxnet/libmxnet.so(mxnet::Imperative::InvokeOp(mxnet::Context const&, nnvm::NodeAttrs const&, std::vector
> const&, std::vector
> const&, std::vector
> const&, mxnet::DispatchMode, mxnet::OpStatePtr)+0x961) [0x7f0cfab86201] [bt] (4) /home/zpj/anaconda3/envs/tf_gpu_env/lib/python3.6/site-packages/mxnet/libmxnet.so(mxnet::Imperative::Invoke(mxnet::Context const&, nnvm::NodeAttrs const&, std::vector
> const&, std::vector
> const&)+0x25b) [0x7f0cfab8694b] [bt] (5) /home/zpj/anaconda3/envs/tf_gpu_env/lib/python3.6/site-packages/mxnet/libmxnet.so(+0x2318319) [0x7f0cfaa8a319] [bt] (6) /home/zpj/anaconda3/envs/tf_gpu_env/lib/python3.6/site-packages/mxnet/libmxnet.so(MXImperativeInvokeEx+0x6f) [0x7f0cfaa8a90f] [bt] (7) /home/zpj/anaconda3/envs/tf_gpu_env/lib/python3.6/lib-dynload/../../libffi.so.6(ffi_call_unix64+0x4c) [0x7f0d0a46dec0] [bt] (8) /home/zpj/anaconda3/envs/tf_gpu_env/lib/python3.6/lib-dynload/../../libffi.so.6(ffi_call+0x22d) [0x7f0d0a46d87d]

可以看出来程序的主要错误信息是:

mxnet.base.MXNetError: [15:44:10] src/ndarray/ndarray.cc:1285: GPU is not enabled

问题报错是MXNet的GPU无法使用,无法工作。

然后我搜索了一下出现这个问题怎么解决。在上有很多遇到同样问题的网友,给出了建议:

对话大意就是szha问你能不能贴一下当时用pip安装的指令和输出,Prasad9说当时安装MXNet的时候是用的“pip install mxnet”指令(问题就出在这里,一般Python缺什么安装包都是用pip install安装),除此之外他还装了CUDA版本的MXNet但是mx.gpu()不工作。然后他卸载了这个版本的MXNet又重新装了一遍CUDA版本的MXNet之后,mx.gpu()就正常工作了。

 

这就给了一个很好的解决思路,我们既然用到GPU加速计算的话,那肯定要装对应CUDA版本的MXNet。

 

解决方法

1.首先卸载CPU版本的MXNet

pip uninstall mxnet

2.查看电脑系统所安装的CUDA版本

cat /usr/local/cuda/version.txtnvcc -V

这两个指令都可以,本机装的CUDA版本是10.0

3.安装GPU版本的MXNet

给出的安装指令

pip install -U --pre mxnet-cu80pip install mxnet-cu80==0.11.0

都可以试一下,本机装的CUDA10.0,依葫芦画瓢,在终端中输入指令

pip install mxnet-cu100

然后就开始漫长的安装过程......这个MXNet的GPU版本有540M,但是网络下载速度只有10K~50K这样波动,不过总算下载完成了。期间也考虑过是不是要暂停,然后用conda来下MXNet,搜了一下发现不支持用conda安装......

4.验证是否安装成功

这里需要说一个问题,我的本意是把这个MXNet的GPU版本装到我跑这个程序的虚拟环境下的,指令也是在虚拟环境中输入的,但是可能因为我安装的CUDA是在本机物理环境下的,所以这个MXNet的GPU版本不能在虚拟环境中使用......

所以最后只能把那个python文件放到终端里面运行

python xxx.py

这个样子......

在终端里面输入python

如图所示,mxnet已经可以正常使用:

 

 

参考博客

(这个没用到,它的建议是改其中一行代码)

转载地址:http://brrpi.baihongyu.com/

你可能感兴趣的文章
Spring后置处理器BeanPostProcessor的应用
查看>>
Spring框架的ImportSelector到底可以干嘛
查看>>
Mysql中下划线问题
查看>>
微信小程序中使用npm过程中提示:npm WARN saveError ENOENT: no such file or directory
查看>>
Xcode 11 报错,提示libstdc++.6 缺失,解决方案
查看>>
idea的安装以及简单使用
查看>>
Windows mysql 安装
查看>>
python循环语句与C语言的区别
查看>>
Vue项目中使用img图片和background背景图的使用方法
查看>>
vue 项目中图片选择路径位置static 或 assets区别
查看>>
vue项目打包后无法运行报错空白页面
查看>>
Vue 解决部署到服务器后或者build之后Element UI图标不显示问题(404错误)
查看>>
element-ui全局自定义主题
查看>>
facebook库runtime.js
查看>>
vue2.* 中 使用socket.io
查看>>
openlayers安装引用
查看>>
js报错显示subString/subStr is not a function
查看>>
高德地图js API实现鼠标悬浮于点标记时弹出信息窗体显示详情,点击点标记放大地图操作
查看>>
初始化VUE项目报错
查看>>
vue项目使用安装sass
查看>>