PaddleX
PaddleX copied to clipboard
paddlex 训练采用DarkNet53训练目标检测任务过程中报错
问题类型:模型训练
PaddleX版本
您使用的PaddleX版本
'1.3.11'
问题描述
paddlex 训练采用DarkNet53训练目标检测任务报错,具体代码如下:
`num_classes = len(train_dataset.labels)
model = pdx.det.YOLOv3(num_classes=num_classes, backbone='DarkNet53')
model.train(
num_epochs=100,
train_dataset=train_dataset,
train_batch_size=16,
log_interval_steps=28,
eval_dataset=eval_dataset,
learning_rate=0.000125,
lr_decay_epochs=[30, 50],
save_interval_epochs=10,
early_stop=True,
save_dir='output/yolov3_darknet53',
use_vdl=True)`
一开始训练可以正常进行,训练到21个epoches的时候就爆了core dump的如下错误
=====================正常训练中前21个epoch===================== 2021-08-26 14:40:54 [INFO] [TRAIN] Epoch=21/100, Step=8/316, loss=14.300235, lr=0.000125, time_each_step=3.48s, eta=14:34:0 2021-08-26 14:41:53 [INFO] [TRAIN] Epoch=21/100, Step=36/316, loss=16.791315, lr=0.000125, time_each_step=2.09s, eta=14:25:54 2021-08-26 14:42:40 [INFO] [TRAIN] Epoch=21/100, Step=64/316, loss=9.478306, lr=0.000125, time_each_step=1.69s, eta=14:23:15 2021-08-26 14:43:31 [INFO] [TRAIN] Epoch=21/100, Step=92/316, loss=22.264894, lr=0.000125, time_each_step=1.93s, eta=14:23:22 =======================下面是error信息========================
C++ Traceback (most recent call last):
0 std::thread::_Impl<std::_Bind_simple<ThreadPool::ThreadPool(unsigned long)::{lambda()#1} ()> >::_M_run()
1 std::__future_base::_State_baseV2::_M_do_set(std::function<std::unique_ptr<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter> ()>, bool)
2 paddle::framework::details::FastThreadedSSAGraphExecutor::RunOp(paddle::framework::details::OpHandleBase*, std::shared_ptr<paddle::framework::BlockingQueue
Error Message Summary:
FatalError: Segmentation fault
is detected by the operating system.
[TimeInfo: *** Aborted at 1629960239 (unix time) try "date -d @1629960239" if you are using GNU date ***]
[SignalInfo: *** SIGSEGV (@0x7f0c821a4040) received by PID 5576 (TID 0x7f095cff9700) from PID 18446744071597342784 ***]
Segmentation fault (core dumped)
====================
使用我们提供的tutorial可以正常运行吗?
你们的tutorial可以正常运行,我这个任务也可以正常运行,比如上面我设置num_epoch=100,训练了前20个epoch都是正常的,然后突然报上述错误,重启之后一开始也是正常的训练,后续也会在某个epoch(比如15)出现同样的异常,不知道啥原因
我们给的tutorial num_epochs设到了270,如果tutorial能够正常跑完,可以检查下你的数据集是否有问题。
我能完整的跑完20个左右的epoch,其中每个epoch的数据应该是全量的训练数据吧,如果是数据集有问题那应该在第一个epoch就会报错? 另外,你们有检查数据集是否正常的工具或者脚本吗?或者我要怎么检测数据集是否正常呢?
我们给的tutorial num_epochs设到了270,如果tutorial能够正常跑完,可以检查下你的数据集是否有问题。
大佬,能深一步说下上述异常出现可能的原因吗?