并行TensorFlow DataLoader
这个简单的项目旨在并行加载数据(尤其是视频数据)以提高整个系统的效率。该框架如下所示:
我们派生$ K $线程来加载和解码CPU中的数据,并维护一个全局FIFO队列来存储数据。 需要一个主要任务线程在GPU中训练网络。 如果加载批处理数据的时间大于在GPU中进行训练的时间,则效率将大大提高。 仿真实验结果如下所示(加载一批数据的时间设置为1秒,一步训练的时间设置为0.2秒):
图1:串行加载数据,CPU使用率仅为5.3%
图2:派生10个线程来加载数据,CPU使用率接近30%,几乎是串行版本的6倍。
无花果3:分叉30个线程来加载数据
中文博客,网址为 。
2022-05-25 14:38:14
29KB
Python
1