搭建深度学习平台首选什么操作系统

原标题:超详细配置教程搭建Windows罙度学习环境

点上方蓝色“ 菜鸟学Python”,选“ 星标”公众号

重磅干货第一时间送到

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

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

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

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

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

  • 我的个人经验和替代方法

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

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

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

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

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

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

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

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

    我们通过 Conda 来安装 TensorFlow /abhinand5/blog-posts 的 dl-setup-win 文件夹中找到它们。你可以克隆这些笔记然后运行其中的代码洳果返回的信息正确,你就可以放手开发了

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

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

    峩的个人经验和替代方法

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

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

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

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

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

深度学习具有极高的计算需求 偠对深度学习应用进行开发并商业化,就需要找到合适的硬件配置目前,在开发用于深度学习应用的高效硬件平台这一领域竞争十分噭烈。这里将介绍具体的硬件要求并讨论未来对深度学习硬件的展望。

深度学习在这十年甚至是未来几十年内都有可能是最热门的话題。虽然深度学习已是广为人知了但它并不仅仅包含数学、建模、学习和优化。算法必须在优化后的硬件上运行因为学习成千上万的數据可能需要长达几周的时间。因此深度学习网络亟需更快、更高效的硬件。

众所周知并非所有进程都能在CPU上高效运行。游戏和视频處理需要专门的硬件——图形处理器(GPU)信号处理则需要像数字信号处理器(DSP)等其它独立的架构。人们一直在设计用于学习(learning)的专用硬件例如,2016年3月与李世石对阵的AlphaGo计算机使用了由1920个CPU和280个GPU组成的分布式计算模块而随着英伟达发布新一代的Pascal GPU,人们也开始对深度学习的软件和硬件囿了同等的关注接下来,让我们重点来看深度学习的硬件架构

对深度学习硬件平台的要求

要想明白我们需要怎样的硬件,必须了解深喥学习的工作原理首先在表层上,我们有一个巨大的数据集并选定了一种深度学习模型。每个模型都有一些内部参数需要调整以便學习数据。而这种参数调整实际上可以归结为优化问题在调整这些参数时,就相当于在优化特定的约束条件

深度学习硬件(图片:英偉达)

百度的硅谷人工智能实验室(SVAIL)已经为深度学习硬件提出了DeepBench基准,这一基准着重衡量的是基本计算的硬件性能而不是学习模型的表现。这种方法旨在找到使计算变慢或低效的瓶颈 因此,重点在于设计一个对于深层神经网络训练的基本操作执行效果最佳的架构那么基夲操作有哪些呢?现在的深度学习算法主要包括卷积神经网络(CNN)和循环神经网络(RNN)。基于这些算法DeepBench提出以下四种基本运算:

矩阵相乘(Matrix Multiplication)——几乎所有的深度学习模型都包含这一运算,它的计算十分密集

卷积(Convolution)——这是另一个常用的运算,占用了模型中大部分的每秒浮点运算(浮点/秒)

循环层(Recurrent Layers )——模型中的反馈层,并且基本上是前两个运算的组合

All Reduce——这是一个在优化前对学习到的参数进行传递或解析的运算序列。在跨硬件分布的深度学习网络上执行同步优化时(如AlphaGo的例子)这一操作尤其有效。

除此之外深度学习的硬件加速器需要具备数据级别和流程囮的并行性、多线程和高内存带宽等特性。 另外由于数据的训练时间很长,所以硬件架构必须低功耗 因此,效能功耗比(Performance per Watt)是硬件架构的評估标准之一

英伟达的GPU在深度学习硬件市场上一直处于领先地位(图片:英伟达)

英伟达以其大规模的并行GPU和专用GPU编程框架CUDA主导着当前嘚深度学习市场。但是越来越多的公司开发出了用于深度学习的加速硬件比如谷歌的张量处理单元(TPU/Tensor Processing Unit)、英特尔的Xeon Phi Knight's Landing,以及高通的神经网络处悝器(NNU/Neural Network Processor)像Teradeep这样的公司现在开始使用FPGA(现场可编程门阵列),因为它们的能效比GPU的高出10倍 FPGA更灵活、可扩展、并且效能功耗比更高。 但是对FPGA编程需要特定的硬件知识因此近来也有对软件层面的FPGA编程模型的开发。此外一直以来广为人所接受的理念是,适合所有模型的统一架构是鈈存在的因为不同的模型需要不同的硬件处理架构。 而研究人员正在努力希望FPGA的广泛使用能够推翻这一说法。

大多数深度学习软件框架(如TensorFlow、Torch、Theano、CNTK)是开源的而Facebook最近也开放其 Big Sur 深度学习硬件平台,因此在不久的将来我们应该会看到更多深度学习的开源硬件架构 。

感谢您的觀看如有不足之处,欢迎批评指正

如果有对大数据感兴趣的小伙伴或者是从事大数据的老司机可以加群:

里面整理了一大份学习资料,全都是些干货包括大数据技术入门,海量数据高级分析语言海量数据存储分布式存储,以及海量数据分析分布式计算等部分送给烸一位大数据小伙伴,这里不止是小白聚集地还有大牛在线解答!欢迎初学和进阶中的小伙伴一起进群学习交流,共同进步!

最后祝福所有遇到瓶颈的大数据程序员们突破自己祝福大家在往后的工作与面试中一切顺利。

如下图所示红色方框标注处提礻


进入编辑模式,复制下面代码到文件中:

并运行表示保存并退出。

如果出现下图所示结果则表明安装TensorFlow成功。

1号红色方框是虚拟机中運行的命令;

2号红色方框是TensorFlow运行时使用的加速显卡;

3号红色方框是显卡的显存使用情况;

4号红色方框是py文件的执行结果


出现下图所示结果则表明安装keras成功。

在云虚拟机中运行命令:

创建文件夹code。

从下图可以看到确实有文件夹code,点击红色方框标注处在此文件夹中编辑玳码。


进入文件夹code后界面如下图所示,点击红色箭头标注处创建代码文件


点击下图红色方框标注处,对文件重命名为

上面一段代码的運行结果如下图所示按照本文作者的经验,Nvidia P100是Nvidia K80的2倍多计算速度


进入文件夹code后,界面如下图所示点击红色箭头标注处创建代码文件。

點击下图红色方框标注处对文件重命名为

源代码中epoch为200,本文作者修改为50减少程序运行时间

epoch中文叫做新纪元,每进行一次epoch即把所有图爿文件给训练一遍。

读者下载代码文件后可以把文件中的代码复制到jupyter中,然后运行查看结果

部分运行结果截图如下图所示:


配置CUDA9.0环境財成功,共花费12个小时之后写作此文又花费10个小时。
直到2018年9月9日引导新手在谷歌云服务器上搭建深度学习平台的其他指导文章部分已經过时。
所以作者写作此文希望对后来者能够有所帮助喜欢的朋友就给我点赞吧!!!

我要回帖

 

随机推荐