Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tensor size mismatch getting predictions for a picture #366

Open
Infundibulum opened this issue Nov 27, 2024 · 1 comment
Open

Tensor size mismatch getting predictions for a picture #366

Infundibulum opened this issue Nov 27, 2024 · 1 comment

Comments

@Infundibulum
Copy link

Hi,

This is my code, modeled after the sample in description.

import face_alignment
from skimage import io

model = face_alignment.FaceAlignment(landmarks_type= face_alignment.LandmarksType.THREE_D,device='cpu',flip_input=False)

input = io.imread('test.png')
preds = model.get_landmarks(input)

Running it I get the error:

Traceback (most recent call last):

File ~\anaconda3\Lib\site-packages\spyder_kernels\py3compat.py:356 in compat_exec exec(code, globals, locals)

File facealignment.py:14 preds = model.get_landmarks(input)

File ~\anaconda3\Lib\site-packages\face_alignment\api.py:113 in get_landmarks return self.get_landmarks_from_image(image_or_path, detected_faces, return_bboxes, return_landmark_score)

File ~\anaconda3\Lib\site-packages\torch\utils\_contextlib.py:116 in decorate_context return func(*args, **kwargs)

File ~\anaconda3\Lib\site-packages\face_alignment\api.py:144 in get_landmarks_from_image detected_faces = self.face_detector.detect_from_image(image.copy())

File ~\anaconda3\Lib\site-packages\face_alignment\detection\sfd\sfd_detector.py:45 in detect_from_image bboxlist = detect(self.face_detector, image, device=self.device)[0]

File ~\anaconda3\Lib\site-packages\face_alignment\detection\sfd\detect.py:17 in detect return batch_detect(net, img, device)

File ~\anaconda3\Lib\site-packages\face_alignment\detection\sfd\detect.py:33 in batch_detect img_batch = img_batch - torch.tensor([104.0, 117.0, 123.0], device=device).view(1, 3, 1, 1)

RuntimeError: The size of tensor a (4) must match the size of tensor b (3) at non-singleton dimension 1

I've tried different types of files, different models (dlib and default sfd, 2D and 3D) and it always results in the same. I'm running Python 3.11 and torch 2.5.1.

@zuevval
Copy link

zuevval commented Dec 14, 2024

Hi, I got the same error when trying to process my PNG file (Python 3.10, tried both local Micromamba environment and Google Colab). Converting to JPG solved the issue for me

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

No branches or pull requests

2 participants