
什么要用 GPU 呢?最初 GPU 并不是为深度学习专门设计的,但并行计算的本质似乎与图形处理类似。单个 GPU 的核心虽然在性能上弱一些,但在处理大数据块的算法上比 CPU 更高效,因为它们具有高度并行的结构,而且核的数量也非常多。由于图形处理和深度学习在本质上的相似性,GPU 就成为了深度学习和并行计算的首选。
除了 CUDA 就没得选了吗?
不过要想用上 GPU 的并行能力,英伟达的 CUDA 就不可回避,这种通用并行计算库是做深度学习所必须的。目前,之所以高性能云计算、DL 服务器都采用英伟达 GPU,主要原因还是在 CUDA。
如果想要充分利用笔记本的并行能力,且 N 卡又配不起,那么这篇文章介绍的 PlaidML 就非常合适了。
laidML 是一种可移植的张量编译器,可以在笔记本电脑、嵌入式设备或其他设备上进行深度学习。重要的是,它并不依赖于 CUDA,而是 OpenCL 这种开放标准。
OpenCL 通用并行计算开放标准并不是为 N 卡专门设计的,因此不论你的笔记本 GPU 是 AMD、 Intel,还是 NVIDIA,它都能支持。
多读者可能认为,OpenCL 的生态没有 CUDA 成熟,可能在稳定性与开发速度上都没那么快。但是,我们可以把复杂的底层机制都交给 PlaidML,我们只需要用就行了。
甚至 PlaidML 我们都不需要接触,它已经集成到了常见的深度学习框架中,并允许用户在任何硬件中调用它。目前 PlaidML 已经支持 Keras、ONNX 和 nGraph 等工具,直接用 Keras 建个模,MacBook 轻轻松松调用 GPU。
下面我们开始进入正题:如何用自己笔记本电脑的 GPU 运行一个简单的 CNN。
用笔记本 GPU 运行一个神经网络
安装和设置 PlaidML 和相关组件
首先,我们要确保自己的笔记本电脑安装了 Python 3 工作环境。作者建议在虚拟环境下运行以下代码:
(编辑:盐城站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|