MXNet gpu 版本快速安装(mxnet-cu101)

MXNet gpu 版本快速安装(mxnet-cu101)最近有项目要用mxnet,要从头开始配置mxnet,记录一下全过程,先说下在Windows10下的安装GPU版本的问题。查看cuda版本首先要查看一下自己安装的cuda版本,一般情况下可以使用nvcc–version或nvidia-smi-q指令,比如我的是10.1版,C:\Users\SpaceVision>nvcc–versionnvcc:NVIDIA(R)CudacompilerdriverCopyright(c)2005-2019NVIDIAC

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

最近有项目要用mxnet,要从头开始配置mxnet,记录一下全过程,先说下在Windows 10下的安装GPU版本的问题。

查看cuda版本

首先要查看一下自己安装 的cuda版本,一般情况下可以使用nvcc –version或nvidia-smi -q指令,比如我的是10.1版,

C:\Users\SpaceVision>nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Sun_Jul_28_19:12:52_Pacific_Daylight_Time_2019
Cuda compilation tools, release 10.1, V10.1.243
​
​
C:\Users\SpaceVision>nvidia-smi -q
# nvidia-smi -q
==============NVSMI LOG==============
Timestamp                           : Sun Jun 14 21:19:39 2020
Driver Version                      : 432.00
CUDA Version                        : 10.1
........

Jetbrains全家桶1年46,售后保障稳定

总体安装步骤

简要介绍一下总体的实际安装步骤。注意这里VS不是必须的,但通常我电脑里都是装好了的。

1、安装Microsoft Visual Studio

https://visualstudio.microsoft.com/downloads/下载并安装最新的Community版

2、安装Nvida cuda-toolkit

https://developer.nvidia.com/cuda-downloads下载并安装最新版的CURD,我安装的是10.1版

3、安装cuDNN

https://developer.nvidia.com/cudnn下载cuDNN。注意这要注册登录才能下载,比较麻烦,但只有耐心一步一步去注册和登录了。

下载后,将其解压,将其中的三个文件夹复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\下面对应的地方(同样能看到bin、include、lib目录的地方)。cuDNN安装教程上第3条说的分别复制,其实可以一起复制即可。

增加环境变量,在命令行下执行control sysdm.cpl进入系统属性,高级,环境变量,新建,变量名输入“CUDA_PATH”,变量值输入“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1”(实际的安装路径)。

4、安装Mxnet GPU

一般情况下,我使用的都是anaconda,这时创建一个环境,比如名称为mxnet36,然后用命令 conda activate mxnet36 切换到该环境中再安装mxnet-cu101。其命令为, pip install mxnet-cu101

5、测试

在python中import mxnet,如果没有出错,即大功告成。当然还可以进一步在gpu上创建nd数组,打印确认是否是在GPU上创建的。

注意上面的CUDA、cuDNN、Mxnet gpu都安装的是101版,我没有测试过不同版本号是否兼容。教程上要求VS的版本是2015或2017,我实际安装的是2019,没有问题。

 

安装Mxnet GPU

我最初使用conda install mxnet-gpu,发现安装的是cudatoolkit9.0,然后到 https://anaconda.org/anaconda/mxnet-gpu/files 看了一下,发现mxnet-gpu并没有太多的版本可以选择。当然, 如果这个版本和你的驱动版本正好相符,倒能省不少事,cudnn什么的都会配套给你装好。

因为版本我的驱动器的不相符,最后只能放弃。回过头来再用下面的指令安装, pip install mxnet-cu101

安装cudatoolkit+cudnn

吸取刚才的教训,这次直接指定版本号,

conda install -c anaconda cudatoolkit=10.1

