您当前的位置:首页 > 电脑百科 > 人工智能

用Windows电脑训练深度学习模型?超详细配置教程来了

时间:2020-12-02 11:33:00  来源:  作者:

选自towardsdatascience

作者:Ahinand

机器之心编译

编辑:Panda

虽然大多数深度学习模型都是在 linux 系统上训练的,但 windows 也是一个非常重要的系统,也可能是很多机器学习初学者更为熟悉的系统。要在 Windows 上开发模型,首先当然是配置开发环境。Kaggle Master 及机器学习实践者 Abhinand 立足于自己的实践,给出了一种简单易行的 Windows 深度学习环境配置流程。

本文将介绍在 Windows 计算机上配置深度学习环境的全过程,其中涉及安装所需的工具和驱动软件。出人意料的是,即便只是配置深度学习环境,任务也不轻松。你很有可能在这个过程中犯错。我个人已经很多次从头开始配置深度学习环境了,但是通常是在对程序员更友好的操作系统 Linux 中。

而对于 Windows 操作系统,没有多少文章详细解释这一过程。所以我打算自己来试试。这些天,经过多次试错之后,我终于找到了解决方案。这个方法不仅能够配置成功,还比我见过的其它教程简单得多。

本教程为谁而写,以及为什么要用 Windows?

相信我,我自己也不喜欢在 Windows 上鼓捣 CUDA。但我们常常遇到这种情况:开发者经常需要在并非深度学习或程序开发专用的笔记本电脑或更强大的硬件上工作。在这种情况下,你并不总能避免使用 Windows。如果你遇到这种情况,或者正好拥有一台 Windows 计算机,又或者还不能熟练使用 Linux,那么这份指南肯定能帮到你。

本文包含以下内容:

硬件和软件的最低要求

安装 Python 和所需工具

设置开发环境

一些 GPU 术语

安装 GPU 驱动

安装 TensorFlow(CPU 和 GPU)

安装 PyTorch(CPU 和 GPU)

验证安装情况

我的个人经验和替代方法

硬件和软件的最低要求

如果你要按照本指南操作并且计划使用 GPU,你必须使用英伟达 GPU。

开发深度学习应用涉及到训练神经网络,这自然需要执行大量计算。也因此,我们需要越来越多的并行运算,而 GPU 正好能够满足我们的需求。这也是当前 GPU 需求旺盛的主要原因之一。大多数深度学习框架都自带 GPU 加速支持,这让开发者和研究者无需执行任何 GPU 编程就能在几分钟内使用 GPU 进行计算。

大部分这些框架都(只)支持 CUDA,而这只能在英伟达 GPU 上使用,这也是你需要使用英伟达 GPU 的原因。但是,使用 AMD 的 GPU 也不是不可能,相关信息可参阅:https://rocmdocs.amd.com/en/latest/。

不过,就算你没有 GPU,也依然可以继续本教程。但为了有效进行深度学习,至少你要有好用的 CPU、内存和存储空间。

我的硬件——笔记本电脑的配置如下:

CPU——AMD Ryzen 7 4800HS 8C -16T@ 4.2GHz on Turbo

RAM——16 GB DDR4 RAM@ 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 来安装 Python。先给刚入门的新手解释一下原因。

Conda 是一个软件包管理工具,可以帮助你安装、管理和移除各种不同的软件包。不过 Conda 并不是唯一的选择,还有 pip——这是我很喜欢的 Python 默认软件包管理工具。这里我们选择 Conda 的原因是在 Windows 上使用它更简单直接。

Anaconda 和 Mini-Conda 都是 Conda 的软件发行版,其中预安装了一些非常有用的数据科学 / 机器学习软件包,能节省很多时间。Anaconda 包含 150 多个在数据科学和机器学习中有用的软件包,基本上包含了你可能需要的一切,而 Mini-Conda 仅包含一些必需的工具和软件包。

我推荐使用 Mini-Conda,因为我喜欢对所安装的软件包有(几乎)完整的控制权。清楚地了解你所安装的东西完全不是坏事。当然这还能帮你节省一些存储空间,你也不会装上几十个你可能永远也用不上的奇怪软件包。

要安装 Mini-Conda,请访问:https://docs.conda.io/en/latest/miniconda.html

