1.5 硬件和软件要求
本书将要求进行涉及大量数值计算的编码和运行任务,例如大量矩阵的乘法。 事实证明,在新数据上运行经过预训练的网络是任何最新便携式计算机或个人计算机拥有的能力。 即使采用预先训练的网络并对其进行一小部分重新训练,以使其在新的数据集上专用,也不一定需要专用的硬件。 您可以使用标准的个人电脑或笔记本电脑来效仿本书第1部分中的所有操作。
但是,我们预计在第2部分中完成对更高级示例的完整培训将需要具有CUDA功能的GPU。 第2部分中使用的默认参数假定GPU具有8 GB RAM(我们建议使用NVIDIA GTX 1070或更高),但是如果您的硬件可用RAM较少,则可以调整这些参数。 需要明确的是:如果您愿意等待,这种硬件不是必需的,但是在GPU上运行可以将训练时间至少减少一个数量级(通常快40到50倍)。 单独来看,在现代硬件(例如典型的笔记本电脑CPU)上,计算参数更新所需的操作速度很快(从几分之一秒到几秒钟)。 但是问题在于,培训需要一次又一次地运行这些操作,多次递增地更新网络参数,以最大程度地减少培训错误。
规模适中的大型网络可能需要数小时至数天才能从头开始在配备了良好GPU的工作站上对大型,真实世界的数据集进行训练。 可以通过在同一台计算机上使用多个GPU来减少时间,甚至可以在配备有多个GPU的计算机集群上进一步减少时间。 由于云计算提供商的提供,这些设置对访问的限制比听起来的要少。 DAWNBench(https://dawn.cs.stanford.edu/benchmark/index.html)是斯坦福大学一项有趣的举措,旨在提供与公开数据集上的常见深度学习任务相关的培训时间和云计算成本的基准。
因此,如果您到第2部分时已经有了GPU,那就太好了。 否则,我们建议您检查来自各种云平台的产品,其中许多云平台都提供预装有PyTorch且具有GPU功能的Jupyter笔记本,通常带有免费配额。 Google Colaboratory(https://colab.research.google.com)是一个很好的起点。
最后要考虑的是操作系统(OS)。 PyTorch从其第一版开始就支持Linux和macOS,并且在2018年获得了Windows支持。由于当前的Apple笔记本电脑不包括支持CUDA的GPU,因此PyTorch的预编译macOS软件包仅支持CPU。 在整本书中,我们将尽量避免假设您正在运行特定的OS,尽管第2部分中的某些脚本显示为从Linux下的Bash提示符运行。 这些脚本的命令行应可以轻松转换为Windows兼容格式。 为了方便起见,将尽可能列出从Jupyter Notebook运行的代码。
有关安装信息,请参阅PyTorch官方网站(https://pytorch.org/get-started/locally)上的“入门指南”。 我们建议Windows用户使用Anaconda或Miniconda(https://www.anaconda.com/distributionor https://docs.conda.io/en/latest/miniconda.html)进行安装。 其他操作系统(例如Linux)通常具有多种可行的选择,其中Pip是Python最常见的软件包管理器。 我们提供了pip可用来安装依赖项的requirements.txt文件。 当然,有经验的用户可以按照与您首选的开发环境最兼容的方式自由安装软件包。
第2部分还具有一些非常重要的下载带宽和磁盘空间要求。 要下载第2部分中的癌症检测项目所需的原始数据,大约需要下载60 GB,而未压缩时则需要大约120 GB的空间。 解压缩后可以删除压缩数据。 此外,由于出于性能原因将某些数据缓存,因此在训练时将需要另外80 GB。您将需要用于训练的系统上总共有200 GB(至少)的可用磁盘空间。 尽管可以为此使用网络存储,但是如果网络访问比本地磁盘慢,则可能会受到速度上的损失。 最好在本地固态硬盘上有空间来存储数据以便快速检索。
网友评论