安装
- https://github.com/dmlc/mxnet/releases上的windows预编译版本较为老旧,还有一些其它问题,建议去https://github.com/yajiedesign/mxnet/releases下载。未来这个版本有可能merge到主项目里。使用方法是先下载原来的dmlc预编译版本,再用yajiedesign版本覆盖源目录。
以python为例,安装后尝试在python下import mxnet。可能会遇到很多问题,主要是各种依赖的问题:
WindowsError: [Error 126]
通常是指dll没有import进来(缺少dll),或者缺少dll的dll。
使用dependency walker
这个工具,可以查找dll文件缺少的dll。libmxnet.dll
这个文件是mxnet的主要dll文件。它有大量的第三方依赖。不是有效的win32应用程序
通常是由于python不是64位引起的,32位python不能通过ctype使用64位dll。
使用
使用以下代码可以检查mxnet是否正常运行:
In [3]: (mxnet.nd.ones((2,2), mxnet.cpu())*100).asnumpy()
Out[3]:
array([[ 100., 100.],
[ 100., 100.]], dtype=float32)
In [4]: (mxnet.nd.ones((2,2), mxnet.gpu())*100).asnumpy()
Out[4]:
array([[ 100., 100.],
[ 100., 100.]], dtype=float32)
如果你的gpu版本的矩阵输出为:
Out[4]:
array([[ 0., 0.],
[ 0., 0.]], dtype=float32)
你可能需要更换mxnet的版本,参见这个issue:
https://github.com/dmlc/mxnet/issues/1228