问题1:
>>> import mxnet
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "D:\program\minconda\envs\python36\lib\site-packages\mxnet\__init__.py", line 24, in <module>
from .context import Context, current_context, cpu, gpu, cpu_pinned
File "D:\program\minconda\envs\python36\lib\site-packages\mxnet\context.py", line 24, in <module>
from .base import classproperty, with_metaclass, _MXClassPropertyMetaClass
File "D:\program\minconda\envs\python36\lib\site-packages\mxnet\base.py", line 213, in <module>
_LIB = _load_lib()
File "D:\program\minconda\envs\python36\lib\site-packages\mxnet\base.py", line 204, in _load_lib
lib = ctypes.CDLL(lib_path[0], ctypes.RTLD_LOCAL)
File "D:\program\minconda\envs\python36\lib\ctypes\__init__.py", line 348, in __init__
self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] 找不到指定的模块。
打开官方链接:http://mxnet.incubator.apache.org/versions/1.6/get_started?version=v1.5.1&platform=windows&language=python&processor=gpu&environ=pip&
我的cuda版本是release 10.1, V10.1.243(nvcc --version 可查看)
mxnet-cu101 means the package is built with CUDA/cuDNN and the CUDA version is 10.1.
说明mxnet版本为:mxnet-cu101
官方命令:pip install mxnet-cu101==1.5.1
(python36) F:\python学习>pip install mxnet-cu100==1.5.1
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
ERROR: Could not find a version that satisfies the requirement mxnet-cu100==1.5.1 (from versions: 1.2.1.post1, 1.3.1, 1.4.0, 1.4.0.post0, 1.4.1, 1.5.0)
ERROR: No matching distribution found for mxnet-cu100==1.5.1
说明没1.5.1版本,根据提示选择最近的一版1.5.0
成功命令
pip uninstall mxnet-cu101==1.5.1
pip install mxnet-cu101==1.5.0
也可先找该包,看有的版本
pip search mxnet-cu101
使用conda search mxnet-cu101没有,说明只能pip安装
问题2:
import mxnet as mx报错
libmxnet.dll was not found
用的python3.8环境,创建python3.6虚拟环境,并重新pip install mxnet-cu101==1.5.0
问题3:
OSError: [WinError 127] 找不到指定的程序。 Error loading “D:\program\anaconda3\envs\py36\lib\site-packages\torch\lib\caffe2_detectron_ops_gpu.dll” or one of its dependencies.
缺少依赖,重新pip卸载mxnet-cu101,再安装。测试的虚拟环境需要先deactivate,再activate
校验:
import mxnet as mx
a = mx.nd.ones(1)
b = mx.nd.ones(1,mx.gpu())
a
b
a.asnumpy()
b.asnumpy()
能正常输出.b为gpu变量