没有GPU可以做深度学习吗?

还没有入门,想学习!
关注者
229
被浏览
238,999

36 个回答

对初学者来说CPU足以。以下几点:

1) 先把CPU利用好 : 其实对于很多初学者来说能把OpenMPI配置好,多线程利用起来,C底层程序用Intel MKL编译(需要Intel CPU),基本上可以带来的效率提升可以近似于用GPU。

2) 然后利用好你自己的时间 : 貌似现在道听途说一般的结论是GPU比CPU提速10倍左右。。。大家想想,训练一个模型,本来要CPU跑10个小时,结果买了GPU只用1一个小时,但是节约来的9个小时里面一半浪费在了看知乎上(说你呢!),另一半浪费在了刷微信上。。。 本屌最近跑些NLP方面的东西,东西不是特别大,Ubuntu笔记本装了OpenMPI可以四个线程一起跑,也比单核CPU快一倍左右,基本上白天先把模型设置好,跑上3~4个Epoch看看效果,然后在晚上睡觉之前开始跑个20-30个循环,第二天早上怎么也都好了。

3) 最后设计好数据结构 : 另外其实数据预处理的好,用简便的方法存在内存里面,也是可以提升不少效率的。以前跑过几个东西发现特别慢,仔细一想是IO方面拖慢了进程,简化了一下数据结构,整个数据集只有一次硬盘读写,一下就快了很多。当然可能有人说这个对图像处理不适用啦,当然如果要做异步读写的话水就很深了,分布式计算自身就可以灌水了,比如SVN Vishi的NOMAD,

arxiv.org/abs/1312.0193

,其思想用到深度学习也只是时间问题。

这里一些资源:

  1. Ubuntu 安装BLAS以利用多个线程 Easy Installation of an Optimized Theano on Current Ubuntu
  2. Intel MKL: Theano on Scinet update: linking MKL blas