下载 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 只是我们之前提供给该环境的名称。

进入环境之后,你会在提示框的左边看到类似这样的信息:

用Windows电脑训练深度学习模型?超详细配置教程来了

 

如果你没在 Powershell 上看到这个信息,那么你可能需要先在 Powershell 初始化 conda 一次:

用Windows电脑训练深度学习模型?超详细配置教程来了

 

然后,你可能会在左边看到 (base),如上图所示,此时你已不在任何环境中。之后,你再进入任何环境,你应该都会看见环境名。

此外,你还可以在环境中安装 nb 工具,并将其链接到我们之前安装的 Jupyter Notebook。

要将该环境注册到 Jupyter Notebook,可运行以下命令:

要退出 Conda 环境,则运行以下命令:

现在按照同样的步骤创建一个名为 torch 的环境:

如果环境设置成功,你可以在环境列表中看到它们。

用Windows电脑训练深度学习模型?超详细配置教程来了

 

要验证每个环境是否都已安装了各自的软件包,你可以进入各个环境,执行 conda list,这会显示该环境中已安装的所有软件包。

用Windows电脑训练深度学习模型?超详细配置教程来了

 

不要因为这个列表很长而感到困扰。Conda 已经妥善地处理了主要部分和依赖包。

一些 GPU 术语

在安装 GPU 相关软件之前,我们有必要了解这些软件是什么,以及你需要它们的原因。

GPU 驱动:顾名思义,GPU 驱动是让操作系统及程序能使用 GPU 硬件的软件。游戏玩家肯定很熟悉这个。如果你喜欢打游戏,你可能需要让这个软件保持最新以获得最好的游戏体验。

CUDA:简单来说,这是英伟达开发的一个编程接口层,能让你调用 GPU 的指令集及其并行计算单元。

自 2010 年代末的 GeForce 8 系列 GPU 以来,几乎所有 GPU 都兼容 CUDA。要想了解你的 GPU 是否启用 CUDA,可以访问英伟达的网站

举个例子,如果你有一台消费级 GPU,不管是 GeForce 系列还是 Titan 系列,你都可以在下图中看到你的 GPU 是否支持 CUDA。

用Windows电脑训练深度学习模型?超详细配置教程来了

 

数据截至 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 是该系列中最高端的那一款,这些 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 更新,它会自动处理有用软件的安装过程,比如英伟达控制面板。这能帮助你获悉 GPU 的相关信息,还有一些与本文无关的设置。

英伟达控制面板就绪之后,你可以在开始菜单打开它,也可以右键点击桌面,然后选择英伟达控制面板。

打开之后,你可以点击「帮助→系统信息」来查看 GPU 驱动版本。驱动版本号列在「细节」窗口的顶部。

用Windows电脑训练深度学习模型?超详细配置教程来了

 

如上图所示,我的驱动版本是 456.x,远超过 418.x 的最低要求,所以我不必安装新驱动。

但你的电脑可能不是这样的。要安装最新版的驱动,可访问 https://www.nvidia.com/Download/index.aspx,然后输入 GPU 信息,下载合适的驱动。

用Windows电脑训练深度学习模型?超详细配置教程来了

 

驱动下载完成后,运行安装包,选择快速安装会更轻松。驱动安装完成之后,可使用英伟达控制面板进行验证。

另一个安装驱动的方法是使用英伟达的 GeForce Experience 应用程序。只要你购买的是主打游戏的电脑,应该都预装了该软件。安装过程很简单。

这一步是可选的。如果你已经按照上面的步骤安装了驱动,或你的电脑没有预装该软件,那就不用在乎这个步骤。

你可在这里下载该程序:https://www.nvidia.com/en-in/geforce/geforce-experience/,然后跟着安装流程将其安装到电脑上。安装完成,打开它,进入驱动选项卡,检查更新并安装新驱动。你也可以在该应用中查看驱动的版本号。

用Windows电脑训练深度学习模型?超详细配置教程来了

 

‍GeForce Experience 演示

现在安装驱动过程中最重要的步骤已经完成,你可以选择手动安装 CUDA 工具包,也可以选择在安装 TensorFlow 或 PyTorch 时留给 Conda 来安装(强烈推荐后者)。

