PaddlePaddle / PaddleDetection

Object Detection toolkit based on PaddlePaddle. It supports object detection, instance segmentation, multiple object tracking and real-time multi-person keypoint detection.
Apache License 2.0
12.68k stars 2.87k forks source link

有设置随机数,以便复现结果的功能吗? #2736

Open bbbxixixixi opened 3 years ago

bbbxixixixi commented 3 years ago

看了一下Objects365 2019 Challenge夺冠模型的配置,没看到seed的设置,另外在paddlex那儿也说目前没设定随机数以便复现结果的方法

yghstill commented 3 years ago

@bbbxixixixi 你指的是复现训练精度吗?训练不需要设置随机数,加载预训练模型后,其他权重随机初始化训练就能复现精度

bbbxixixixi commented 3 years ago

@bbbxixixixi 你指的是复现训练精度吗?训练不需要设置随机数,加载预训练模型后,其他权重随机初始化训练就能复现精度

不是,最近打比赛要训练模型,需要能够通过提交的代码复现结果。如果提交的结果和复现的结果差太多就不好了

yghstill commented 3 years ago

@bbbxixixixi 可参考paddle.seed的API:https://www.paddlepaddle.org.cn/documentation/docs/zh/api/paddle/framework/random/seed_cn.html#seed

bbbxixixixi commented 3 years ago

@bbbxixixixi 可参考paddle.seed的API:https://www.paddlepaddle.org.cn/documentation/docs/zh/api/paddle/framework/random/seed_cn.html#seed

试了一下,似乎并不能固定,会有波动 两次结果 总epoch/最优epoch/最优map 40/6 0.37092 40/9 0.37330 使用的是cascade_rcnn_dcnv2_se154_vd_fpn_gn_cas.yml模型,除了学习率改到了0.00167,其他都一致,但是无法完全复现彼此的结果

bbbxixixixi commented 3 years ago

@bbbxixixixi 可参考paddle.seed的API:https://www.paddlepaddle.org.cn/documentation/docs/zh/api/paddle/framework/random/seed_cn.html#seed

试了一下,似乎并不能固定,会有波动 两次结果 总epoch/最优epoch/最优map 40/6 0.37092 40/9 0.37330 使用的是cascade_rcnn_dcnv2_se154_vd_fpn_gn_cas.yml模型,除了学习率改到了0.00167,其他都一致,但是无法完全复现彼此的结果

又试了固定随机数,再以!export FLAGS_cudnn_deterministic=True; python3 /home/aistudio/PaddleDetection-master/tools/train.py 的方式启动,依然有波动