深度学习环境搭建之Win10+Pycharm+Tensorflo
前言:
时间来到了2020年,3月8日
上一次搭建环境还得是19年年初
在本次中发现已有的文章或博客基本都过期很久,对搭建环境的帮助很有限,于是便整理了以下内容,供大家参考
如果你希望在你的电脑上搭建tensorflow+keras的环境来快速实现并验证你有关深度学习的一些设计或者想法,以下内容对你再合适不过了
划重点:
操作系统:Win10
IDE:Pycharm
GPU:必须是NVDIA系列显卡
注:安装GPU版本的重要性
配置Tensorflow-GPU的重要性在于GPU的浮点计算能力要远强于CPU
在模型训练中,一颗非常普通GPU的计算速度也要强于一颗高配CPU
搭建步骤:
1.安装 Pycharm
这个很简单,Jetbrains的官网直接找到并下载Pycharm即可。
注意:建议安装professionial版本,学生可以通过使用个人的学校邮箱地址来注册Jetbrains账号,可以申请教育优惠,免费试用所有的Jetbrains产品。(For educational use only)

2.安装python环境
比较长远的安装方法是通过anaconda来安装python。
anaconda官网 https://www.anaconda.com/,直接下载即可,选择python3.7 版本即可,安装时记录好安装位置。

在环境配置那一步勾选第二项,手动配置环境(避免不必要的错误)

安装好后,在环境变量-系统变量中添加好三条配置,(按照你的安装位置去填写,例如我的Anaconda3安装位置是C盘的users/pc,)

在命令行中分别输入anaconda和python ,出现如下页面,则证明你的anaconda已经安装并配置完毕

2.安装Tensorflow-GPU
打开pycharm,创建project,Project Interpreter选择anaconda下的python环境

打开file中的setting选项,即可看见anaconda所有的包

点击右侧 “+”,即可install新的依赖包,直接搜索tensorflow-gpu并install即可,注:右下角tensorflow版本号2.1

3.安装对应硬件驱动依赖:CUDA+cuDNN
打开tensorflow官网,在安装下查看 GPU的CUDA版本与 python包的版本的对应关系

图中标注处表明,当安装TensorFlow版本为2.1.0时,对应的CUDA Toolkit版本为10.1,同时要求GPU的驱动,要高于418.x
如何查看自己的GPU驱动版本:首先确保自己NVDIA显卡安装了最新的驱动,打开NVDIA 控制面板,帮助 ->系统信息 ->显示

查看显卡支持的CUDA版本,NVDIA 控制面板,帮助 ->系统信息 ->组件

确定以上两者后,表明我们的显卡驱动已经满足Tensorflow 2.1版本所要求的环境,接下来,下载对应版本的CUDA
百度直接搜索“CUDA 10.1”点击链接进行下载,如果从CUDA官网下,选择版本“10”,会默认下载最新版的“10.2”,这不符合Tens2.1的要求

CUDA的安装设置默认即可,在CUDA安装完毕后,安装cuDNN,地址:https://developer.nvidia.com/rdp/cudnn-download,这个是需要注册登录后才能下载,选择对应版本即可

下载解压后你会发现,这只包含三个文件夹,每个文件夹各有一个文件

按照如下要求,将cuDNN的文件去替换刚才安装的CUDA Toolkit中的对应文件,并且在系统变量中添加 CUDA_PATH的路径

在我之后添加系统变量的时候发现已经有了一个CUDA_PATH_V10_1,猜测可能是在安装CUDA的时候自动添加的系统变量,但是我还是按照要求添加了名为CUDA_PATH的系统变量。

至此我们已经安装了Tensorflow-gpu所需的驱动环境
4.安装Keras
使用步骤2中安装tensorflow-gpu的方法安装keras,只安装keras即可,不需要kersa-gpu,如果anaconda已经安装,则不必再重复此步骤
5.测试
在 https://github.com/keras-team/keras/tree/master/examples 中,将mnist_cnn.py下载下来。copy到最开始创建的工程文件中

如果安装正确,是不会有报错的。下面直接右键运行,先自动下载数据集,然后进行训练


图1所示,GPU成功开始运行,图2所示,经过12轮训练(在我的显卡1660中,大约训练1分钟),识别率则达到0.992