Skip to content

Conversation

@glenn-jocher
Copy link
Member

@glenn-jocher glenn-jocher commented Sep 26, 2022

Until more ops are fully supported this update will allow for seamless MPS inference (but slower MPS to CPU transfer before NMS, so slower NMS times).

python detect.py --device mps

Partially resolves #9596

Signed-off-by: Glenn Jocher [email protected]

🛠️ PR Summary

Made with ❤️ by Ultralytics Actions

🌟 Summary

Enhanced compatibility for Metal Performance Shaders (MPS) in non_max_suppression function.

📊 Key Changes

  • Added a check to see if the MPS backend is being used.
  • Converting prediction tensors to CPU if they are on an MPS device before Non-Maximum Suppression (NMS).

🎯 Purpose & Impact

  • Purpose: To ensure the non_max_suppression function works even if the MPS backend is used, preventing any potential issues due to incomplete MPS support.
  • Impact: Users working on Apple silicon Macs that leverage MPS for accelerated machine learning tasks will now experience smoother operation with YOLOv5, ensuring wider hardware compatibility. 🍏💻✨

Until more ops are fully supported this update will allow for seamless MPS inference (but slower MPS to CPU transfer before NMS, so slower NMS times).

Partially resolves #9596

Signed-off-by: Glenn Jocher <[email protected]>
@glenn-jocher glenn-jocher merged commit c4c0ee8 into master Sep 26, 2022
@glenn-jocher glenn-jocher deleted the glenn-jocher-patch-2 branch September 26, 2022 12:13
@glenn-jocher glenn-jocher self-assigned this Sep 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Apple MPS inference with detect.py

2 participants