用python进行深度学习的原因是:1、python是解释语言,写程序很方便;2、python是胶水语言可以结合C++,使得写出来的代码可以达到C++的效率。
首先python是解释语言,写程序很方便,所以做研究的人喜欢用它。正如为什么很多做研究的人用
Matlab那样。出成果才是研究者关心的事情,实现只要方便就行。
然而在性能方面,我拿python和C++做个比较。
C++的cpu效率是远远高于python的,这点大家都承认吧。不过python是一-门胶水语言,它可以
和任何语言结合,基于这个优点,很多数据处理的python库底层都是C++实现的,意思就是说:
你用python写code,但效率是C+ +的。只有那些for 循环,还是用python的效率。
近年来机器学习最要是深度学习,而深度学习使用cuda gpu加速远比cpu要快,而cuda 是C+ +写
的。所以现在TensorLayer、theano 等深度学习库都是python编程、底层c++.
而那些for循环的效率,在整体耗时里面完全可以忽略!
有的人就会说,那为什么不直接用c++写cuda?不是更快吗?我想告诉大家,如果没有多年的cuda
经验,写出来的代码效率绝对是个问题。