LSTM,GRU之类的RNN可以GPU计算/加速吗

上次到一算法公司拜访,他们私有云分配给金融预测的环境居然是Tensorflow-CPU的。而涉及图像处理的,都是GPU版本。最近以Keras做了前端,跑了个LSTM的简单例子,发现居然CPU版本确实是快于GPU。现在想来人家金融预测用CPU版本,应该大部分就是时序上的计算。
■网友
首先,无论CNN还是LSTM、GRU本质上都是线性代数运算,用CPU或者GPU都可以;其次,LSTM和GRU比较特殊的地方在于时序依赖,这会削弱GPU的加速效果;第三,因为有时序依赖,所以LSTM和GRU的峰值计算量没有CNN高,这时GPU的优势可能就不明显了。

■网友
LSTM和GRU单元里面的计算也还是矩阵运算以及激活操作,这些基本操作在一般得框架中都已经用GPU实现了,故“LSTM和GRU貌似没有GPU加速”是不准确的。
■网友
可以,cudnn5里会添加rnn支持
■网友
LSTM,GRU之类的RNN可以GPU计算/加速效果并不明显,同价位的话,CPU效果更快(这个说法是不是很别扭,就这么个意思);
【LSTM,GRU之类的RNN可以GPU计算/加速吗】 不过也有GPU对LSTM,GRU的加速优化,如keras.layers.CudnnGRU 之类的,这个层只支持GPU,较正常的keras.layers.GRU,提高了6~7倍吧,但是,精度有所下降(0.3%),具体数据以实际硬件为准。


    推荐阅读