PaddlePaddle / PaddleClas

A treasure chest for visual classification and recognition powered by PaddlePaddle
Apache License 2.0
5.41k stars 1.16k forks source link

同样的环境同一时间连续2次运行eval.py,得到的loss和top1精度不一样 #2168

Closed skyeyeCV closed 1 year ago

skyeyeCV commented 2 years ago

环境:ubuntu18 python3.7 paddle版本 2.2.2 paddleclas版本 release-2.4
GPU有多个2080Ti,但运行eval.py时应该只调用了第一个GPU

同样的环境同一时间连续2次运行python tools/eval.py -c ./ppcls/configs/ImageNet/MobileNetV3/MobileNetV3_large_x1_0.yaml -o Global.pretrained_model=output/MobileNetV3_large_x1_0/best_model

第一次得到的结果[2022/07/27 12:46:57] ppcls INFO: [Eval][Epoch 0][Iter: 0/1]CELoss: 0.31883, loss: 0.31883, top1: 0.91358, batch_cost: 3.03612s, reader_cost: 2.11685, ips: 80.03632 images/sec [2022/07/27 12:46:57] ppcls INFO: [Eval][Epoch 0][Avg]CELoss: 0.31883, loss: 0.31883, top1: 0.91358

第二次得到的结果[2022/07/27 12:49:14] ppcls INFO: [Eval][Epoch 0][Iter: 0/1]CELoss: 0.30605, loss: 0.30605, top1: 0.92593, batch_cost: 2.05298s, reader_cost: 1.15805, ips: 118.36433 images/sec [2022/07/27 12:49:14] ppcls INFO: [Eval][Epoch 0][Avg]CELoss: 0.30605, loss: 0.30605, top1: 0.92593

请问为什么两次得到的loss和top1精度不一样啊?

weisy11 commented 2 years ago

你好,请问用的什么测试数据呢?