如果决定手动安装,你可以从这里下载安装包:https://developer.nvidia.com/cuda-downloads,然后跟着指示操作即可。

用Windows电脑训练深度学习模型?超详细配置教程来了

 

安装 CUDA 工具包

CUDA 工具包装好之后,你可以在 cmd 或 Powershell 中执行 nvidia-smi 命令进行验证。

用Windows电脑训练深度学习模型?超详细配置教程来了

 

nvidia-smi 的输出

安装 TensorFlow

现在终于来到本教程的关键了。如果你已经完成了前述步骤,那么这一步会非常简单。

我们通过 Conda 来安装 TensorFlow 2.x。

要注意,首先进入我们之前创建的 tensorflow 环境,然后再进行操作。

如果你需要 GPU 支持,就运行以下命令:

通过 anaconda 通道安装 TensorFlow 的 GPU 支持软件。使用 conda 而非 pip 安装 TensorFlow 的一大优势是 conda 的软件包管理系统。使用 conda 安装 TensorFlow 时,conda 还会安装所有必需和兼容的依赖包。这个过程是自动的,用户无需通过系统软件包管理器或其它方式安装任何其它软件。

其中也包含 TensorFlow 或 PyTorch 所需的版本合适的 CUDA 工具包。因此,使用 conda 能让这个过程变得非常简单。

我们只能在安装了 TensorFlow GPU 的环境中看到所安装的 CUDA 工具包。这既不会影响到全局系统的 CUDA 版本,同时也能满足 TensorFlow 和 PyTorch 的不同版本 CUDA 需求。这就是使用虚拟环境的最大好处,它能让不同的虚拟环境完全隔离开。

如果一切顺利,你不会在安装过程中看到任何报错信息。

要验证 TensorFlow 和所需的软件包是否成功安装,你可以执行 conda list,这会显示已安装软件包的列表,你应该能在其中找到与 TensorFlow 相关的软件包以及 CUDA 工具包。

用Windows电脑训练深度学习模型?超详细配置教程来了

 

你也可以打开 Python prompt 来验证是否已安装 TensorFlow。

如果你看到了版本号,那么恭喜你,TensorFlow 已安装成功!任务完成。

用Windows电脑训练深度学习模型?超详细配置教程来了

 

在 Python prompt 中验证 TensorFlow 的安装情况。

你在 Python prompt 中使用 TensorFlow 时可能会看到这样的信息:「Opened Dynamic Library」,但这并不是坏消息。这只是一条日志消息,说明 TensorFlow 可以打开这些软件库。

GPU 上的安装情况验证将在下文中介绍。

如果要安装仅使用 CPU 的 TensorFlow,你需要对安装命令进行简单的修改。

这将会安装没有 CUDA 工具包和 GPU 支持的 TensorFlow。

安装 PyTorch

安装 PyTorch 的过程与安装 TensorFlow 其实没太大差异。conda 让这一切都变得非常简单。

首先,进入我们创建的 torch 环境。

如果你想安装支持 CUDA 的 PyTorch,使用以下命令:

该命令会通过 Conda 的 PyTorch 通道安装兼容 CUDA 的 PyTorch。

至于仅使用 CPU 的 PyTorch,只需从以上命令中移除 cudatookit 即可:

这会安装无 CUDA 支持的 PyTorch。

和之前一样,你可以使用 conda list 验证安装情况,也可使用以下代码在 Python 上执行验证。

如果返回版本号,则说明已成功安装 PyTorch。

验证安装情况

有时候,你觉得一切都很顺利,准备开始使用这些工具时却遇到了一些重大错误。如果你正好遇到了这种情况,有可能是机器的问题,也可能是流程出错了,不能一概而论,要具体问题具体分析。

为了帮助你更好地验证安装情况,并确保 TensorFlow 和 PyTorch 使用的是指定的硬件,这里分享一些笔记。

你可以在 https://github.com/abhinand5/blog-posts 的 dl-setup-win 文件夹中找到它们。你可以克隆这些笔记然后运行其中的代码。如果返回的信息正确,你就可以放手开发了。

下图是该笔记的代码示例:

用Windows电脑训练深度学习模型?超详细配置教程来了

 

