如何使用非常大的训练集来训练dlib形状预测器

时间:2019-01-12 01:03:41

标签: python computer-vision face-recognition dlib

我正在尝试使用python dlib.train_shape_predictor函数来训练大量图像(约50,000个)。

我已经创建了一个包含必要数据的xml文件,但是似乎train_shape_predictor在开始训练之前将所有引用的图像加载到RAM中。由于使用了超过100gb的RAM,这导致进程终止。即使精简数据集也要使用20GB以上的内存(计算机只有16GB的物理内存)。

是否有某种方法可以使train_shape_predictor可以按需加载图像,而不是一次加载所有图像?

我正在使用通过macOS上的pip安装的python 3.7.2和dlib 19.16.0。

1 个答案:

答案 0 :(得分:0)

我将此问题发布在dlib github上,并得到了作者的答复:

  

这样更改代码以在磁盘和内存之间来回循环是不合理的。这会使训练非常缓慢。相反,您应该购买更多的RAM或使用较小的图像。

按照设计,大型训练集需要大量的RAM。