GPU 对比 CPU
要运行深度学习项目,建议使用gpu,cpu与gpu比较如下:
规格 | 英特尔酷睿i7-6900k处理器极限版 | 英伟达GeForce GTX I 080 Ti |
时钟频率 | 3.2 GHz | < 1.5 GHz |
核数 | 8 | 3584 |
内存带宽 | 64 GB/s | 484 GB/s |
浮点计算 | 409 GFLOPS | 11300 GFLOPS |
对于深度学习任务,gpu(右列)比cpu(中列)更便宜,更有优势。
Python的规范
由于全局解释器锁(GIL),Python只能在一个核心上执行,可以使用Python中的multiprocessing库克服这个问题,multiprocessing库允许在多个核心上进行分布式计算,但大多数个人电脑硬件最多只有8到16个核心。
GPU:特殊包
在图像处理中,参数的数量可能会激增,cpu可能无法轻松处理这些问题,但是gpu可以。每个GPU都类似于一个小型计算机集群。但是,必须使用像CUDA或OpenCL这样的特殊包来为gpu编写代码。
像TensorFlow这样的深度学习库,使得为OpenCL或支持cuda的gpu编写代码变得很容易。
开源的深度学习库包括:
- Tensorflow(Python Based)
- Keras(Python)
- Torch( C/C++)
- Deeplearning4j(JAVA)