注:如果你没有从正确的环境启动 Jupyter Notebook,就可能会遇到一些错误。例如,如果你想使用 tensorflow 环境,你可以从 base 环境启动 notebook,然后将核改到 tensorflow 环境,但我在这样操作时遇到过报错。因此,如果你要运行 TensorFlow,就在 tensorflow 环境里启动 Notebook;如果你要运行 PyTorch,就在 torch 环境中启动 Notebook。不要从 base 或其它地方启动。

我的个人经验和替代方法

我一直使用这套配置完成一些轻量级的深度学习工作,反正这套本地硬件足够了。现在几周过去了,一切都还不错。但是,在此之前我还尝试过其它一些方法,也出现过一些严重问题。

比如有一次我尝试了这里的方法:https://developer.nvidia.com/cuda/wsl,其中涉及在 WSL(Windows Subsystem for Linux)中启用 CUDA 和英伟达驱动以便使用 GPU 来进行深度学习训练。目前这个功能还在预览阶段,但一旦官方发布,必将为深度学习实践者带来重大影响。这能将让人惊喜的 WSL 与 CUDA/GPU 驱动结合到一起。

不过这是有条件的。要想使用这一功能,你必须参与 Windows Insider Program 项目。当然,根据我的经历,内部预览版往往有很多漏洞。我在使用时遇到过很多问题,包括所有 Windows 应用不再响应、GSOD(绿屏死机)错误、未正确启动、驱动故障。我个人不喜欢不稳定的环境,所以选择退出只是时间问题。

你有可能在使用预览版时不会遇到任何问题,只不过我的经历太糟了,所以不推荐使用预览版。

其它替代选择包括完全不使用 Windows,只使用基于 Linux 的系统,享受更加流畅的体验。只不过 Linux 没有 Windows 中那样花哨的 GUI 安装工具。

本文介绍了如何在 Windows 系统中安装 TensorFlow、PyTorch 和 Jupyter 工具,希望对大家有所帮助。

https://towardsdatascience.com/setting-up-your-pc-workstation-for-deep-learning-tensorflow-and-pytorch-windows-9099b96035cb

选自towardsdatascience

作者:Ahinand

机器之心编译

编辑:Panda

虽然大多数深度学习模型都是在 Linux 系统上训练的,但 Windows 也是一个非常重要的系统,也可能是很多机器学习初学者更为熟悉的系统。要在 Windows 上开发模型,首先当然是配置开发环境。Kaggle Master 及机器学习实践者 Abhinand 立足于自己的实践,给出了一种简单易行的 Windows 深度学习环境配置流程。

本文将介绍在 Windows 计算机上配置深度学习环境的全过程,其中涉及安装所需的工具和驱动软件。出人意料的是,即便只是配置深度学习环境,任务也不轻松。你很有可能在这个过程中犯错。我个人已经很多次从头开始配置深度学习环境了,但是通常是在对程序员更友好的操作系统 Linux 中。

而对于 Windows 操作系统,没有多少文章详细解释这一过程。所以我打算自己来试试。这些天,经过多次试错之后,我终于找到了解决方案。这个方法不仅能够配置成功,还比我见过的其它教程简单得多。

本教程为谁而写,以及为什么要用 Windows?

相信我,我自己也不喜欢在 Windows 上鼓捣 CUDA。但我们常常遇到这种情况:开发者经常需要在并非深度学习或程序开发专用的笔记本电脑或更强大的硬件上工作。在这种情况下,你并不总能避免使用 Windows。如果你遇到这种情况,或者正好拥有一台 Windows 计算机,又或者还不能熟练使用 Linux,那么这份指南肯定能帮到你。

本文包含以下内容:

硬件和软件的最低要求

安装 Python 和所需工具

设置开发环境

一些 GPU 术语

安装 GPU 驱动

安装 TensorFlow(CPU 和 GPU)

安装 PyTorch(CPU 和 GPU)

验证安装情况

我的个人经验和替代方法

硬件和软件的最低要求

如果你要按照本指南操作并且计划使用 GPU,你必须使用英伟达 GPU。

