我正在Google的colab上运行一个简单的深度学习模型,但运行速度比没有GPU的MacBook Air慢。
我读了this question,发现这是一个问题,因为数据集是通过Internet导入的,但是我不知道该如何加快此过程。
我的模型可以找到here。有什么想法可以使时代更快吗?
我的本地计算机每个时期需要0.5-0.6秒,而Google-colabs需要3-4秒
答案 0 :(得分:1)
GPU总是比CPU快吗?没有为什么?因为GPU的速度优化取决于几个因素,
您的代码中有多少部分并行运行/执行,即,您的代码中有多少部分创建了并行运行的线程,Keras会自动进行处理,在您的情况下应该不会出现问题。
在CPU和GPU之间发送数据所花费的时间,这是很多人步履蹒跚的地方,它假定GPU始终会胜过CPU,但是如果传递的数据太小,则执行GPU所需的时间。计算(不需要计算步骤)比将数据/进程分解为线程,在GPU中执行它们,然后在CPU上重新组合起来要少。
由于您使用的batch_size
为5,因此第二种情况在您看来很可能。
classifier=KerasClassifier(build_fn=build_classifier,epochs=100,batch_size=5)
,如果您的数据集足够大,则增加batch_size
会提高GPU的性能。
除此之外,您已经使用了非常简单的模型,并且@igrinis指出,数据仅从驱动器到内存加载一次,因此,从理论上讲,问题不应该是加载时间,因为数据在驱动器上。