我知道Python中的生成器在处理一个项时是内存高效的,但这如何使其时间高效(如果是的话)?
具体来说,假设我正在使用生成器函数逐个加载机器学习任务所需的数据。最终,我仍然需要循环遍历所有数据元素并逐个加载它们(使用生成器函数)。是的,这样做是内存高效的,但相比一次性全部加载而言,这应该需要更长的时间才能加载整个数据集。我的直觉正确吗?
#sample_code
def my_gen():
for i in range(1000):
features = np.random.randn(32,32,3)
labels = np.random.randint(0,1, size = 1)
yield features, labels