Windows10下安装MXNet-走过的那些坑

2023-11-18

一、一开始看到各种安装方法,简单的,用pip安装mxnet的python CPU版本和GPU版本。

windows还是linux,python2还是python3,安装命令都一样

用pip安装mxnet的python CPU版本:pip install mxnet

用pip安装mxnet的python GPU版本:pip install mxnet-cu80   mxnet-cu80中cu80的意思是cuda8.0

安装python GPU版本的时候总出错,看到:又快又稳地安装mxnet-cu8.0

按照教程安装gpu的gluon到99%时会出错,使用豆瓣镜像安装可以又快又稳地安装,地址如下

pip install --pre mxnet-cu80 -i https://pypi.douban.com/simple # CUDA 8.0

如果你的可以,恭喜你,安装成功。我的出错了,试了很多次,感觉已经不能用了,下面带你从头配置安装mxnet.

二、cpu版本的,推荐使用编译好的版本,gpu版本的推荐自己编译。我的是Windows10 64位系统,这里以win10为例,你安装时注意自己的系统。

一定要检查你的显卡是否能用cuda, 如果不能,是用不了mxnet的 GPU版的,请安装CPU版,我的可以,先安装对应版本的英伟达驱动。

1 安装VS2013或者VS2015

我一开始安装了VS2015,cmake的时候总出错,建议安装VS2013,安装参考:https://jingyan.baidu.com/article/495ba841edca2f38b30ede3d.html

如果安装的是vs2013,则需要增强vs对c++11的支持,下载 Visual C++ Compiler Nov 2013 CTP并安装:

  • 卸载”Microsoft Visual C++ 2013 Redistributable (x64)”, 否则安装CTP时会出现0x80070666错误
  • 安装CTP
  • 拷贝C:\Program Files (x86)\Microsoft Visual C++ Compiler Nov 2013 CTP内的文件到C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC (注意:如果VS的安装目录不是默认目录,则上述目录依然存在,但应该拷贝到对应的安装目录下!)

2 安装CUDA、cuDNN

CUDA下载地址:https://developer.nvidia.com/cuda-toolkit
直接按next安装就可以,win10系统下最好使用8.0
cuDNN:https://developer.nvidia.com/cudnn
下载最新的v7.2版本

解压后把cudnn目录下的bin目录加到PATH环境变量里

下载后得到Cudnn文件夹(名字也叫cuda), 分别将里面的cuda/include、cuda/lib、cuda/bin三个目录中的内容拷贝到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0对应的include、lib、bin目录下即可

验证是否装好命令:nvcc -V

3 安装opencv3.0

下载地址:http://opencv.org/
下载并解压,然后创建环境变量OpenCV_DIR,把opencv/build目录添加进去
把\opencv\build\x64\vc12\bin和\opencv\build\x86\vc12\bin添加到PATH路径

具体安装配置参考:https://jingyan.baidu.com/article/64d05a0245aa70de55f73b12.html

记得要配置文件属性使所有项目都适用。

配置文件属性使所有项目都适用可以参考:https://www.zhihu.com/question/24400428,比较详细

4  安装openBLAS

openBLAS(解压就行):https://sourceforge.net/projects/openblas/files/v0.2.14/
注意:需要下载mingw64_dll.zip和OpenBLAS-v0.2.14-Win64-int32.zip两个文件!
创建环境变量 OpenBLAS_HOME,把openBLAS根目录加进去
把DLL所在目录需要添加到环境变量path中

5  安装Anaconda

其实就是安装python,如果那样的话还得安装很多包,这里安装anaconda比较方便。

python3之前安装有问题,这里建议安装anaconda2,里面集成了python2。安装前建议清理所有的python版本

下载地址Anaconda , 下载2.7,直接next安装,把安装路径添加到PATH里去,安装目录不要有空格

安装python编辑器的话建议安装pycharm,具体不在这里赘述。

6  安装mxnet

下载地址:https://github.com/dmlc/mxnet
工程里面包含有引用信息,记得把引用的文件也下载下来
解压并在根目录新建build目录
下载CMakehttps://cmake.org/

打开CMake,指定好目录后按下Configure,选择相应版本的vs win64工程

如果出现找不到cudnn,手动设置cudnn位置在点击Configure,直到警告全部消失
最后点击generate生成Visual Studio工程。

7 编译mxnet

打开mxnet.sln,注意编译选项改成releasex64模式,编译ALL BUILD,最后会在build/release文件夹下生成libmxnet.liblibmxnet.dll,把这个目录加入PATH

8 配置python

运行cmd
cd
进入到mxnet/python目录下,输入python setup.py install
安装完后重新打开cmd
运行python命令,输入import mxnet as mx
a = mx.nd.ones(1)
b = mx.nd.ones(1,mx.gpu())