当然,后续还要安装 cudnn(参考:https://anaconda.org/anaconda/cudnn),这次可以不用指定版本号,

conda install -c anaconda cudnn

然后提示中可以看到相兼容的版本信息,

The following packages will be downloaded:
    package                    |            build
    ---------------------------|-----------------
    cudnn-7.6.5                |       cuda10.1_0       250.4 MB  anaconda
    ------------------------------------------------------------
                                           Total:       250.4 MB
The following NEW packages will be INSTALLED:
  cudnn              anaconda/win-64::cudnn-7.6.5-cuda10.1_0

补充一点在Ubuntu碰到的情况,在已经安装cudatoolkit10.1的情况下,conda install -c anaconda cudnn居然会把10.1版本卸载掉,然后硬生生装上cudatoolkit10.2和cudnn7.6.5,这种情况在windows下没有碰到过,解决办法是一次性强行指定安装,如下,

conda install -c anaconda  cudatoolkit=10.1  cudnn

 

后续问题

也不知道是为什么,虽然 我仔细检查了一下,各个配置都正常,但使用时还是报错,

(mxgpu36) C:\Users\space>python
Python 3.6.10 |Anaconda, Inc.| (default, May  7 2020, 19:46:08) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import mxnet as mx
>>> mx.gpu
<function gpu at 0x0000014FFFF22840>
>>> import mxnet.ndarray as nd
>>> a = nd.ones(shape=(2,3),dtype='int32',ctx=mx.gpu(0))
[16:43:31] c:\jenkins\workspace\mxnet-tag\mxnet\src\imperative\./imperative_utils.h:91: GPU support is disabled. Compile MXNet with USE_CUDA=1 to enable GPU support.
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\space\AppData\Roaming\Python\Python36\site-packages\mxnet\ndarray\ndarray.py", line 2437, in ones
    return _internal._ones(shape=shape, ctx=ctx, dtype=dtype, **kwargs)
  File "<string>", line 34, in _ones
  File "C:\Users\space\AppData\Roaming\Python\Python36\site-packages\mxnet\_ctypes\ndarray.py", line 92, in _imperative_invoke
    ctypes.byref(out_stypes)))
  File "C:\Users\space\AppData\Roaming\Python\Python36\site-packages\mxnet\base.py", line 253, in check_call
    raise MXNetError(py_str(_LIB.MXGetLastError()))
mxnet.base.MXNetError: [16:43:31] C:\Jenkins\workspace\mxnet-tag\mxnet\src\imperative\imperative.cc:81: Operator _ones is not implemented for GPU.
​

这个是比较经典的,找不到mxnet-gpu版本,而只找到了mxnet cpu版本的报错。我估计是anaconda在环境设置上有什么问题,把另一个环境中的mxnet cpu版本引用到这个mxgpu36新环境中来了,或者有什么东西安装时没清理干净。

于是我卸载了mxnet,

(mxgpu36) C:\Users\SpaceVision>pip uninstall mxnet
Found existing installation: mxnet 1.5.0
Uninstalling mxnet-1.5.0:
  Would remove:
    c:\users\space\appdata\roaming\python\python36\site-packages\dmlc_tracker\*
    c:\users\space\appdata\roaming\python\python36\site-packages\mxnet-1.5.0.dist-info\*
    c:\users\space\appdata\roaming\python\python36\site-packages\mxnet\*
Proceed (y/n)? y
  Successfully uninstalled mxnet-1.5.0

然后再安装mxnet-cu101,如下,

(mxgpu36) C:\Users\SpaceVision>pip install mxnet-cu101
Requirement already satisfied: mxnet-cu101 in d:\anaconda3\envs\mxgpu36\lib\site-packages (1.5.0)
Requirement already satisfied: requests<2.19.0,>=2.18.4 in c:\users\space\appdata\roaming\python\python36\site-packages (from mxnet-cu101) (2.18.4)
Requirement already satisfied: graphviz<0.9.0,>=0.8.1 in c:\users\space\appdata\roaming\python\python36\site-packages (from mxnet-cu101) (0.8.4)
Requirement already satisfied: numpy<1.17.0,>=1.8.2 in d:\anaconda3\envs\mxgpu36\lib\site-packages (from mxnet-cu101) (1.16.6)
Requirement already satisfied: urllib3<1.23,>=1.21.1 in c:\users\space\appdata\roaming\python\python36\site-packages (from requests<2.19.0,>=2.18.4->mxnet-cu101) (1.22)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in c:\users\space\appdata\roaming\python\python36\site-packages (from requests<2.19.0,>=2.18.4->mxnet-cu101) (3.0.4)
Requirement already satisfied: certifi>=2017.4.17 in c:\users\space\appdata\roaming\python\python36\site-packages (from requests<2.19.0,>=2.18.4->mxnet-cu101) (2020.4.5.2)
Requirement already satisfied: idna<2.7,>=2.5 in c:\users\space\appdata\roaming\python\python36\site-packages (from requests<2.19.0,>=2.18.4->mxnet-cu101) (2.6)
​

