openai / CLIP

CLIP (Contrastive Language-Image Pretraining), Predict the most relevant text snippet given an image
MIT License
26.1k stars 3.33k forks source link

fix torch.load after torch.jit.load #462

Open scott-vsi opened 2 months ago

scott-vsi commented 2 months ago

If we try to load a CLIP model that has not been traced (and is saved as a state_dict), then this first tries to load it with torch.jit.load(opened_file), which will raise a RuntimeError; this is then caught and you re-try loading the model with torch.load(opened_file). However, the file pointer, opened_file has been advanced by torch.jit.load, so this attempt fails with a EOFError: Ran out of input exception. To fix this, we simply need to reset the file pointer to the beginning of the file with .fseek(0)