开发深度学习应用涉及到训练神经网络,这自然需要执行大量计算。也因此,我们需要越来越多的并行运算,而 GPU 正好能够满足我们的需求。这也是当前 GPU 需求旺盛的主要原因之一。大多数深度学习框架都自带 GPU 加速支持,这让开发者和研究者无需执行任何 GPU 编程就能在几分钟内使用 GPU 进行计算。

大部分这些框架都(只)支持 CUDA,而这只能在英伟达 GPU 上使用,这也是你需要使用英伟达 GPU 的原因。但是,使用 AMD 的 GPU 也不是不可能,相关信息可参阅:https://rocmdocs.amd.com/en/latest/。

不过,就算你没有 GPU,也依然可以继续本教程。但为了有效进行深度学习,至少你要有好用的 CPU、内存和存储空间。

我的硬件——笔记本电脑的配置如下:

CPU——AMD Ryzen 7 4800HS 8C -16T@ 4.2GHz on Turbo

RAM——16 GB DDR4 RAM@ 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 来安装 Python。先给刚入门的新手解释一下原因。

Conda 是一个软件包管理工具,可以帮助你安装、管理和移除各种不同的软件包。不过 Conda 并不是唯一的选择,还有 pip——这是我很喜欢的 Python 默认软件包管理工具。这里我们选择 Conda 的原因是在 Windows 上使用它更简单直接。

Anaconda 和 Mini-Conda 都是 Conda 的软件发行版,其中预安装了一些非常有用的数据科学 / 机器学习软件包,能节省很多时间。Anaconda 包含 150 多个在数据科学和机器学习中有用的软件包,基本上包含了你可能需要的一切,而 Mini-Conda 仅包含一些必需的工具和软件包。

我推荐使用 Mini-Conda,因为我喜欢对所安装的软件包有(几乎)完整的控制权。清楚地了解你所安装的东西完全不是坏事。当然这还能帮你节省一些存储空间,你也不会装上几十个你可能永远也用不上的奇怪软件包。

要安装 Mini-Conda,请访问:https://docs.conda.io/en/latest/miniconda.html

下载 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 只是我们之前提供给该环境的名称。

进入环境之后,你会在提示框的左边看到类似这样的信息:

用Windows电脑训练深度学习模型?超详细配置教程来了

 

如果你没在 Powershell 上看到这个信息,那么你可能需要先在 Powershell 初始化 conda 一次:

用Windows电脑训练深度学习模型?超详细配置教程来了

 

然后,你可能会在左边看到 (base),如上图所示,此时你已不在任何环境中。之后,你再进入任何环境,你应该都会看见环境名。

此外,你还可以在环境中安装 nb 工具,并将其链接到我们之前安装的 Jupyter Notebook。

要将该环境注册到 Jupyter Notebook,可运行以下命令:

要退出 Conda 环境,则运行以下命令:

现在按照同样的步骤创建一个名为 torch 的环境:

如果环境设置成功,你可以在环境列表中看到它们。

用Windows电脑训练深度学习模型?超详细配置教程来了

 

要验证每个环境是否都已安装了各自的软件包,你可以进入各个环境,执行 conda list,这会显示该环境中已安装的所有软件包。

用Windows电脑训练深度学习模型?超详细配置教程来了

 

不要因为这个列表很长而感到困扰。Conda 已经妥善地处理了主要部分和依赖包。

一些 GPU 术语

在安装 GPU 相关软件之前,我们有必要了解这些软件是什么,以及你需要它们的原因。

GPU 驱动:顾名思义,GPU 驱动是让操作系统及程序能使用 GPU 硬件的软件。游戏玩家肯定很熟悉这个。如果你喜欢打游戏,你可能需要让这个软件保持最新以获得最好的游戏体验。

CUDA:简单来说,这是英伟达开发的一个编程接口层,能让你调用 GPU 的指令集及其并行计算单元。

自 2010 年代末的 GeForce 8 系列 GPU 以来,几乎所有 GPU 都兼容 CUDA。要想了解你的 GPU 是否启用 CUDA,可以访问英伟达的网站。

举个例子,如果你有一台消费级 GPU,不管是 GeForce 系列还是 Titan 系列,你都可以在下图中看到你的 GPU 是否支持 CUDA。

用Windows电脑训练深度学习模型?超详细配置教程来了

 

