尽管多数深度学习模型是在 Linux 系统上进行训练,但 Windows 也同样是一个重要的操作系统,尤其对许多机器学习初学者而言,更为熟悉。在 Windows 上开发模型的第一步是配置开发环境。Kaggle Master 和机器学习实践者 AbHinand 基于个人经验,提供了一种简单有效的 Windows 深度学习环境配置流程。
本文将详细介绍如何在 Windows 计算机上配置深度学习环境,包括所需工具和驱动软件的安装过程。令人惊讶的是,即使只是配置环境,这个过程也可能充满挑战。过程中可能会出现错误。我个人多次尝试从头开始配置深度学习环境,但通常是在更适合程序员的 Linux 系统中。
针对 Windows 操作系统,关于这一过程的详细指导文章并不多见。因此,我决定自己尝试。经过几次试错,我终于找到了一个简单可行的解决方案。
本教程的目标受众以及为何选择 Windows?
坦白说,我也不太喜欢在 Windows 上处理 CUDA。然而,开发者常常需要在不专门为深度学习或程序开发设计的笔记本电脑或更强大的硬件上工作。在这种情况下,使用 Windows 是不可避免的。如果你正面临这种情况,或者恰好拥有一台 Windows 电脑,或者尚未熟练掌握 Linux,那么这份指南将对你有所帮助。
最低硬件和软件要求
如果你打算按照本指南进行操作并使用 GPU,你必须拥有英伟达 GPU。
开发深度学习应用需要训练神经网络,这涉及大量计算。因此,我们需要更多的并行计算,而 GPU 正好可以满足这一需求。这也是当前 GPU 需求激增的主要原因之一。大多数深度学习框架都内置了 GPU 加速支持,开发者和研究者可以在几分钟内利用 GPU 进行计算,而无需编写 GPU 相关代码。
大部分框架都仅支持 CUDA,而 CUDA 只能在英伟达 GPU 上使用,这也是必须使用英伟达 GPU 的原因。但使用 AMD GPU 也是可能的。
即便没有 GPU,你仍然可以继续本教程。不过,为了有效进行深度学习,至少需要一台性能良好的 CPU、足够的内存和存储空间。
我的硬件配置如下:
CPU——AMD Ryzen 7 4800HS 8 核 16 线程 @ 4.2GHz Turbo
内存——16 GB DDR4 @ 3200MHz
GPU——NVIDIA GeForce RTX 2060 Max-Q @ 6GB GDDR6 显存
对于硬件配置,我建议至少使用 4 核 2.6 GHz CPU、16GB 内存以及 6GB 显存的英伟达 GPU。
此外,本教程需要安装 Windows 10 操作系统。我也假设你对 Python 软件包和环境有基本的了解。无论如何,后续会进行解释。
推荐使用的 Windows 版本是最新的 64 位 Windows 10 稳定版。
本教程假设你的操作系统是全新安装的,没有进行过额外的修改。如果你对自己的操作有把握,仍可以参考本教程。
安装 Python 和必要工具
第一步是安装 Python。我建议使用 mini-Conda 进行安装。以下是给初学者的简单解释。
Conda 是一款软件包管理工具,可以帮助你安装、管理和移除各种软件包。不过 Conda 并不是唯一的选择,还有 pip。选择 Conda 的原因是它在 Windows 上的使用更加简单直接。
Anaconda 和 mini-Conda 是 Conda 的两个发行版,其中预装了一些非常有用的数据科学和机器学习软件包,可以节省不少时间。Anaconda 包含 150 多个在数据科学和机器学习中有用的软件包,几乎涵盖了你可能需要的一切,而 mini-Conda 仅包含一些必要的工具和软件包。
要安装 mini-Conda,请访问:
下载 Windows 64 位版本的 Python3 安装工具,然后按照其他 Windows 软件的方式进行安装。一定要勾选将 Conda 和 Python 加入到 PATH 的选项。
现在,你可以通过以下命令检查 Conda 和 Python 是否成功安装。如果安装成功,将显示版本号;否则你可能需要重新正确安装 mini-Conda 并将其加入 PATH。
接下来是安装 jupyter-notebook,在命令行界面使用以下命令:
你可以通过运行 jupyter notebook 来验证安装,这会在浏览器中打开 Jupyter Notebook。
设置开发环境
这一步至关重要,但很多人往往会忽视。使用 Anaconda 这样包含所有已知软件包的工具是合理的,但如果你想开发自己的项目,真正构建一些东西,你可能需要一个专门针对该项目或工作性质的定制开发环境。使用专用虚拟环境的另一个主要优势是可以将软件包与全局设置隔离。这样,即使在该环境中使用软件包时出现错误,也能轻松放弃,而不影响全局软件包。
这还允许你灵活使用之前版本的 Python 创建环境,从而避免使用不稳定的新特性,之后再根据需要选择是否升级。
创建 Conda 环境相对简单。为了方便说明,我创建了一个名为 tensorflow 的环境,你可以将其改为任何名称。我将使用 Python 3.7,因为我知道 TensorFlow 对其有良好的支持。此外,这将是安装 TensorFlow 的位置,我还会创建一个名为 Torch 的环境用于安装 PyTorch。
环境创建完成后,可以使用以下命令进入该环境,其中的 tensorflow 是之前为该环境指定的名称。
进入环境后,你会在提示符左侧看到类似的信息:
如果在 PowerShell 中没有看到该信息,可能需要先在 PowerShell 中初始化 conda:
此时,你可能会看到左侧有 (base) 的提示,表示你没有处于任何环境中。之后进入任何环境时,都会看到环境名称。
此外,你还可以在环境中安装 nb 工具,并将其链接到之前安装的 Jupyter Notebook。
要将该环境注册到 Jupyter Notebook,可以运行以下命令:
要退出 Conda 环境,运行以下命令:
现在,按照相同的步骤创建一个名为 Torch 的环境:
如果环境设置成功,你可以在环境列表中看到它们。
要验证每个环境是否已安装各自的软件包,可以通过进入各个环境并执行 conda list,这将显示该环境中已安装的所有软件包。
不要因为这个列表很长而感到困扰。Conda 已妥善处理了主要部分和依赖包。
一些 GPU 术语
在安装与 GPU 相关的软件之前,了解这些软件的功能及其必要性是很重要的。
GPU 驱动:顾名思义,GPU 驱动是使操作系统和程序能够使用 GPU 硬件的软件。游戏玩家对此非常熟悉。如果你喜欢玩游戏,可能需要保持这个软件的更新,以获得最佳的游戏体验。
CUDA:简单来说,这是英伟达开发的编程接口层,允许你调用 GPU 的指令集及其并行计算单元。
自 2010 年代末的 GeForce 8 系列 GPU 起,几乎所有 GPU 都兼容 CUDA。要了解你的 GPU 是否支持 CUDA,可以访问英伟达的网站。
举个例子,如果你有一款消费级 GPU,无论是 GeForce 系列还是 Titan 系列,都可以在下图中查看你的 GPU 是否支持 CUDA。
数据截至 2020 年 9 月,截图仅显示部分型号。
如果你的电脑是笔记本,应查看右侧列表;如果是台式机,则查看左侧列表。
之前提到过,我的 GPU 是右侧列表中的 RTX 2060 Max-Q。此外,显卡型号名称不必与列表中的名称完全匹配,Max-Q 和 Super 的底层架构相同,仅在 TDP、CUDA 核和张量核数量方面存在差异。
例如,无论你的 GPU 是 RTX 2080 Super、2080 Max-Q 还是 2080 Super Max-Q,只需查看列表中的 RTX 2080 即可。但如果你的 GPU 是 RTX 2080Ti 或其他带有 Ti 的型号,则表示你的 GPU 是该系列中的高端版本,通常在显存大小和 CUDA 核及张量核数量上更具优势。
截至 2020 年 9 月,使用 TensorFlow 2.0 时,显卡计算能力必须高于 3.5,但建议使用计算能力至少为 6 的显卡以获得更好的体验。TensorFlow 2.0 还需要 CUDA 10 版本,并进一步要求驱动版本至少为 418.x。
PyTorch 所需的 CUDA 版本至少为 9.2,同时也支持 10.1 和 10.2,所需的计算能力至少要高于 3.0。
CuDNN:即 CUDA Deep Neural Network 软件库,是一个用于深度神经网络的 GPU 加速原语库。cuDNN 为前向和反向卷积、池化、归一化和激活层等标准例程提供高度优化的实现。
(可选)TensorRT:NVIDIA TensorRT 是一套用于高性能深度学习接口的 SDK,包含深度学习接口优化器和运行时优化器,为深度学习接口应用提供低延迟和高通量的特性。
安装 GPU 驱动
首先,需要确认所使用的 GPU 型号,并确保 GPU 启用了 CUDA。
如果尚未安装驱动,可以运行一次 Windows 更新,它将自动处理必要软件的安装,例如 NVIDIA 控制面板。
NVIDIA 控制面板准备好后,可以在开始菜单打开它,或右键单击桌面选择 NVIDIA 控制面板。
打开后,点击「帮助→系统信息」以查看 GPU 驱动版本。驱动版本号显示在「细节」窗口的顶部。
如上图所示,我的驱动版本为 456.x,远超 418.x 的最低要求,因此我无需安装新驱动。
但你的电脑可能不同。要安装最新版驱动,可访问官网,输入 GPU 信息并下载合适的驱动。
驱动下载完成后,运行安装包,选择快速安装即可。
驱动安装完成后,可使用 NVIDIA 控制面板进行验证。
另一种安装驱动的方法是使用 NVIDIA 的 GeForce Experience 应用程序。只要购买的是主打游戏的电脑,通常都会预装该软件,安装过程也很简单。
这一步是可选的。如果已经按照上述步骤安装了驱动,或电脑没有预装该软件,则可忽略此步骤。
你可以在此下载该程序,按照安装流程将其安装。安装完成后,打开应用程序,进入驱动选项卡,检查更新并安装新驱动,同时也可以查看驱动版本号。
现在,安装驱动的关键步骤已经完成,接下来可以选择手动安装 CUDA 工具包,或者在安装 TensorFlow 或 PyTorch 时让 Conda 自动处理(强烈推荐后者)。
如果决定手动安装,可以从这里下载安装包,并按照指示操作。
安装 CUDA 工具包
CUDA 工具包安装完成后,可以在 cmd 或 PowerShell 中执行 NVIDIA-S
