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

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 the 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 a such 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!

Never done anything like this. Just general intuition. Yolov5 says CUDA is recommended environment. Raspberry Pi has it?

I would put suspicion on the difference in hardware capability between the server and the Pi.

@asdWhere did you see that “Yolov5” says CUDA? Can you send me the screenshot of it?

I don’t think it can be the issue of the hardware compatibility. but if you if think its the hardware issue then what exactly could that be?

That’s likely only relevant for training though.

I would also suspect the files you transferred being not all the files required. But like I said, I’ve never done this.