数据截至 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 是该系列中最高端的那一款,这些 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 更新,它会自动处理有用软件的安装过程,比如英伟达控制面板。这能帮助你获悉 GPU 的相关信息,还有一些与本文无关的设置。

英伟达控制面板就绪之后,你可以在开始菜单打开它,也可以右键点击桌面,然后选择英伟达控制面板。

打开之后,你可以点击「帮助→系统信息」来查看 GPU 驱动版本。驱动版本号列在「细节」窗口的顶部。

用Windows电脑训练深度学习模型?超详细配置教程来了

 

如上图所示,我的驱动版本是 456.x,远超过 418.x 的最低要求,所以我不必安装新驱动。

但你的电脑可能不是这样的。要安装最新版的驱动,可访问 https://www.nvidia.com/Download/index.aspx,然后输入 GPU 信息,下载合适的驱动。

用Windows电脑训练深度学习模型?超详细配置教程来了

 

驱动下载完成后,运行安装包,选择快速安装会更轻松。驱动安装完成之后,可使用英伟达控制面板进行验证。

另一个安装驱动的方法是使用英伟达的 GeForce Experience 应用程序。只要你购买的是主打游戏的电脑,应该都预装了该软件。安装过程很简单。

这一步是可选的。如果你已经按照上面的步骤安装了驱动,或你的电脑没有预装该软件,那就不用在乎这个步骤。

你可在这里下载该程序:https://www.nvidia.com/en-in/geforce/geforce-experience/,然后跟着安装流程将其安装到电脑上。安装完成,打开它,进入驱动选项卡,检查更新并安装新驱动。你也可以在该应用中查看驱动的版本号。

用Windows电脑训练深度学习模型?超详细配置教程来了

 

‍GeForce Experience 演示

现在安装驱动过程中最重要的步骤已经完成,你可以选择手动安装 CUDA 工具包,也可以选择在安装 TensorFlow 或 PyTorch 时留给 Conda 来安装(强烈推荐后者)。

如果决定手动安装,你可以从这里下载安装包:https://developer.nvidia.com/cuda-downloads,然后跟着指示操作即可。

用Windows电脑训练深度学习模型?超详细配置教程来了

 

安装 CUDA 工具包

CUDA 工具包装好之后,你可以在 cmd 或 Powershell 中执行 nvidia-smi 命令进行验证。

用Windows电脑训练深度学习模型?超详细配置教程来了

 

nvidia-smi 的输出

安装 TensorFlow

现在终于来到本教程的关键了。如果你已经完成了前述步骤,那么这一步会非常简单。

我们通过 Conda 来安装 TensorFlow 2.x。

要注意,首先进入我们之前创建的 tensorflow 环境,然后再进行操作。

如果你需要 GPU 支持,就运行以下命令:

通过 anaconda 通道安装 TensorFlow 的 GPU 支持软件。使用 conda 而非 pip 安装 TensorFlow 的一大优势是 conda 的软件包管理系统。使用 conda 安装 TensorFlow 时,conda 还会安装所有必需和兼容的依赖包。这个过程是自动的,用户无需通过系统软件包管理器或其它方式安装任何其它软件。

其中也包含 TensorFlow 或 PyTorch 所需的版本合适的 CUDA 工具包。因此,使用 conda 能让这个过程变得非常简单。

我们只能在安装了 TensorFlow GPU 的环境中看到所安装的 CUDA 工具包。这既不会影响到全局系统的 CUDA 版本,同时也能满足 TensorFlow 和 PyTorch 的不同版本 CUDA 需求。这就是使用虚拟环境的最大好处,它能让不同的虚拟环境完全隔离开。

如果一切顺利,你不会在安装过程中看到任何报错信息。

要验证 TensorFlow 和所需的软件包是否成功安装,你可以执行 conda list,这会显示已安装软件包的列表,你应该能在其中找到与 TensorFlow 相关的软件包以及 CUDA 工具包。

用Windows电脑训练深度学习模型?超详细配置教程来了

 

你也可以打开 Python prompt 来验证是否已安装 TensorFlow。

如果你看到了版本号,那么恭喜你,TensorFlow 已安装成功!任务完成。

用Windows电脑训练深度学习模型?超详细配置教程来了

 

