我试图在jupyter中使用gpu训练我的代码。但是我没有正确的gpu。
我的环境是: Windows10, cuda8, python3.6, mxnetgpu, jupyter。
我的代码是:
a = nd.array([1, 2, 3], ctx=mx.gpu())
但是我的错误是这样的:
MXNetError Traceback (most recent call last)
<ipython-input-6-3c78e5d2ccff> in <module>
----> 1 a = nd.array([1, 2, 3], ctx=mx.gpu())
2 a
d:\data\python\lib\site-packages\mxnet\ndarray\utils.py in array(source_array, ctx, dtype)
144 return _sparse_array(source_array, ctx=ctx, dtype=dtype)
145 else:
--> 146 return _array(source_array, ctx=ctx, dtype=dtype)
147
148
d:\data\python\lib\site-packages\mxnet\ndarray\ndarray.py in array(source_array, ctx, dtype)
2432 except:
2433 raise TypeError('source_array must be array like object')
-> 2434 arr = empty(source_array.shape, ctx, dtype)
2435 arr[:] = source_array
2436 return arr
d:\data\python\lib\site-packages\mxnet\ndarray\ndarray.py in empty(shape, ctx, dtype)
3818 if dtype is None:
3819 dtype = mx_real_t
-> 3820 return NDArray(handle=_new_alloc_handle(shape, ctx, False, dtype))
3821
3822
d:\data\python\lib\site-packages\mxnet\ndarray\ndarray.py in _new_alloc_handle(shape, ctx, delay_alloc, dtype)
137 ctypes.c_int(int(delay_alloc)),
138 ctypes.c_int(int(_DTYPE_NP_TO_MX[np.dtype(dtype).type])),
--> 139 ctypes.byref(hdl)))
140 return hdl
141
d:\data\python\lib\site-packages\mxnet\base.py in check_call(ret)
250 """
251 if ret != 0:
--> 252 raise MXNetError(py_str(_LIB.MXGetLastError()))
253
254
MXNetError: [15:25:07] C:\Jenkins\workspace\mxnet-tag\mxnet\src\storage\storage.cc:137: Compile with USE_CUDA=1 to enable GPU usage
我修改了配置文件,添加了路径和USE CUDA。但是它不起作用!如何解决?
答案 0 :(得分:1)
您似乎已将MXNet CPU唯一版本安装为pip软件包。您需要卸载CPU版本
pip uninstall mxnet
并为您的cuda版本(8.0)安装具有cuda支持的mxnet版本
pip install mxnet-cu80
请参见http://mxnet.incubator.apache.org/install/index.html?platform=Linux&language=Python&processor=GPU。
如果您在投诉CUDA时遇到错误,则可能需要遵循有关设置CUDA_PATH的说明:https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/
Vishaal