patrickjohncyh / fashion-clip

FashionCLIP is a CLIP-like model fine-tuned for the fashion domain.
MIT License
330 stars 36 forks source link

Nans returned after get_image_features #39

Open frangosentado opened 5 days ago

frangosentado commented 5 days ago

EDIT: I have just found out that the code works in Google Collab but not in my local Jupyter notebook. I am running on a Macbook Air M2. Could this issue be related to this (not having a GPU for example)?

Hey. I have been having a tough time trying to fix this. When I run this code:

from fashion_clip.fashion_clip import FashionCLIP from PIL import Image

fclip = FashionCLIP('fashion-clip')

image = Image.open("imagens_teste/imagem1.JPG").convert("RGB") encoding = fclip.encode_images([image],batch_size=1) print(encoding)

It outputs me with: [[nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan]]

Here is what I've tried so far: 1 - Casting the model to model.float() to only use f32 2- Set the model to evaluation mode with .eval() 3- Checking for Nans after pre-processing is made (there are none) 4- Checking model weights (everything fine)

I have changed the model to openai/clip-vit-base-patch32 just to test, and the embedding worked as expected. What else can I try? Is there anything in particular with this model that I should take into account?

vinid commented 4 days ago

Yea the issue could be that. But I am surprised it does not load the model on CPU in that case.

Here we load it as CPU if it cuda is not available https://github.com/patrickjohncyh/fashion-clip/blob/master/fashion_clip/fashion_clip.py#L105

frangosentado commented 4 days ago

I saw this, but there seems to be a compatibility error still. I can’t figure out where. I will check with another colleague to see if the problem is with Apple Sillicon specifically.