Windows下Python3.7 + Anaconda + Tensorflow2.1 + MXNET GPU环境搭建

Windows下Python3.7 + Anaconda + Tensorflow2.1 + MXNet GPU环境搭建

Anaconda

去官网下载最新的Win10 64位版本,安装到本地。如果境内网络下载过慢,也可以去清华的开源镜像下载。其实迅雷下载也很快,包括后面的Nvidia GPU环境安装文件。安装完后记得添加环境变量。

Nvidia GPU 环境

如果是搭建GPU运算的环境,需要先下载安装Nvidia的CUDA和cudnn。

确认显卡是否满足要求

在这里查看你的显卡的算力,如果是3.0以上应该都还是支持的。我的是Geforce 1050,算力6.1.
Windows下Python3.7 + Anaconda + Tensorflow2.1 + MXNET GPU环境搭建_第1张图片

确认CUDA版本并下载安装

Nvidia官网默认是最新版本,目前是10.2. 但是Tensorflow官网显示支持的是CUDA10.1.为了避免以后不必要的麻烦,尽量下载你要安装的Tensorflow版本所对应的CUDA版本。官网可以查看最新的支持情况。
Windows下Python3.7 + Anaconda + Tensorflow2.1 + MXNET GPU环境搭建_第2张图片

下载页面可以选择先下载installer(约20MB)然后网络下载安装,或者整个安装文件下载至本地(约2.5GB)。网速一般的境内用户建议用迅雷下载完整安装文件,速度很快。

各版本的下载可以在这里查看。

安装cudnn

官网下载地址:https://developer.nvidia.com/rdp/cudnn-download

cudnn需要先注册一个用户,然后下载。同样建议用迅雷下载。下载完成后把里面的文件夹解压到CUDA文件的相应位置并合并(直接拖放即可)。

在环境验证之前,要去添加相应系统环境变量。


你的路径\CUDA10.1\NVIDIA GPU Computing Toolkit\CUDA\v10.1\lib\x64;
 
你的路径\CUDA10.1\NVIDIA GPU Computing Toolkit\CUDA\v10.1\include;
 
你的路径\CUDA10.1\NVIDIA GPU Computing Toolkit\CUDA\v10.1\extras\CUPTI\libx64;
 
你的路径\CUDA10.1\NVIDIA Corporation\CUDA\Samples\v10.1\bin\win64;
 
你的路径\CUDA10.1\NVIDIA Corporation\CUDA\Samples\v10.1\common\lib\x64

环境验证

打开你的安装路径,如:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin ,查看nvcc.exe

有这个nvcc.exe就说明CUDA安装已成功。在这个文件夹下打开cmd,输入nvcc -V会显示当前的CUDA型号。

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin>nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Fri_Feb__8_19:08:26_Pacific_Standard_Time_2019
Cuda compilation tools, release 10.1, V10.1.105

Tensorflow 2.1

使用conda安装十分方便。首先建立一个新的虚拟环境,命名为tensorflow21(可以根据自己需要自命名)。打开anaconda prompt, 输入下列命令

conda create -n tensorflow21

然后切换到该环境

conda activate tensorflow21

为了避免conda 自带库版本可能和tensorflow 要求不一致,可以先用conda进行更新

conda update -a

然后安装相应版本tensorflow

conda install -c anaconda tensorflow-gpu

安装完成后,启动python验证一下

python # 先在该环境下启动
import tensorflow as tf # 导入tensorflow包
tf.test.gpu_device_name() # 查看是否启用gpu

如果显示'' 那说明没有启用GPU,只是CPU;如果显示/device:GPU: 0 则GPU启用成功,安装完成。

在初次安装时,我import后提示了numpy相关的error, 如:

ModuleNotFoundError: No module named 'numpy.core._multiarray_umath' ImportError: numpy.core.multiarray failed to import
The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "", line 980, in _find_and_load SystemError: returned a result with an error set ImportError: numpy.core._multiarray_umath failed to import ImportError: numpy.core.umath failed to import

这种错误一般是numpy版本不适配,使用conda或者pipnumpy更新后解决。有时pip的版本会较conda更新,可以使用pip安装。

pip install numpy --upgrade

MXNet

MXNet目前已经更新到了1.6版本。遗憾的是windows下pip只能安装最高1.5版本,conda只能到1.2.1.

conda安装MXNet1.2.1

同样首先建立一个虚拟环境并切换:

conda create -n mxnet-gpu121
conda activate mxnet-gpu121

conda安装胜在简单方便,如果对版本不敏感,可以直接安装进行学习。注意安装gpu版本。

conda install -c anaconda mxnet-gpu

安装完成后可以import进行验证:

import mxnet as mx

如果仔细看了安装过程的说明,会发现过程中python进行了降级。这是因为MXNet1.2.1版本不支持最新python版本所致。conda会自动进行调整,不用我们做额外操作。

pip安装MXNet1.5

首先建一个新虚拟环境并切换:

conda create -n mxnet-gpu150
conda activate mxnet-gpu150

如果使用pip安装,首先要确定CUDA版本,在这里我是10.1版,因此使用命令:

pip install mxnet-cu101mkl

安装介绍页面在此,可以查看其他对应CUDA版本的命令。

安装完成后导入MXNet发现出错,

OSError: [WinError 126] 找不到指定的模块。

搜索相关问题后,可能要安装gluon。于是在pip安装:

pip install gluonbook
pip install gluon

如果期间提示部分依赖库的版本冲突,它们会中止安装并重新安装相应的依赖库。之后再次运行上列命令完成安装即可。再次验证,之前的问题并没有出现,可以正常使用。

在新的虚拟环境安装了MXNet之后,很可能是没有安装Jupyter相关软件的。使用conda进行安装,如果涉及其他软件和库升级请谨慎。Python和numpy这种不要轻易升级。我将python升级至3.8后,原本可以运行的MXNet也无法使用,降级至3.7后才运行成功。

MXNet安装坑不少,成功后尽量不要改动。包括软件和库的版本尽量不要随便升级。

虚拟环境安装了MXNet之后,很可能是没有安装Jupyter相关软件的。使用conda进行安装,如果涉及其他软件和库升级请谨慎。Python和numpy这种不要轻易升级。我将python升级至3.8后,原本可以运行的MXNet也无法使用,降级至3.7后才运行成功。

MXNet安装坑不少,成功后尽量不要改动。包括软件和库的版本尽量不要随便升级。

你可能感兴趣的:(tensorflow,深度学习,神经网络)