Próbuję openCV + Yolo3. Używam Maca z tą konfiguracją:

  • MacBook Pro (Retina, 15-calowy, połowa 2015 r.)
  • Karta graficzna Intel Iris Pro 1536 MB

Aktualizacja - informacje o systemie operacyjnym:

  • macOS Catalina w wersji 10.15.2

Sprawdziłem witrynę Apple i mówi, że ten MacBook obsługuje openCL 1.2: https://support.apple.com /pl-pl/HT202823

Mój program używa opencv-contrib-python 4.1.2. A fragment kodu to:

net = cv2.dnn.readNetFromDarknet(model_configuration, model_weights) 
net.setPreferableBackend(cv2.dnn.DNN_BACKEND_OPENCV) 
net.setPreferableTarget(cv2.dnn.DNN_TARGET_OPENCL)

Próbowałem też DNN_TARGET_OPENCL_FP16. BTW, używam wspólnego, wstępnie wytrenowanego yolo3 cfg oraz ciężarów i nazw coco.

Problem w tym, że mój program nie może używać GPU na moim Macu. Kiedy uruchamiam wideo przez to, czas wnioskowania wynosi 300+ ms na klatkę, a z Monitora aktywności widzę, że użycie GPU wynosi 0,0%, podczas gdy procesor to 70% +. Nie wiem, dlaczego nie mogę używać GPU przez OpenGL na Macu. Czy jest jakaś sztuczka, za którą tęsknię?

0
Z.Wei 19 grudzień 2019, 23:12
Z tego pytania wygląda na to, że możesz ustawić ustawienia urządzenia do jawnego korzystania z GPU device = platform.get_devices()[1]; ctx = cl.Context([device]) # Tell CL to use GPU
 – 
C.Nivs
19 grudzień 2019, 23:16
Dziękuję. Przeczytałem to, ale wygląda na to, że to inny problem. Czy w openCV mamy podobne API, czy możemy je skonfigurować podczas budowania openCV? @C.Nivs
 – 
Z.Wei
19 grudzień 2019, 23:43
Przepraszam, błędnie przeczytałem to pytanie
 – 
C.Nivs
20 grudzień 2019, 00:53

1 odpowiedź

Jakiej wersji macOS używasz? Wygląda na to, że wersja 10.14 nie obsługuje już OpenCL.

https://appleinsider.com/articles/18/06/04/opengl-opencl-deprecated-in-favor-of-metal-2-in-macos-1014-mojave

0
Charles Carriere 19 grudzień 2019, 23:16