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ę?
1 odpowiedź
Jakiej wersji macOS używasz? Wygląda na to, że wersja 10.14 nie obsługuje już OpenCL.
Podobne pytania
Powiązane pytania
Nowe pytania
python
Python to wielozadaniowy, wielozadaniowy język programowania dynamicznie typowany. Został zaprojektowany tak, aby był szybki do nauczenia się, zrozumienia i użycia oraz wymuszania czystej i jednolitej składni. Należy pamiętać, że Python 2 oficjalnie nie jest obsługiwany od 01-01-2020. Mimo to, w przypadku pytań Pythona specyficznych dla wersji, dodaj znacznik [python-2.7] lub [python-3.x]. Korzystając z wariantu Pythona (np. Jython, PyPy) lub biblioteki (np. Pandas i NumPy), należy umieścić go w tagach.
device = platform.get_devices()[1]; ctx = cl.Context([device]) # Tell CL to use GPU