测试

最后再测试一下,

(mxgpu36) C:\Users\SpaceVision>python
Python 3.6.10 |Anaconda, Inc.| (default, May  7 2020, 19:46:08) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import mxnet as mx
>>> import mxnet.ndarray as nd
>>> a = nd.ones(shape=(2,3),dtype='int32',ctx=mx.gpu(0))
>>> print(a.shape, a.dtype, a.size, a.context)
(2, 3) <class 'numpy.int32'> 6 gpu(0)
>>>

OK,大功告成。

 

附:Anaconda弄错环境的原因分析

这个分析起来比较麻烦,目前没有头绪,anaconda用久了,怪异的现象还真不少。我另外开了一贴,在这里
https://blog.csdn.net/tanmx219/article/details/106794021
供参考。

附:使用时碰到的numpy的版本问题

尽管我已经装了正确的版本,但使用时还是经常碰到,
mxnet 1.5.0 has requirement numpy<1.17.0,>=1.8.2, but you’ll have numpy 1.18.5 which is incompatible.

我按照
pip install -U numpy==1.16.6

一般当时能解决问题,重启之后又会再次报错,目前这个错误有点不可思议了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/213408.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • matlab创建数组的方法_创建数组的三种方法

    matlab创建数组的方法_创建数组的三种方法1直接方法:       A=[1,2,3;4,5,6];2冒号方法:      B=x:inc:b;3定数线性采样法:x=linspace(-1,1,10);4中等规模数组的数组编辑器创建法:在工作空间中右键创建一个名为“unnamed”的变量,双击,在里面输入数据,修改变量名   为“ABC”,运行“save ABC ABC”。将数组AB…

    2022年5月3日
    276
  • qca wlan wifi modules解析三

    qca wlan wifi modules解析三WLAN驱动的内核模块。参看下面这个框图:WLAN驱动中各个内核模块的作用如下:asf.ko–基本框架模块qdf.ko–基本框架模块ath_spectral.ko–支持Spectralath_dfs.ko–支持DFSumac.ko–通用802.11协议管理ath_hal.ko–Direct-Attach硬件虚拟层ath_rate_atheros.ko–…

    2022年7月11日
    17
  • 大数据分析应用领域有哪些[通俗易懂]

    大数据分析应用领域有哪些[通俗易懂]  软件和服务的大数据分析市场收入预计将从2018年的$42B增长到2027年的$103B,复合年增长率(CAGR)为10.48%。这就是为什么,大数据分析认证是业内最全神贯注的技能之一。在这个“大数据分析应用领域”文章中,我将带您进入各个行业领域,在这里我将解释大数据分析如何使它们发生革命性变化。  大数据分析应用  大数据分析应用程序的主要目标是通过分析大量数据来帮助公司做出更具信息量的业务决策。它可能包括Web服务器日志,Internet点击流数据,社交媒体内容和活动报告,来自客户电子邮

    2022年5月29日
    41
  • mshtml文档的处理

    objectc=null;myWeb.Navigate(“http://zhidao.baidu.com/”,refc,refc,refc,refc);//…获取WebBroswer中的body代码mshtml.HTMLDocumentClassdoc=(mshtml.HTMLDocumentClass)myWeb.Document;mshtml.HTMLBodybody=(ms…

    2022年4月8日
    34
  • 给VS2010安装 visual assistant X 1819

    当前最新版本visualassistantX(forVS2010)的安装文件和方法,我已上传至:http://download.csdn.net/source/2274032

    2022年4月12日
    39
  • centos7安装python3.7_python软件安装步骤

    centos7安装python3.7_python软件安装步骤Centos7安装Python3.8详细教程Centos7安装Python3.8详细教程安装编译相关工具下载python安装包编译安装python创建软连接更改yum配置Centos7安装Python3.8详细教程安装编译相关工具yum-ygroupinstall”Developmenttools”yum-yinstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-d

    2022年9月24日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号