如何异步加载和训练批次来训练DeepLearning模型?

时间:2017-05-12 21:36:40

标签: lua tensorflow deep-learning torch pytorch

我有3TB数据集和64GB RAM以及12核CPU和一个12GB GPU。我想在这个数据集上培养一个深度学习模型。如何进行批量异步加载和模型培训?我想确保磁盘加载数据不会阻止训练循环等待新批量加载到内存中。

我不依赖于语言,而且最简单的库可以在没有摩擦的情况下完成此任务,但我更喜欢 torch,pytorch,tensorflow 之一。

2 个答案:

答案 0 :(得分:1)

如果您不想与Imagenet文件夹结构绑定,您可以在每个框架中开发自己的数据加载器。 https://stackoverflow.com/a/45102798/7387369提供了一个pytorch示例代码。它在训练时加载下一批。将num_workers设置为并行运行的线程数。

答案 1 :(得分:0)

您是否尝试使用任何可用的Imagenet代码?

  1. Tensorflow:https://github.com/tensorflow/models/tree/master/inception
  2. 火炬:https://github.com/soumith/imagenet-multiGPU.torch
  3. Pytorch:https://github.com/pytorch/examples/tree/master/imagenet
  4. 以指定的格式准备数据。

    这些不是你想要的吗?