• 【Windows下搭建深度学习环境之TensorFlow篇】一气呵成,五步搞定TensorFlow的安装!TensorFlow的安装之路



    安装 TensorFlow前,最好安装目录这个顺序来操作,即安装 Anaconda,创建虚拟环境,安装 CUDA,安装 cuDNN,安装 TensorFlow,五步走。本文教程主要适合用 gpu跑深度学习的同学,用 cpu跑深度学习的同学可移步至其他文章。
    搭建深度学习环境只需要记住一点, 版本匹配版本匹配版本匹配!重要的事情说三遍!

    0 安装前须知

    首先,什么是TensorFlowTensorFlow是一种深度学习框架,这个框架里有很多已经写好的模块(包)可以让用户来调用,实现不同的操作。或者说,TensorFlow是一个工具

    TensorFlow有不同的版本,不同版本的TensorFlow对编译器(即Python的版本)和驱动要求不一样。

    先搞清楚一个事情,你是用CPU跑深度学习还是GPU跑深度学习。

    如果你用cpu跑深度学习,只需要考虑Python版本。

    如果你用gpu跑深度学习,则需要考虑Python版本、CUDA版本、cuDNN版本。

    (这里简单提一嘴,CUDA是显卡厂商NVIDIA推出的运算平台cuDNNNVIDIA的一个用于深度神经网络的GPU加速库。反正就是如果你要用NVIDIA显卡跑深度学习的话,需要下载CUDAcuDNN驱动)

    目前,TensorFlowcpu版本除了1.0.01.1.0要求python的版本是3.5,其他版本从1.2.0一直到2.6.0,都能兼容python3.6。所以我们一般python使用3.6这个最经典兼容性最好的版本,具体的tensorflow==x.x.x各版本对Python的要求,大家可以自行去TensorFlow中文官网查看。TensorFlow中文官网:https://tensorflow.google.cn/install/source_windows?hl=zh-cn

    tensorflow-gpu==2.x.x各版本对于cuDNNCUDA的要求

    版本Python 版本编译器构建工具cuDNNCUDA
    tensorflow_gpu-2.6.03.6-3.9MSVC 2019Bazel 3.7.28.111.2
    tensorflow_gpu-2.5.03.6-3.9MSVC 2019Bazel 3.7.28.111.2
    tensorflow_gpu-2.4.03.6-3.8MSVC 2019Bazel 3.1.08.011.0
    tensorflow_gpu-2.3.03.5-3.8MSVC 2019Bazel 3.1.07.610.1
    tensorflow_gpu-2.2.03.5-3.8MSVC 2019Bazel 2.0.07.610.1
    tensorflow_gpu-2.1.03.5-3.7MSVC 2019Bazel 0.27.1-0.29.17.610.1
    tensorflow_gpu-2.0.03.5-3.7MSVC 2017Bazel 0.26.17.410

    tensorflow-gpu==1.x.x各版本对于cuDNNCUDA的要求

    版本Python 版本编译器构建工具cuDNNCUDA
    tensorflow_gpu-1.15.03.5-3.7MSVC 2017Bazel 0.26.17.410
    tensorflow_gpu-1.14.03.5-3.7MSVC 2017Bazel 0.24.1-0.25.27.410
    tensorflow_gpu-1.13.03.5-3.7MSVC 2019Bazel 0.19.0-0.21.07.410
    tensorflow_gpu-1.12.03.5-3.6MSVC 2015 update 3Bazel 0.15.07.29.0
    tensorflow_gpu-1.11.03.5-3.6MSVC 2015 update 3Bazel 0.15.079
    tensorflow_gpu-1.10.03.5-3.6MSVC 2015 update 3Cmake v3.6.379
    tensorflow_gpu-1.9.03.5-3.6MSVC 2015 update 3Cmake v3.6.379
    tensorflow_gpu-1.8.03.5-3.6MSVC 2015 update 3Cmake v3.6.379
    tensorflow_gpu-1.7.03.5-3.6MSVC 2015 update 3Cmake v3.6.379
    tensorflow_gpu-1.6.03.5-3.6MSVC 2015 update 3Cmake v3.6.379
    tensorflow_gpu-1.5.03.5-3.6MSVC 2015 update 3Cmake v3.6.379
    tensorflow_gpu-1.4.03.5-3.6MSVC 2015 update 3Cmake v3.6.368
    tensorflow_gpu-1.3.03.5-3.6MSVC 2015 update 3Cmake v3.6.368
    tensorflow_gpu-1.2.03.5-3.6MSVC 2015 update 3Cmake v3.6.35.18
    tensorflow_gpu-1.1.03.5MSVC 2015 update 3Cmake v3.6.35.18
    tensorflow_gpu-1.0.03.5MSVC 2015 update 3Cmake v3.6.35.18

    1 安装Anaconda

    不是说安装TensorFlow吗?Anaconda是个什么东西?官方给的解释是Anaconda是一个开源的Python发行版本。我们不管它是个啥,我们要用的是它里面的一个工具叫CondaConda是一个辅助进行包管理和环境管理的工具,我们需要用它来创建Conda虚拟环境

    这里先说一个事情。首先,不同的深度学习项目对于深度学习环境的要求不同。我们在搞深度学习研究的时候,肯定不能所有的项目都只用一个深度学习环境。就好比你不能在厕所吃饭,不能在卧室撒尿一样。
    我们需要创建几个虚拟环境,就像建几个房子或场所一样,便于我们在不同的地点,做不同的深度学习项目。
    —————————————————————————————————

    1.1 什么是虚拟环境?

    先来理解一下什么是虚拟环境?
    我举个例子,假如说你现在有三个深度学习项目,分别是吃饭、睡觉、学习。你吃饭要去食堂,睡觉要在宿舍,学习要去图书馆。其中食堂、宿舍和图书馆就可以理解为三个虚拟环境
    食堂里的食物、餐具等;宿舍里的床、被子等;图书馆里的桌子、书等;这些都是虚拟环境中的模块(库或包,像pythontensorflow
    对于不同的深度学习项目,我们要给他配合适的虚拟环境,让它在这个环境中运行代码。
    我们说的**tensorflow版本不匹配,报错**就好比我的深度学习项目是吃饭,你给我配了一个图书馆的环境,里面是桌子和书,我肯定执行不了。
    举了一个不是特别恰当的例子来帮助大家理解虚拟环境,希望有助于大家理解创建虚拟环境的重要性。
    如下表所示,是三个虚拟环境以及它们里面的部分具体包的展示。

    虚拟环境名字
    tf2.6python3.9、tensorflow-gpu2.6.0等
    tf2.0python3.6、tensorflow-gpu2.0.0、pip21.2.4等
    tf1.1python3.7、tensorflow1.1.15等

    —————————————————————————————————

    1.2 安装Anaconda具体步骤

    建议大家从清华大学开源软件站下载Anaconda
    清华大学开源软件站:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
    在这里插入图片描述
    32位操作系统下载Anaconda3-20xx.xx-Windows-x86.exe
    64位操作系统下载Anaconda3-20xx.xx-Windows-x86_64.exe

    注意,有人反馈用最新的Anaconda创建虚拟环境和安装包时,可能会报奇怪的错误。建议大家在下载的时候不要下载最新的Anaconda,下载稍微旧一点的。

    1.3 添加环境变量(系统变量)

    在命令提示符中输入control system,弹出设置界面。
    在这里插入图片描述
    依次单击高级系统设置-环境变量-Path-编辑

    在这里插入图片描述

    然后单击新建-浏览,将下面四个路径添加到环境变量。

    D:\Software\Anaconda3
    D:\Software\Anaconda3\Scripts\
    D:\Software\Anaconda3\Library\bin
    D:\Software\Anaconda3\Library\mingw-w64\bin
    
    • 1
    • 2
    • 3
    • 4

    这里注意一下Anaconda3的路径,每个人安装Anaconda3的路径可能不同,添加你自己Anaconda3的路径,别无脑复制!

    在这里插入图片描述

    1.4 修改Conda库和pip库的安装源

    指定Conda库的安装源

    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 --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
    conda config --set show_channel_urls yes
    
    • 1
    • 2
    • 3
    • 4
    • 5

    查看Conda库的安装源

    conda config --show channels
    
    • 1

    在这里插入图片描述
    修改pip库的安装源

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

    查看pip库的安装源

    pip config list
    
    • 1

    在这里插入图片描述

    2 创建虚拟环境

    虚拟环境的操作都在命令提示符中执行。

    在安装Tensorflow之前,我们先来搞清楚如何创建一个虚拟环境。
    创建虚拟环境

    conda create -n 环境名 python=X.X
    
    • 1

    在这里插入图片描述
    在这里插入图片描述
    激活虚拟环境

    activate 环境名
    
    • 1

    在这里插入图片描述
    盘符C:前面的(Mytensorflow2.0)表示我们当前已经进入这个虚拟环境中。

    退出虚拟环境

    conda deactivate
    
    • 1

    在这里插入图片描述
    删除虚拟环境

    conda remove -n 环境名 --all
    
    • 1

    安装指定包

    conda install -n 环境名 包名
    
    • 1

    删除指定包

    conda remove --name 环境名  包名
    
    • 1

    3 安装CUDA

    CUDA:NVIDIA的运算平台

    由于CUDA的不同版本对显卡驱动的版本是有要求的,所以我们需要先了解显卡驱动信息以及不同版本的CUDA对显卡驱动的最低要求。

    3.1 查看显卡驱动信息

    打开NVIDIA 控制面板,单击帮助-系统信息
    在这里插入图片描述
    在这里插入图片描述

    3.2 CUDA版本对显卡驱动的要求

    CUDA版本对显卡驱动的最低要求:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html,不满足要求的先去更新显卡驱动。
    NVIDIA 驱动程序下载:https://www.nvidia.cn/Download/index.aspx?lang=cn
    在这里插入图片描述

    3.3 安装CUDA具体步骤

    下载CUDA的时候,注意安装类型选exe(local)

    在这里插入图片描述

    下载完成后,打开下载的CUDA,选择解压路径。

    在这里插入图片描述
    单击同意并继续

    在这里插入图片描述
    选中自定义,单击下一步

    在这里插入图片描述
    只勾选CUDA即可,单击下一步,之后的步骤都是单击下一步,直至完成安装。

    在这里插入图片描述

    3.4 CUDA环境变量的添加

    将下面的两个路径添加到环境变量中的系统变量的Path中,具体添加方法参照本文1.3部分的内容,此处不再赘述。

    C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\bin
    C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\libnvvp
    
    • 1
    • 2

    3.5 查看CUDA的版本

    在命令提示符中执行如下命令即可看到CUDA的版本。

    nvcc --version
    
    • 1

    在这里插入图片描述
    至此,CUDA安装完毕。

    4 安装cuDNN

    • cuDNN:NVIDIA的深度神经网络的GPU加速库
    • cuDNN官网下载相应的版本。

    4.1 安装cuDNN具体步骤

    下载并解压cuDNN,得到如下图的三个文件夹和一个.txt文件。

    在这里插入图片描述
    将所有的文件复制到CUDA的安装目录下,我这里的路径是:

    C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0
    
    • 1

    供大家参考,直接粘贴到这个v10.0的文件夹就行。

    在这里插入图片描述

    4.2 查看cuDNN的版本

    进入如下目录,找到cudnn.h文件并打开。(如果找不到cudnn.h文件,可以找cudnn_version.h

    C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include
    
    • 1

    在这里插入图片描述
    如图所示,我所安装的cuDNN版本是7.4.1

    在这里插入图片描述
    至此,cuDNN安装完毕。

    5 安装TensorFlow

    完成了以上的所有工作后,安装TensorFlow就似乎很容易了。

    5.1 创建虚拟环境并激活

    具体操作可参考第2部分的内容,此处不再赘述。接下来我用自己前面创建好的虚拟环境Mytensorflow2.0来演示。

    5.2 TensorFlow的安装命令

    CPU版本的tensorflow

     pip install tensorflow==x.x.x -i https://pypi.tuna.tsinghua.edu.cn/simple
    
    • 1

    GPU版本的tensorflow

     pip install tensorflow-gpu==x.x.x -i https://pypi.tuna.tsinghua.edu.cn/simple
    
    • 1

    注意,这里-i https://pypi.tuna.tsinghua.edu.cn/simple的意思是:指定库的安装源,即指定从清华大学开源软件镜像站下载tensorflow。因为从tensorflow官网(www.tensorflow.org)下载速度很慢,这里不再作过多的赘述。如果你在本文1.4中已经修改过库的安装源,则无需再指定库的安装源-i https://pypi.tuna.tsinghua.edu.cn/simple

    5.3 安装TensorFlow具体步骤

    首先,进入虚拟环境Mytensorflow2.0

    在这里插入图片描述
    我目前这台机器的CUDA是10.0,cuDNN是7.4.1,这个虚拟环境的Python是3.6,通过版本匹配,我知道能下载的tensorflow的版本是1.13.0、1.14.0、1.15.0和2.0.0

    在这里插入图片描述
    执行下述安装命令,等待安装。

     pip install tensorflow-gpu==2.0.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
    
    • 1

    在这里插入图片描述

    5.4 测试TensorFlow是否安装成功

    进入python,当左边显示>>>这个符号是,表示我们已经运行了python编译器。然后,我们用两行代码查看TensorFlow版本:

    import tensorflow
    print(tensorflow.__version__) 
    
    • 1
    • 2

    在这里插入图片描述
    至此,TensorFlow安装完毕。

    6 写在最后

    由于本文写作较为仓促,用了两三天时间系统整理了一下搭建TensorFlow深度学习环境的过程。如有错误之处,欢迎大家批评指正。也欢迎各位同仁在评论区提出意见,多多交流,感谢各位!

  • 相关阅读:
    Java 变量作用域、构造方法官方教程
    【智慧公寓】东胜物联嵌入式硬件解决方案,为智慧公寓解决方案商降本增效,更快实现产品规模化生产
    怎么恢复回收站删除的文件呢?
    使用python将多个PDF文件合并成一个
    【PWN · ret2text | RISC-V异构】[2023 羊城杯]login
    【剑指 Offer】矩阵中的路径
    香港科技大学广州|智能制造学域&机器人与自主系统学域博士招生宣讲会—中国科学技术大学专场
    js中new做了什么
    力扣(LeetCode)54. 螺旋矩阵(C++)
    Docker的容器管理操作
  • 原文地址:https://blog.csdn.net/qq_43115981/article/details/126366425