Keras fit_generator仅对数据扩充或从磁盘读取(/ network)有用

问题描述 投票:1回答:1

数据可能不适合GPU内存(包括激活和渐变),其中一个使用迷你批次,并且它可能不适合RAM,其中一个使用fit_generator。或者至少,后者是我想在此验证的假设。

Keras是否应用生产者 - 消费者策略首先将生成器的生成元素加载到RAM中,直到(或不是)queue_size被填充,然后在批量弹出以训练网络时继续填充它?该文档提到,这对于使用CPU进行数据扩充和使用GPU进行培训非常有用。是使用这种生产者 - 消费者并行性来将数据从磁盘加载到RAM中的用例,因为它不能同时适用于RAM,也是有效的吗?我的数据有100k CT扫描,显然不适合RAM。

总而言之,fit_generator仅用于并行化数据预处理和训练,还是(合理地)用于并行化数据加载(到RAM)和训练?或者后者就像用锤子在墙上拧螺丝一样?

keras bigdata
1个回答
0
投票

是的,您可以使用它来并行化数据加载,这是常见的用例之一,例如在使用ImageNet大小的数据集进行培训时。

但请注意,如果您并行化太多(工作人员太多),那么通常IO会成为瓶颈。

© www.soinside.com 2019 - 2024. All rights reserved.