在 Python prompt 中验证 TensorFlow 的安装情况。

你在 Python prompt 中使用 TensorFlow 时可能会看到这样的信息:「Opened Dynamic Library」,但这并不是坏消息。这只是一条日志消息,说明 TensorFlow 可以打开这些软件库。

GPU 上的安装情况验证将在下文中介绍。

如果要安装仅使用 CPU 的 TensorFlow,你需要对安装命令进行简单的修改。

这将会安装没有 CUDA 工具包和 GPU 支持的 TensorFlow。

安装 PyTorch

安装 PyTorch 的过程与安装 TensorFlow 其实没太大差异。conda 让这一切都变得非常简单。

首先,进入我们创建的 torch 环境。

如果你想安装支持 CUDA 的 PyTorch,使用以下命令:

该命令会通过 Conda 的 PyTorch 通道安装兼容 CUDA 的 PyTorch。

至于仅使用 CPU 的 PyTorch,只需从以上命令中移除 cudatookit 即可:

这会安装无 CUDA 支持的 PyTorch。

和之前一样,你可以使用 conda list 验证安装情况,也可使用以下代码在 Python 上执行验证。

如果返回版本号,则说明已成功安装 PyTorch。

验证安装情况

有时候,你觉得一切都很顺利,准备开始使用这些工具时却遇到了一些重大错误。如果你正好遇到了这种情况,有可能是机器的问题,也可能是流程出错了,不能一概而论,要具体问题具体分析。

为了帮助你更好地验证安装情况,并确保 TensorFlow 和 PyTorch 使用的是指定的硬件,这里分享一些笔记。

你可以在 https://github.com/abhinand5/blog-posts 的 dl-setup-win 文件夹中找到它们。你可以克隆这些笔记然后运行其中的代码。如果返回的信息正确,你就可以放手开发了。

下图是该笔记的代码示例:

用Windows电脑训练深度学习模型?超详细配置教程来了

 

注:如果你没有从正确的环境启动 Jupyter Notebook,就可能会遇到一些错误。例如,如果你想使用 tensorflow 环境,你可以从 base 环境启动 notebook,然后将核改到 tensorflow 环境,但我在这样操作时遇到过报错。因此,如果你要运行 TensorFlow,就在 tensorflow 环境里启动 Notebook;如果你要运行 PyTorch,就在 torch 环境中启动 Notebook。不要从 base 或其它地方启动。

我的个人经验和替代方法

我一直使用这套配置完成一些轻量级的深度学习工作,反正这套本地硬件足够了。现在几周过去了,一切都还不错。但是,在此之前我还尝试过其它一些方法,也出现过一些严重问题。

比如有一次我尝试了这里的方法:https://developer.nvidia.com/cuda/wsl,其中涉及在 WSL(Windows Subsystem for Linux)中启用 CUDA 和英伟达驱动以便使用 GPU 来进行深度学习训练。目前这个功能还在预览阶段,但一旦官方发布,必将为深度学习实践者带来重大影响。这能将让人惊喜的 WSL 与 CUDA/GPU 驱动结合到一起。

不过这是有条件的。要想使用这一功能,你必须参与 Windows Insider Program 项目。当然,根据我的经历,内部预览版往往有很多漏洞。我在使用时遇到过很多问题,包括所有 Windows 应用不再响应、GSOD(绿屏死机)错误、未正确启动、驱动故障。我个人不喜欢不稳定的环境,所以选择退出只是时间问题。

你有可能在使用预览版时不会遇到任何问题,只不过我的经历太糟了,所以不推荐使用预览版。

其它替代选择包括完全不使用 Windows,只使用基于 Linux 的系统,享受更加流畅的体验。只不过 Linux 没有 Windows 中那样花哨的 GUI 安装工具。

本文介绍了如何在 Windows 系统中安装 TensorFlow、PyTorch 和 Jupyter 工具,希望对大家有所帮助。

https://towardsdatascience.com/setting-up-your-pc-workstation-for-deep-learning-tensorflow-and-pytorch-windows-9099b96035cb



