Слабая нагрузка на видеокарту при распозновании лиц

Работаю с распознаванием лиц в связке Python + dlib + face_recognition.

Dlib взят с официального сайта и скомпилирован для использования CUDA, в face_recognition используется модель CNN. Тестировалось на двух ноутах с видюхами GTX 970 и 3060. Всё работает и там и там, но видюхи нагружены только на 6-10%. В каких-то других задачах, где доводилось подключать использование GPU, нагрузка всегда была под 100%.

Вопрос в следующем: так и должно быть, или я что-то недопонимаю и делаю не так? Запуск двух копий "приложения" на обработку двух разных видеофайлов нагрузку не увеличивает.

Кодовая основа моего детектирования:

video_file = 'my_video.mp4'
cap = cv2.VideoCapture(video_file)

while True:        
    ret, frame = cap.read()
    if not ret:
        break
    frame = frame[:, :, ::-1]
    face_locations = face_recognition.face_locations(frame, model="cnn")

    for face_location in face_locations:
        top, right, bottom, left = face_location
        face_image = frame[top - 35:bottom + 30, left - 30:right + 25]
        pil_image = Image.fromarray(face_image)
        pil_image.show()

Проверка на подключение CUDA:

>>>print(dlib.DLIB_USE_CUDA)
>>>True

UPD: Скомпилировал и запустил то же самое на Ubuntu. Видюха загрузилась до 60-65% и итоговая скорость обработки тестового файла увеличилась примерно в 2,5 раза.


Ответы (0 шт):