Windows10+Anaconda+TensorFlow(CPU & GPU)环境快速搭建
小编最近在做深度学习中目标检测的相关研究,一直在看论文,正准备配置GPU的相关事务,最近看到一篇blog,收获颇多。
anaconda真是一个好东西
原文地址:https://blog.csdn.net/qq_30611601/article/details/79067982
说明
电脑配置:
- Acer笔记本
- CPU Inter Core i5-6200U
- GPU NVIDIA GeForce 940M(忽略掉我的渣渣GPU)
- Windows10
所需的环境:
- Anaconda3(64bit)
- CUDA-8.0
- CuDNN-5.1
- Python-3.6
- TensorFlow 或者 TensorFlow-gpu
首先安装Anaconda3
我们从官网下载(https://www.anaconda.com/download/#windows),也可以使用我上传百度网盘的版本,链接:https://pan.baidu.com/s/1dGEC57z 密码:2om4
使用Linux的小伙伴可以同样下载Linux版本的Anaconda,之后我会再做补充的。
下载好后,我们进入安装界面:
这里,我们把两个都选上,第一个是加入环境变量,因为我之前安装过一次所以这里提示不要重复添加,第二个是默认的Python3.6,让后Install。
在完成Anaconda的安装后,我们打开Anaconda的命令行(最好用管理员身份运行,否则可能会有权限的问题):
我们可以看到一个和Windows命令行很像的一个窗口:
安装CUDA和CuDNN
这里为安装GPU版本的TensorFlow做准备,CPU版本可跳过此部分。
CUDA是NVIDIA推出的运算平台,CuDNN是专门针对Deep Learning框架设计的一套GPU计算加速方案。虽然在之后用conda命令安装tensorflow-gpu时会自动安装cudatoolkit和cudnn,但是我总觉得自己安装一遍比较放心。
我所用的CUDA和CuDNN分享到百度网盘了,链接:https://pan.baidu.com/s/1dGEC57z 密码:2om4
先安装CUDA
打开首先先解压:
这里我们选择自定义,因为我们只安装CUDA
只选择CUDA其他组件不安装,否则会安装失败
这里可能会提示你安装Visual Studio,忽略掉就好了
然后就开始安装了,等待安装结束就好了。
解压cudnn的压缩包里面有三个文件夹
把这三个文件夹复制到你cuda的安装目录下,我的地址是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0
这样CUDA和CuDNN就安装好了。
创建TensorFlow环境
我们在刚刚打开的命令行里输入命令(conda的命令大家可以在这篇博客中找到http://blog.csdn.net/fyuanfena/article/details/52080270):
这条命令的意思是创建了一个虚拟环境,可以继续安装anaconda和其他的东西
conda create -n tensorflow_gpu python=3.6
中间会让我们确认一下,输入个y回车就好了。安装好后会给我们提示用activate,和deactivate进行环境的切换。
我们先切换到创建好的环境中:
activate tensorflow_gpu
现在,基本环境已经配置好了,我们要安装一些重要的Python科学运算库,Anaconda已经为我们准备好的一系列常用的Python苦,例如numpy,pandas,matplotlib等等,所以我们只需要安装一次anaconda库就可以把这些库全部安装好。
conda install anaconda
可以看到,真的有好多常用库。
安装TensorFlow
之后就是我们最重要的一步,安装TensorFlow:
CPU版本
conda install tensorflow
GPU版本
conda install tensorflow-gpu
这样我们的TensorFlow环境已经配置好了。
测试
最后,我们进入jupyter notebook(Anaconda自带的Python IDE,自我感觉挺好用的)输入一段官方文档录入的代码测试一下:
直接输入jupyter notebook,回车
import tensorflow as tf
hello = tf.constant('Hello,TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
- 1
- 2
- 3
- 4
恭喜,你的TensorFlow已经可以用了,接下来快搭建你自己的神经网络吧~!