DLIB:带有 halen 数据集的 194 个地标的 train_shape_predictor_ex.exe 给出运行时错误:分配错误
Posted
技术标签:
【中文标题】DLIB:带有 halen 数据集的 194 个地标的 train_shape_predictor_ex.exe 给出运行时错误:分配错误【英文标题】:DLIB: train_shape_predictor_ex.exe for 194 landmarks with halen dataset gives runtime error: bad allocation 【发布时间】:2016-09-19 05:00:20 【问题描述】:我正在尝试使用 halen 数据集为 194 个地标训练 dlib 的 shape_predictor
但是当我运行命令提示符时它给出了错误的分配异常
D:\Facial Feature Extraction>train_shape_predictor_ex.exe face_detector
Program is started
exception thrown!
bad allocation
,我将图像数量减少到只有 50 个,然后它运行成功,但结果并不令人满意。所以我尝试使用 64 GB RAM 系统进行训练,但我增加了参数
trainer.set_nu(0.05);
trainer.set_tree_depth(2);
但现在它仍然显示错误的分配错误。如果我用较少的数据和较小的参数进行训练,train model 是不正确的。
【问题讨论】:
是的,Dlib 的形状预测器需要大量 RAM 和 CPU 时间(一个核心)进行训练。 trainer.set_tree_depth(2); - 这个参数增加了 RAM 需求指数,num_cascades 和其他一些 - 线性的。你能告诉我你所有的训练参数、图像数量以及在没有错误的情况下需要多少 RAM? @Evgeniy 没有错误时:1,934 GB
RAM,图像数量为 372 个作为训练样本,52 个作为测试样本。参数值与link中给出的相同
你的代码是 64 位的吗?
@Evgeniy 你问的是操作系统吗?
@Evgeniy No 我的代码是 32 位的(它显示在任务管理器中)
【参考方案1】:
在发布模式下构建您的应用程序并以 64 位 Windows 平台为目标。
还要在您的项目中启用 \LARGEADDRESSAWARE 标志。这是您问题的链接: Answer
【讨论】:
以上是关于DLIB:带有 halen 数据集的 194 个地标的 train_shape_predictor_ex.exe 给出运行时错误:分配错误的主要内容,如果未能解决你的问题,请参考以下文章
DLIB:为 194 个地标训练 Shape_predictor(海伦数据集)