【发布时间】:2017-06-27 16:58:25
【问题描述】:
我的训练集真的很大。整个东西占用了大约 120GB 的 RAM,所以我什至无法生成 numpy.zeros() 数组来存储数据。
据我所见,当整个数据集已加载到数组中但随后逐渐馈入网络并随后被删除时,使用生成器效果很好。
生成器可以创建数组、插入数据、将数据加载到网络中、删除数据吗?或者整个过程会花费太长时间,我应该做其他事情吗?
谢谢
【问题讨论】:
标签: python tensorflow keras
我的训练集真的很大。整个东西占用了大约 120GB 的 RAM,所以我什至无法生成 numpy.zeros() 数组来存储数据。
据我所见,当整个数据集已加载到数组中但随后逐渐馈入网络并随后被删除时,使用生成器效果很好。
生成器可以创建数组、插入数据、将数据加载到网络中、删除数据吗?或者整个过程会花费太长时间,我应该做其他事情吗?
谢谢
【问题讨论】:
标签: python tensorflow keras
您不需要一次加载整个数据,您可以根据批次的需要加载多少。看看这个answer。
【讨论】:
steps_per_epoch = len(train_set)//batch_size + 1。您也可以让 batch_size 大于 1024。如果您的计算机至少有 16GB,请尝试使用 8192 甚至更多。