GPU总是比CPU快吗?没有为什么?因为GPU的速度优化取决于几个因素,
您的代码中有多少部分并行运行/执行,即,您的代码中有多少部分创建了并行运行的线程,Keras会自动进行处理,这在您的方案中应该不是问题。
在CPU和GPU之间发送数据所花费的时间,这是很多人步履蹒跚的地方,假定GPU的性能总是优于CPU,但是如果传递的数据太小,则执行计算所花费的时间(无计算步骤)比将数据/进程分解为线程,在GPU中执行它们,然后再次将它们重新组合到CPU上要少。
由于您使用的batch_size
是5 classifier=KerasClassifier(build_fn=build_classifier,epochs=100,batch_size=5)
,因此第二种情况看起来很可能,如果您的数据集足够大,则增加batch_size
将会提高GPU的性能。
除此之外,您还使用了一个非常简单的模型,正如@igrinis指出的那样,数据仅从驱动器到内存加载一次,因此从理论上讲问题不应该是加载时间,因为数据在驱动器上。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句