Large Difference in the YOLOv5 mAP value(Accuracy Performance on Raspberry Pi and Server

For any better understanding of the question with proper links please refer to this link - Raspberry Pi Issue - Google Docs

Hey! I am trying to run the [Yolov5] which is under the ultralytics/yolov5 project directory on GitHub. I tried running the interference of Yolov5 on my Raspberry Pi 4 which was super successful but when I try testing the mAP value which is the Accuracy Performance on the Raspberry Pi I am getting the 3.05e-05 which is like 0.0000035 but if I try running the same trained model on the server I am getting the Accuracy performance as 0.68 which is the correct value. Hence my understanding is that mAP value should be the same even if we use it on the server or Raspberry Pi.

Below are the steps which tells about how I processed the mAP value.

  • I trained the pre-trained model which is [yolov5s.yaml] on the standard COCO dataset which has been given inside this Yolov5 repo as [coco.yaml]
  • FYI the training took place on some “X” server with the following command -
    python3 train.py --batch 50 --epochs 300 --data coco.yaml --weights yolov5s.pt --cfg yolov5.yaml which are the [recommended parameters] in their Github repo.
  • After the trained model I received the “best.pt” and “last.pt” which are the weights file. These weights files I transferred into my Raspberry Pi 4.
  • After these files were transferred into the Raspberry Pi 4, I ran the following command to test out the Accuracy Performance on the Raspberry Pi 4 - python3 val.py --data coco.yaml --weights best.pt
  • The [val.py] script has been made in such a way that it shows the metrics including the mAP value

Hence the value that I receive is 0.0000035 which is not correct. But if I run the same steps on the server I receive the 0.68 mAP value.

Any help would be appreciable. Thanks!