1前言
TensorFlow是一个开源的机器学习框架,由Google开发和维护。它提供了一种高级别的API,使得开发者可以轻松地构建和训练各种类型的机器学习模型。TensorFlow可以在各种不同的硬件上运行,包括CPU、GPU和TPU。本文将重点介绍如何在Windows 10上搭建TensorFlow GPU环境,让技术开发人员能够快速地使用这个强大的机器学习框架。
2准备工作
2.1 版本匹配问题
在搭建深度学习环境时,版本匹配非常重要。不同的深度学习库和工具在版本上可能存在一些依赖性和兼容性问题。若在搭建环境时没有考虑这些问题,可能会导致代码无法正常运行。为确保版本匹配,应在开始使用它们之前进行仔细的调查和计划。以下是它们之间的版本匹配问题的详细说明:
2.1.1 显卡驱动和显卡匹配
每个显卡驱动程序版本也只支持特定版本的显卡。在选择显卡驱动程序版本之前,请先确定您的显卡型号,并查看该型号在哪个驱动程序版本中被支持。在NVIDIA的官方网站上,可以找到每个驱动程序版本所支持的显卡列表。(Official Drivers | NVIDIA)
2.1.2 CUDA版本和显卡驱动匹配
每个CUDA版本都只支持特定版本的显卡。在选择CUDA版本之前,应该先确定您的显卡驱动型号,并查看该型号在哪个CUDA版本中被支持。在NVIDIA的官方网站上,可以找到每个CUDA版本所支持的显卡驱动列表。(https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#:~:text=%EF%83%81-,CUDA%20Toolkit,%3E%3D451.22**,-*%20Using%20a%20Minimum)
2.1.3 CUDA版本和cuDNN版本匹配
每个cuDNN版本都是为特定版本的CUDA进行优化的。在选择cuDNN版本之前,先确定使用的CUDA版本。在NVIDIA的官方网站上,可找到每个cuDNN版本所支持的CUDA版本列表。(cuDNN Archive | NVIDIA Developer)
2.1.4 CUDA版本和Python、TensorFlow匹配
不同的CUDA版本适配不同版本的Python和TensorFlow,匹配关系可在TensorFlow官网找到。
(https://www.tensorflow.org/install/source#common_installation_problems、
https://www.tensorflow.org/install/source_windows)
总的来说,显卡版本决定显卡驱动版本,显卡驱动版本决定CUDA版本,CUDA版本决定cuDNN版本,CUDA版本和cuDNN版本决定Python和TensorFlow版本。为确保以上软件之间的版本匹配,在安装前需进行详细的调查。
2.2查看显卡型号及驱动程序是否安装
1在Windows系统上,打开命令提示符或PowerShell窗口。输入nvidia-smi命令并运行,如图1所示:
图1
2运行该命令后,屏幕输出GPU的相关信息,例如GPU型号、驱动程序版本、GPU使用情况等。示例输出如图2所示:显卡名称为Nvidia Quadro RTX 4000,驱动版本为522.25支持的CUDA版本最高为11.8。
图2
2.3安装NVIDIA GPU驱动程序
若显卡驱动未安装,请按照以下步骤,确定NVIDIA GPU驱动版本并安装:
1访问NVIDIA官方网站(https://www.nvidia.com/Download/index.aspx)并选择需要安装的驱动程序版本。可以根据显卡型号和操作系统版本选择相应的驱动程序。如图3和图4所示,以Nvidia Quadro RTX 4000的查询为例,适配驱动版本最高为531.18。
图3
图4
2、下载驱动程序安装文件,并双击运行该文件。
3、在安装向导中,选择“自定义(高级)”选项,并勾选“执行干净安装”。
4、在安装选项中,选择需要安装的组件,例如显卡驱动程序、NVIDIA控制面板、PhysX系统软件等。一般来说,推荐安装所有组件。
5、在安装过程中,系统会提示需要重启计算机来完成安装。选择“是”并等待计算机重启。
6、重启后,检查设备管理器中的显卡设备,确认驱动程序已正确安装。
3安装TensorFlow环境
安装TensorFlow之前,需要安装适配版本的CUDA和cuDNN,随后安装Anaconda,安装完成后,在Anaconda的Anaconda Prompt中创建虚拟环境,以方便不同的用户管理自己所需版本的Python和TensorFlow。最后在虚拟环境中安装适配的TensorFlow环境和工具包。
3.1安装CUDA Toolkit
CUDA Toolkit(也被称为CUDA)是由NVIDIA开发的一组GPU加速计算工具,它可以提供各种用于加速GPU计算的库、API和工具。CUDA Toolkit是用于开发和部署CUDA应用程序的标准工具包。在Windows 10上安装CUDA Toolkit的步骤如下:
1在安装CUDA之前,需要确保选择的CUDA版本与显卡型号和操作系统版本匹配。在NVIDIA的官方网站上,可以找到每个CUDA版本所支持的显卡驱动列表。(https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#:~:text=%EF%83%81-,CUDA%20Toolkit,%3E%3D451.22**,-*%20Using%20a%20Minimum)
以驱动版本为522.25为例,可选CUDA版本为11.8以下,在这里,我们安装了版本为11.5的CUDA Toolkit。
2访问NVIDIA官方网站(https://developer.nvidia.com/cuda-toolkit-archive)并选择需要安装的CUDA版本。可以根据操作系统版本、显卡型号和CUDA版本选择相应的安装程序,下载适用于Windows的CUDA Toolkit安装程序。
图5
3运行安装程序,并按照提示完成安装。需要注意的是,安装程序默认会将CUDA安装到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.5目录下。
图6
4重启后,打开命令提示符(CMD)并输入“nvcc -V”命令。如果安装成功,则应该看到CUDA版本信息,如图7所示,可以看到CUDA 11.5.50已经安装完成。
图7
5查看系统环境变量,如图8所示,CUDA环境变量已经自动加入到系统中。
图8
3.2 安装cuDNN
cuDNN(CUDA Deep Neural Network)是由NVIDIA开发的一组加速深度神经网络计算的库。它是专门为GPU加速深度学习任务而设计的,并且可以与CUDA Toolkit配合使用。cuDNN提供了一系列高效的神经网络基本操作,例如卷积、池化、激活函数和归一化,以及用于实现高级操作的API和工具。请按照以下步骤安装:
1在安装cuDNN之前,需要先下载适用于Windows的cuDNN库,选择正确的cuDNN版本取决于所使用的CUDA版本。每个cuDNN版本都是针对特定版本的CUDA进行优化的。(cuDNN Archive | NVIDIA Developer)
图9
2在下载完cuDNN库后,将cuDNN解压缩,将文件内容复制到CUDA Toolkit的安装目录下(本文是:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.5)。
图10
图11
3打开系统环境变量,将图12所示这四条添加进去。
图12
4如图13所示,在安装目录下启动cmd,在终端执行bandwidthTest.exe,出现PASS则安装成功。
图13
3.3 安装Anaconda
Anaconda是一个流行的Python发行版,它包含了许多常用的Python库和工具,可以方便地创建和管理Python虚拟环境。在Windows 10上安装Anaconda的步骤如下:
1在Anaconda的官方网站(https://www.anaconda.com/products/individual)上下载适合您的操作系统的Anaconda安装程序。
图14
2运行下载的安装程序。在安装向导中,可以选择安装路径、注册Anaconda作为默认Python版本等选项。此时不选择自动将Anaconda添加到系统路径,之后将手动添加路径。
图15
3在系统变量一栏中,找到“Path”,添加以下信息:
图16
4安装完成后,可以在Anaconda Navigator中打开Anaconda。通过在Windows搜索栏中输入"Anaconda Navigator",可以找到该应用程序。或者,在命令行中输入"anaconda-navigator"命令打开它。Anaconda Navigator可以通过其界面管理Anaconda环境和安装包,可以创建新的环境、安装软件包、编辑环境变量等。
图17
5另外,还可以通过命令行来管理Anaconda。在Windows系统上,打开Anaconda Prompt可以访问Anaconda环境中的命令行终端,Anaconda Prompt如图18所示。通过"conda"命令,可以在Anaconda环境中安装、更新、删除软件包等操作,如图19所示。
图18
图19
3.4 创建虚拟环境
Python开发一般不在base环境进行,创建虚拟环境是一种常见的 Python 开发技术,它可以在不同的项目之间隔离依赖项,避免版本冲突和其他问题。使用 Anaconda Prompt 创建虚拟环境的步骤如下:
1打开 Anaconda Prompt。
2为提高工具包下载速度,更改为国内清华镜像源,输入以下命令更改:conda config --add channels Index of /anaconda/pkgs/free/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
conda config --set show_channel_urls yes
3创建一个虚拟环境,并指定虚拟环境中Python的版本,输入以下命令:
conda create –n <env_name> python=<version_number>
其中 <env_name> 是创建的虚拟环境的名称,<version_number> 是安装的 Python 版本号。如图20所示,conda create –n tf1 python=3.7为创建名为tf1的虚拟环境,其中安装的Python版本为3.7。
图20
4如图20所示,出现“Proceed([y]/n)?”时,输入y,等待 Anaconda Prompt 完成虚拟环境的创建。屏幕中显示done后,虚拟环境创建完成。此时在Anaconda Prompt中输入conda info –envs,列表中显示tf1环境的存在,证明tf1已安装完成。
3.5 在虚拟环境中安装TensorFlow
进入TensorFlow官网,查看所安装CUDA和cuDNN可支持的TensorFlow版本,如图21所示,这里安装TensorFlow 2.6.0版本。
TensorFlow官网:
https://www.tensorflow.org/install/source#common_installation_problems
https://www.tensorflow.org/install/source_windows
图21
1如图22所示,在Anaconda Prompt中输入conda activate tf1,激活tf1虚拟环境,可以看到环境由base进入tf1。
2输入pip install tensorflow-gpu==2.6.0,安装版本号为2.6.0的TensorFlow-gpu,等待安装完成。
3安装完成后,输入以下命令:
python
Import tensorflow as tf
Print(tf.test.is_gpu_available())
屏幕中输出True,说明GPU版本的TensorFlow已经成功安装。
4继续输入命令:print(tf._version_),屏幕输出2.6.0,进一步说明TensorFlow已经成功安装,版本号为2.6.0,如图23所示。
5安装常用工具包可使用命令conda install xxx,其中xxx为要安装包的名称,例如:
安装pandas:输入命令:conda install pandas
安装keras:输入命令:conda install keras
安装matplotlib:输入命令:conda install matplotlib
安装sklearn:输入命令:conda install scikit-learn
输入exit(),敲回车,退出Python。
图22
图23
4 安装PyCharm并运行程序
PyCharm是一种常用的Python IDE,Python是个解释器,PyCharm是为Python编程语言专门打造的一款IDE(集成开发环境)。在PyCharm中编写Python程序,最终还是要有Python解释器的支持,两者配合工作,PyCharm带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发,界面编写代码和运行操作更加简单。
安装步骤:
1PyCharm 下载地址:Download PyCharm: Python IDE for Professional Developers by JetBrains
图24
根据自身电脑情况下载不同的版本,专业版收费,社区版免费,这里下载的是Windows社区2022.3.2版本,点击Download下载。下载完成后,找到安装包pycharm-community-2022.3.2,双击安装。
2将Anaconda环境导入Pycharm。打开Anaconda Navigator,点击Environments可以看到anaconda中已经有了默认的“base”环境,如图25所示,其中包含了大多数我们会用到的包,在PyCharm中可以直接使用该环境,而无需自行下载需要的包。
图25
3找到Anaconda安装目录(我的anaconda安装在“D:\anaconda3”,如图26和图27所示),您可能安装在其他地方,找到该目录下的“python.exe”和“_conda.exe”,备用。
图26
图27
4打开已经安装好的PyCharm,新建项目,步骤为:File-->New ProjectàCreat
5创建完成后,设置新建项目的位置,因为我们要使用anaconda的环境,所以就不需要PyCharm自带的虚拟环境了,步骤为:点击File -> Settings -> Project -> Python Interpreter, 如图28和图29所示。
图28
图29
6检查右侧Python Interpreter是否存在anaconda的选项,若有,直接选中;若没有操作以下步骤:
点击右侧的Add Interpreter
添加一个新的编译环境,如图29所示。
在弹出的窗口, 选择Conda Environment
,然后选择右侧的“浏览”按钮
,如图30所示。
选择自己anaconda
根目录
下的_conda.exe
文件,如图31所示。
然后点击Load Environment,如图32所示。
环境加载成功,出现图33界面,在Using existing environments中选择tf1环境,点击ok,出现图34所示界面,即为环境导入成功。
图30
图31
图32
图33
图34
7在Pycharm中写一个简单的程序。
在以上新建项目的main.py文件中,写如下代码:
Import tensorflow as tf
Print(tf.__version__)
Print(tf.config.experimental.list_physical_devices(‘GPU’))
tf.config.experimental.srt_visible_devices([], ‘GPU’)
输出结果如图35所示。验证Pycharm运行环境可用,GPU版本的TensorFlow可用。
图35