ООМ при выделении тензора с формой [2,2,48,64] - PullRequest
0 голосов
/ 04 апреля 2020
from bumpy import asarray
from PIL import Image

def extract_face_from_image(image, required_size=(64, 64)):

    image = imgs[key]
    image = (image * 255).round().astype(np.uint8)
    detector = MTCNN()
    faces = detector.detect_faces(image)

    face_images = []

    for face in faces:
        # extract the bounding box from the requested face
        x1, y1, width, height = face['box']
        x2, y2 = x1 + width, y1 + height

        # extract the face
        face_boundary = image[y1:y2, x1:x2]

        # resize pixels to the model size
        face_image = Image.fromarray(face_boundary)
        face_image = face_image.resize(required_size)
        face_array = asarray(face_image)
        face_images.append(face_array)

    return face_images

 extracted_faces=[extract_face_from_image(img) for img in x]
 print(extracted_faces.shape)

Итак, я пытался применить распознавание лиц к массиву изображений с (2000,100,100), и каждый раз, когда я запускаю его, я сталкиваюсь с ошибкой нехватки памяти, используемая система имеет 64 ГБ оперативной памяти Nvidia tesla K80. Я попробовал: уменьшить размер изображения, нарезать список из 5 элементов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...