a.asnumpy()
b.asnumpy()

表示配置成功。

如果gpu变量显示为0,说明编译有问题,具体看网站https://github.com/dmlc/mxnet/issues/1228 

三 、如果上述编译出错,不能点击generate生成Visual Studio工程

我们不使用DMLC在github上发布的那一套MXNet,早已经不更新了。

日更新版本:https://github.com/yajiedesign/mxnet/releases

新版的MXNet里有一些参数在vc12编译出的库里没有,所以推荐使用vc14版本,也就是VS2015。可以安装C++11支持

接下来按着步骤二进行操作就可以了

四、安装常见错误

一是WindowError:126
二是ImportError: cannot import name libinfo

解决方案是

1st: python build & install success

2st: copy all dependence dlls(opencv,openblas etc.) to C:\Python27\Lib\site-packages\mxnet-0.5.0-py2.7.egg\mxnet\

3rd: before import mxnet add mxnet package path to PATH environment.
os.environ[‘PATH’]=r’C:\Python27\Lib\site-packages\mxnet-0.5.0-py2.7.egg\mxnet;’ + os.environ[‘PATH’]

简单的说就是把openCV 和 openBLAS的dll放入 %your_python_dir%\Lib\site-packages\mxnet-0.X.0-py2.7.egg\mxnet\文件夹下,并在系统的环境变量中加入该文件夹路径

还有个错误是提示dll的位数不对,这是由于第三方依赖库的位数没有统一,建议都使用64位