Tags:深度学习模型   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
本文将介绍在 Windows 计算机上配置深度学习环境的全过程,其中涉及安装所需的工具和驱动软件。出人意料的是,即便只是配置深度学习环境,任务也不轻松。你很有可能在这个过程中犯错。我个人已经很多次从头开始配置深度学...【详细内容】
2020-12-02  Tags: 深度学习模型  点击:(97)  评论:(0)  加入收藏
HelloGitHub 推出的《讲解开源项目》 系列。这一期是由亚马逊工程师:Keerthan Vasist,为我们讲解 DJL(完全由 Java 构建的深度学习平台)系列的第 4 篇。...【详细内容】
2020-11-03  Tags: 深度学习模型  点击:(86)  评论:(0)  加入收藏
▌简易百科推荐
作为数据科学家或机器学习从业者,将可解释性集成到机器学习模型中可以帮助决策者和其他利益相关者有更多的可见性并可以让他们理解模型输出决策的解释。在本文中,我将介绍两个...【详细内容】
2021-12-17  deephub    Tags:AI   点击:(15)  评论:(0)  加入收藏
基于算法的业务或者说AI的应用在这几年发展得很快。但是,在实际应用的场景中,我们经常会遇到一些非常奇怪的偏差现象。例如,Facebook将黑人标记为灵长类动物、城市图像识别系统...【详细内容】
2021-11-08  数据学习DataLearner    Tags:机器学习   点击:(32)  评论:(0)  加入收藏
11月2日召开的世界顶尖科学家数字未来论坛上,2013年诺贝尔化学奖得主迈克尔·莱维特、2014年诺贝尔生理学或医学奖得主爱德华·莫索尔、2007年图灵奖得主约瑟夫·斯发斯基、1986年图灵奖得主约翰·霍普克罗夫特、2002...【详细内容】
2021-11-03  张淑贤  证券时报  Tags:人工智能   点击:(39)  评论:(0)  加入收藏
鉴于物联网设备广泛部署、5G快速无线技术闪亮登场,把计算、存储和分析放在靠近数据生成的地方来处理,让边缘计算有了用武之地。 边缘计算正在改变全球数百万个设备处理和传输...【详细内容】
2021-10-26    计算机世界  Tags:边缘计算   点击:(45)  评论:(0)  加入收藏
这是几位机器学习权威专家汇总的725个机器学习术语表,非常全面了,值得收藏! 英文术语 中文翻译 0-1 Loss Function 0-1损失函数 Accept-Reject Samplin...【详细内容】
2021-10-21  Python部落    Tags:机器学习   点击:(43)  评论:(0)  加入收藏
要开始为开源项目做贡献,有一些先决条件:1. 学习一门编程语言:由于在开源贡献中你需要编写代码才能参与开发,你需要学习任意一门编程语言。根据项目的需要,在后期学习另一种语言...【详细内容】
2021-10-20  TSINGSEE青犀视频    Tags:机器学习   点击:(37)  评论:(0)  加入收藏
SimpleAI.人工智能、机器学习、深度学习还是遥不可及?来这里看看吧~ 从基本的概念、原理、公式,到用生动形象的例子去理解,到动手做实验去感知,到著名案例的学习,到用所学来实现...【详细内容】
2021-10-19  憨昊昊    Tags:神经网络   点击:(47)  评论:(0)  加入收藏
语言是人类思维的基础,当计算机具备了处理自然语言的能力,才具有真正智能的想象。自然语言处理(Natural Language Processing, NLP)作为人工智能(Artificial Intelligence, AI)的核心技术之一,是用计算机来处理、理解以及运...【详细内容】
2021-10-11    36氪  Tags:NLP   点击:(48)  评论:(0)  加入收藏
边缘计算是什么?近年来,物联网设备数量呈线性增长趋势。根据艾瑞测算, 2020年,中国物联网设备的数量达74亿,预计2025年突破150亿个。同时,设备本身也变得越来越智能化,AI与互联网在...【详细内容】
2021-09-22  汉智兴科技    Tags:   点击:(54)  评论:(0)  加入收藏
说起人工智能,大家总把它和科幻电影中的机器人联系起来,而实际上这些科幻场景与现如今的人工智能没什么太大关系。人工智能确实跟人类大脑很相似,但它们的显著差异在于人工智能...【详细内容】
2021-09-17  异步社区    Tags:人工智能   点击:(57)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条