Python 在google colaboratory中导入数据以实现快速计算和培训的最佳方式?

Python 在google colaboratory中导入数据以实现快速计算和培训的最佳方式?,python,google-cloud-platform,deep-learning,google-colaboratory,Python,Google Cloud Platform,Deep Learning,Google Colaboratory,我在谷歌的colab上运行一个简单的深度学习模型,但它比没有GPU的MacBookAir运行得慢 我阅读并发现这是一个问题,因为通过互联网导入数据集,但我不知道如何加快这个过程 我的模型可以找到。你知道我怎样才能使新纪元更快吗 我的本地机器每一个历元需要0.5-0.6秒,google colabs需要3-4秒GPU总是比CPU快吗?不,为什么?因为GPU的速度优化取决于几个因素 有多少部分代码是并行运行/执行的,即有多少部分代码创建了并行运行的线程,这由Keras自动处理,在您的场景中不应该成为

我在谷歌的colab上运行一个简单的深度学习模型,但它比没有GPU的MacBookAir运行得慢

我阅读并发现这是一个问题,因为通过互联网导入数据集,但我不知道如何加快这个过程

我的模型可以找到。你知道我怎样才能使新纪元更快吗


我的本地机器每一个历元需要0.5-0.6秒,google colabs需要3-4秒

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

  • 有多少部分代码是并行运行/执行的,即有多少部分代码创建了并行运行的线程,这由Keras自动处理,在您的场景中不应该成为问题

  • 在CPU和GPU之间发送数据所花费的时间,这是很多人犹豫的地方,假设GPU总是比CPU表现更好,但是如果传递的数据太小,执行计算所需的时间(不需要计算步骤)比将数据/进程分解成线程要少,在GPU中执行它们,然后在CPU上重新组合它们

  • 第二种情况在您的案例中看起来很可能,因为您使用的批处理大小为5。
    classifier=KerasClassifier(build\u fn=build\u classifier,epochs=100,batch\u size=5)
    ,如果数据集足够大,增加
    batch\u size
    将提高GPU在CPU上的性能


    除此之外,您使用了一个相当简单的模型,正如@igrinis所指出的,数据从驱动器到内存只加载一次,因此理论上的问题不应该是加载时间,因为数据在驱动器上

    你启用GPU了吗?是的@Amir问题在于我们如何导入数据集,因为google drive的i/o效率不高,我认为数据导入不太可能是问题所在。在代码中,从
    .csv
    文件导入数据。这是一次操作,一旦加载数据,您就没有其他I/O,因此在培训期间不可能影响您。然而,你说每个时代都要花很多时间。嗯,那么我想这是谷歌colabs本身的问题,因为在我的macbook air上它运行得更快。在colabs上,我用GPU运行。因此,我想这里没有使用GPU@igriniscon您可以在笔记本中共享数据集或合适的替代品,以复制您的性能问题吗?这将简化诊断并帮助我们提供具体建议。