注意:我之前都是用笔记本安装或者服务器,这次用台式机,大坑,安装好了显示找不到显卡,检查显卡驱动是好的,但是检测不到显卡,检查后发现连接的是AMD显卡,英伟达显卡没有连接,换连接英伟达显卡,可以用mxnet gpu版本,整个安装成功。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows10下安装MXNet-走过的那些坑 的相关文章

  • 如何在Windows上模拟socket.socketpair

    标准Python函数套接字 套接字对 https docs python org 3 library socket html socket socketpair不幸的是 它在 Windows 上不可用 从 Python 3 4 1 开始 我
  • 自定义波特率,redux

    我遇到的问题详述如下自定义波特率 https stackoverflow com questions 7714060 custom baud rate SetCommState 波特率 921600 失败 但波特率 115200 成功 尽管
  • 如何将 GIT 调用的输出获取到批处理脚本中的变量中?

    我有一个 git 命令来获取当前存储库的最新 SHA 如下所示 git log pretty format H n 1 我有一个 Windows 批处理脚本 我想按如下方式使用它 SET CURRENT SHA 但我不知道如何将从 git
  • Windows 窗口对接

    我想知道如何在 Windows 中将窗口停靠 捕捉到屏幕的一侧 最好使用直接的 Win32 API 我正在寻找的效果就像任务栏 一个在屏幕上有保留空间的窗口 因此最大化另一个窗口会使该窗口占据屏幕的其余部分 但使我的窗口保持在适当的位置并可
  • 调用 printf 系统子例程在汇编代码中输出整数错误[重复]

    这个问题在这里已经有答案了 来回 在windows7控制台窗口中运行gcc s2 asm 然后生成一个exe文件 运行a exe 然后崩溃 为什么 s2 asm 代码由以下源代码生成 int m m 1 iprint m s2 asm请参考
  • 不在焦点时响应键盘? (C#、Vista)

    我正在尝试编写一个应用程序 只要按下 Shift 键 无论当前哪个应用程序具有焦点 它都会做出响应 我尝试过这个SetWindowsHookEx 与GetKeyboardState 但这两种方法仅在应用程序窗口具有焦点时才有效 我需要它在全
  • 常见的 Windows 编译器上有哪些 std::locale 名称可用?

    该标准对于什么构成有效的语言环境名称几乎没有提及 只有传递无效的区域设置名称才会导致std runtime error 哪些语言环境名称可用于常见的 Windows 编译器 例如 MSVC MinGW 和 ICC 好吧 C 和 C 语言环境
  • Windows 中的蓝牙 AVRCP 命令会触发哪些事件

    可以这么说 只是在做一些高级侦察 对于我的潘多拉客户 Elpis http elpis adamhaile net 我支持全局媒体键 键盘上的 MediaPlayPause MediaNext 等 并且我希望能够支持AVRCP http e
  • 在有或没有 UNICODE 支持的情况下,如何在我的程序中使用 _stprintf?

    微软的 定义 stprintf as swprintf if UNICODE被定义 并且sprintf如果不 但这些函数采用不同的参数 在swprintf 第二个参数是缓冲区大小 但是sprintf没有这个 有人偷懒了吗 如果是这样 这就是
  • 使用管理员权限打开cmd(Windows 10)

    我有自己的 python 脚本来管理我的计算机上的 IP 地址 它主要在命令行 Windows 10 中执行netsh命令 您必须具有管理员权限 这是我自己的计算机 我是管理员 运行脚本时我已经使用管理员类型的用户 Adrian 登录 我无
  • 将 kinit 与 keytab 文件一起使用时会发生什么

    希望对kinit和keytab文件的使用有更多的了解 例如 如果我已经为某个服务生成了一个密钥表文件 该服务通过以下方式注册到活动目录 ktpass mapuser to someuseraccount ktab k mykeytab a
  • Mac OS X 上的 /proc/self/cmdline / GetCommandLine 等效项是什么?

    如何在不使用 argc argv 的情况下访问 Mac OS X 上的命令行 在 Linux 上 我会简单地阅读 proc self cmdline or use GetCommandLine在 Windows 上 但我找不到 Mac OS
  • 将 OpenBLAS 链接到 MinGW

    我正在尝试链接OpenBLAS https www openblas net 图书馆与明GW w64 https mingw w64 org Windows 上的编译器 这是我的代码 include
  • 为什么 Windows 命令 DIR 在搜索 *.tif 文件时也会输出 *.tiff 文件?

    我想使用 Windows 命令DIR为了找到唯一TIF文件 即具有扩展名的文件 tif 因此我使用以下小批处理文件 for f delims a IN dir b a d s C wolter testversion input tif d
  • 如何处理来自单独线程的窗口消息?

    我希望启动一个单独的线程来处理窗口消息 通过阻塞 GetMessage 循环 但之后仍然在初始线程中创建窗口 在单独的线程中 一旦启动 我就会调用PeekMessage使用 PM NOREMOVE 确保消息队列存在 有必要吗 然后 Atta
  • 如何使用正则表达式验证带有可选百分比符号的小数?

    正如问题的标题 我需要使用以下值验证正则表达式 最多 2 个小数位和 9 个整数 带有可选的百分比符号 Valid 10 0 1111111 12 15 2 10 2 3 Invalid 12 02 123456789123 123 I t
  • 用于绘制音符的库[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个可以以某种方式在屏幕上绘制音符的 Windows 库 我将使用它用 C 编写一个应用程序
  • Android框架结构与MFC/Win32结构的比较?

    我为 Android 和 Windows 进行开发 使用 MFC 有时使用 win32 昨天我随意比较了这两个框架 它们显然非常非常不同 因此 Windows 开发与 Android 开发有很大不同 我想知道人们认为 Android 这样的
  • 处理器关联组 C#

    我使用的是 72 核的 Windows Server 2016 我看到有两组处理器 我的 net 应用程序将使用一个或其他组 我需要能够强制我的应用程序使用我选择的组 我看到下面的代码示例 但我无法使其工作 我可能传递了错误的变量 我希望应
  • 如何在 Windows 上的 GCC 中链接 CS50 C 库

    我是 编程新手 一直在尝试使用以下命令编译我的代码MinGW https en wikipedia org wiki MinGW GCC 但我尝试包括CS50 https en wikipedia org wiki CS50 cs50 c

随机推荐

  • Pod控制器(一)ReplicaSet

    目录 1 关于Pod控制器 1 1Pod控制器概述 1 2 控制器与Pod对象 1 3 ReplicaSet控制器 1 3 1 ReplicaSet概述 1 3 2 创建ReplicaSet 1 3 3 ReplicaSet管控下的Pod对
  • ajax同步异步的具体事例,Ajax同步和异步(示例代码)

    Ajax在默认情况下是异步执行的 即其属性 async boolean 是否异步 同步和异步的区别 同步 Client 向 Server请求数据 直到该部分数据返回时 Client在请求返回值后的相应程序队列才会按顺序执行 在此期间 Cli
  • 微信小程序 车牌号输入组件

    概述 一个小组件 用于方便用户输入车牌号码 详细 概述 有时候我们开发过程中会遇到需要用户输入车牌号的情况 让客户通过自带键盘输入 体验不好且容易出错 例如车牌号是不能输入O和I的 因此需要有一个自定义的键盘 让客户输入正确的车牌号 详细
  • 基于MyApps低代码平台生成的CRM实现客户的高效管理

    随着市场的发展 客户开始变得越来越重要 因此很多公司开始追求客户数量用尽浑身解数 可盲目发展 一股脑的想要扩大客户数量 也导致企业无法对客户进行有效的管理 不可避免地出现以下问题 1 没有对新客户做好分析 也疏于老客户的管理 导致客户流失的
  • 基于Qt的OpenGL编程(3.x以上GLSL可编程管线版)---(十七)深度测试

    Vries的教程是我看过的最好的可编程管线OpenGL教程 没有之一 其原地址如下 https learnopengl cn github io 04 20Advanced 20OpenGL 01 20Depth 20testing 关于深
  • 双目标定(二)单目标定基本原理

    主体思路 先处理纯二维平面的畸变问题 此处略过 矫正图片后 再来求解相机内外参数 基本思路是求得每个标定板对应的单应矩阵 再联合优化所有标定板数据得到相机内参矩阵 再得到每个标定板对应的外参 1 标定板平面到像平面的单应矩阵H 则对于每个棋
  • 短视频制作难度大吗?怎么剪辑短视频?

    随着抖音 快手等视频分享软件的兴起 很多人已经开始尝试制作短视频分享 那么 对于视频制作新手来说 短视频的制作难度大吗 其实 只要选对了视频制作软件 视频制作将会变得相当简单 在众多视频剪辑软件中 会声会影因其丰富的视频制作功能 直观的操作
  • python识别图像中的文字

    我们想识别图像中对我们有用的评论 所以需要卡一个阈值来仅仅获得对我们有用的信息 import easyocr 创建reader对象 import json reader easyocr Reader en result list reade
  • git --amend用法

    git commit amend 这个命令是让我们可以对上一次提交有修改 可以修改文件也可以修改说明 不产生新的commit 在我们有一次提交 然后提交之后评审发现代码有问题 我们没有进行和入 需要重新修改 但是我们又不能产生新的commi
  • IDEA中自动生成类图方法

    1 打开设置 File Setting或windows下按Ctrl Alt S 2 找到 Tools Diagrams 如下图 3 在Java Class Diagrams 中选中需要生成类图的对象 4 选中需要生成类图的对象 然后按Ctr
  • 将形如 0xAABBCC拆分成形如 三个数0xAA,0xBB,0xCC 及逆过程

    将形如 0xAABBCC拆分成形如 三个数0xAA 0xBB 0xCC pre class java private static int Int2Arr int a span span int s new int 3 span span
  • Java Post接口调用

    1 通过Cookies properties管理cookies cookies key1 AspNetCore Session cookies key2 TS01d2d863 cookies key3 ssoinfo cookies key
  • Kalman Filtering – A Practical Implementation Guide (wi_拔剑-浆糊的传说_新浪博客

    Kalman Filtering A Practical Implementation Guide with code 一个开源的C C 库 http kalman sourceforge net index php 另外一个基于末班类的开
  • Animator之RootMotion

    Unity3D 中 Generic 动画导入设置和 Root Motion 之间的关系 Unity3D 的 Mecanim 动画系统可以直接复用 3DS MAX 中制作的动画文件中的位移 这个就是通过 applyRootMotion 来达成
  • java计时器_Java 计时器

    1 Timer and TimerTask Timer是jdk中提供的一个定时器工具 使用的时候会在主线程之外起一个单独的线程执行指定的计划任务 可以指定执行一次或者反复执行多次 TimerTask是一个实现了Runnable接口的抽象类
  • 【Python 3.7】访客名单:编写一个 while 循环,提示用户输入其名字。用户输入其名字后, 在屏幕上打印一句问候语,并将一条访问记录添加到文件 guest_book.txt 中。

    Python 3 7 访客名单 编写一个 while 循环 提示用户输入其名字 用户输入其名字后 在屏幕上打印一句问候语 并将一条访问记录添加到文件 guest book txt 中 确保这个文件中的每条记录都独占一行 程序为 filena
  • Python实现GWO智能灰狼优化算法优化循环神经网络分类模型(LSTM分类算法)项目实战

    说明 这是一个机器学习实战项目 附带数据 代码 文档 视频讲解 如需数据 代码 文档 视频讲解可以直接到文章最后获取 1 项目背景 灰狼优化算法 GWO 由澳大利亚格里菲斯大学学者 Mirjalili 等人于2014年提出来的一种群智能优化
  • HLS图像处理系列——肤色检测

    本博文采用Xilinx HLS 2014 4工具 实现一个肤色检测的模块 其中 本文重点是构建HLS图像处理函数 新建HLS工程的步骤 本博文不再详述 本工程新建之后 只添加了五个文件 如下图所示 其中 top cpp中的主函数最终会综合生
  • 全球公有云一哥AWS十年宕机故障大全

    任何一个公有云供应商 在发展的历史长河中 都遭遇了这样那样的宕机 故障 或因人为因素 或因雷电太凶 或因机房停电 或因光缆被挖 或因代码错输 这些问题的出现与解决 正好也是公有云服务不断优化与提升的过程 不过 作为全球公有云的一哥 从可以查
  • Windows10下安装MXNet-走过的那些坑

    一 一开始看到各种安装方法 简单的 用pip安装mxnet的python CPU版本和GPU版本 windows还是linux python2还是python3 安装命令都一样 用pip安装mxnet的python CPU版本 pip in