在Google协作室中导入数据以进行快速计算和培训的最佳方法?

时间:2019-01-21 18:33:20

标签: python google-cloud-platform deep-learning google-colaboratory

我正在Google的colab上运行一个简单的深度学习模型,但运行速度比没有GPU的MacBook Air慢。

我读了this question,发现这是一个问题,因为数据集是通过Internet导入的,但是我不知道该如何加快此过程。

我的模型可以找到here。有什么想法可以使时代更快吗?

我的本​​地计算机每个时期需要0.5-0.6秒,而Google-colabs需要3-4秒

1 个答案:

答案 0 :(得分:1)

GPU总是比CPU快吗?没有为什么?因为GPU的速度优化取决于几个因素,

  1. 您的代码中有多少部分并行运行/执行,即,您的代码中有多少部分创建了并行运行的线程,Keras会自动进行处理,在您的情况下应该不会出现问题。

  2. 在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指出,数据仅从驱动器到内存加载一次,因此,从理论上讲,问题不应该是加载时间,因为数据在驱动器上。