由于之前开始学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)) |
出现显卡信息并显示
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执行文件选中打开,点击确定即可
如果对你有用可以点赞关注支持一下哦,后面还会不断更新。