win10搭建tensorflow-gpu-1.13.1环境(含原生python和anaconda共存问题解决)亲测有效!

由于之前开始学python装的是原生python,但是由于课程需要用anaconda来安装tensorflow-gpu1.13.1版本,但是又不想只用anaconda,所以就折腾了两种环境都能用的方法。

版本概览:
Python(虚拟环境):3.6.5
CUDA:10
CUDNN:7
tensorflow-gpu:1.13.1

1 anaconda的安装(已有anaconda环境直接转到第4步)

到官网或者国内镜像下载:

清华镜像

然后一路默认安装就行,建议自己改安装目录和添加到环境变量,如果环境变量忘记勾选也没问题,安装好了以后自己添加一下就行:

这个时候一般在cmd命令行下输入python就会出现anaconda环境,下面就说两种环境都可以使用的方式。

2 修改执行文件名称

找到原生python和anaconda的安装目录,并将python.exe文件复制一个副本,重命名一下,只要在命令行输入重命名后的内容,就能进入对应环境了,如下面图示:

原生python:

anaconda:

3 验证

原生python:

anaconda:

我还发现输入python默认的环境就是anaconda:

接着测试了一下pip list,发现默认的也是anaconda。

那么也就是说现在默认的环境就是anaconda,改anaconda的执行文件似乎是多此一举,不过改了也没事,没有影响。要用原生python了,那就执行python3;要用anaconda了,那就直接执行python。原来习惯的原生python命令的执行只要加上python3就可以了。例如:

1
2
3
4
5
6
7
查看当前Python对应的pip版本:Python3 –m pip –-version

查看当前Python对应的pip安装的第三方库:Python3 –m pip list

安装对应的扩展库:Python3 –m pip install 库名

卸载对应的扩展库:Python3 –m pip uninstall 库名

4 安装CUDA和CUDNN

网上说anaconda可以在安装tensorflow的gpu版本时候自己安装配套的cuda和cudnn,这个没问题,关键是在于这两个东西需要和英伟达的显卡版本相对应,自动安装只会默认安装最新版本的套件,而有的显卡不支持最新版本,所以最好还是自己动手安装吧,而且自己在选版本时最好选比自己显卡版本低一个版本的安装。

比如我的安装了10.2版本结果还是卸了重新装了个10.0的(10.1没试过,因为网上说这个版本大多也不行)

除此之外,还要看看driver version:

然后去官网下载对应版本就行。

CUDA

CUDNN

安装时候记得选自定义安装,选除了c盘以外的其他盘来装,且只安装CUDA一个组件就行,环境变量会自动加入,如果没有加入,参考下面的进行加入,我的安装目录在CUDA下

如果出现path环境变量过大的问题,就新建一个环境变量EXTENSION_PATH,把应该要加入path的值加入到这里来,然后在path下加入一条%EXTENSION_PATH%就行了

CUDNN的安装就是把对应的文件放到CUDA安装目录的对应文件里面就行了。

这些做完以后就安装完成了(如果版本选的对应的话),命令行输入:

1
nvcc -V

如果出现如上图所示安装的版本信息则说明安装成功。

5 安装gpu版本的tensorflow

首先换为国内源

添加清华源:

1
2
3
4
5
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
#设置搜索时显示通道地址
conda config --set show_channel_urls yes

添加中科大源:

1
2
3
4
5
6
7
8
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/
#设置搜索时显示通道地址
conda config --set show_channel_urls yes

也可以把pip设置为清华源:

1
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

Linux下,将以上内容写在配置文件~/.condarc中:

vim ~/.condarc

1
2
3
4
5
6
channels:
    - https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
    - https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
    - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
    - defaults
show_channel_urls: true

删源:

1
conda config --remove-key channels


下面开始安装tensorflow的GPU版本

先创建一个TensorFlow的虚拟环境(我这里指定python版本为3.6.5,环境名字叫tensorflow-gpu)

1
conda create -n tensorflow-gpu python=3.6.5

启用tensorflow环境

1
conda activate tensorflow-gpu

如果出现激活失败的话,输入:

1
CALL conda.bat activate

然后再次激活

安装tensorflow

1
conda install tensorflow-gpu==1.13.1

如果不想用虚拟环境了

1
conda remove -n tensorflow-gpu --all

6 测试CUDA是否可用

在进入虚拟环境的情况下,输入python进去python环境,然后用以下代码测试:

1
2
3
>>> import tensorflow as tf
>>> a = tf.test.is_built_with_cuda()
>>> print(a)

出现true的话就说明CUDA可用

7 测试GPU是否可用

输入如下代码:

1
2
>>> b = tf.test.is_gpu_available(cuda_only = False, min_cuda_compute_capability = None)
>>> print(b)

出现显卡信息和true则说明GPU可用

8 测试Tensorflow-gpu是否可用

输入如下代码:

1
2
3
4
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))

出现显卡信息并显示b’Hello, TensorFlow!’则说明gpu版本的tensorflow可用

9 查看显卡利用率

在环境变量里面加入

1
C:\Program Files\NVIDIA Corporation\NVSMI

然后打开命令行就能查看了,不同版本的显卡显示界面不同。

简单查看:

1
nvidia-smi

每隔1秒刷新一次

1
nvidia-smi -l 1

10 在pycharm打开创建的虚拟环境

打开pycharm后新建项目或者直接打开一个python文件,依次打开:文件>设置>项目>Project interpreter

再在右边的设置按钮处点击add

然后点击Conda Environment,选择下面的Existing environment,再点右边的三个点的按钮,找到anaconda安装路径下的envs文件夹,再点进去自己的虚拟环境文件夹,找到python.exe执行文件选中打开,点击确定即可


如果对你有用可以点赞关注支持一下哦,后面还会不断更新。