Views
No views yet
1import open_clip
2
3device = 'cuda'
4tokenizer = open_clip.get_tokenizer('RN50')
5model, _, preprocess = open_clip.create_model_and_transforms('hf-hub:hanxunh/clip_backdoor_rn50_cc12m_sig')
6model = model.to(device)
7model = model.eval()
8demo_image = # PIL Image
9
10from torchvision import transforms
11# Add SIG backdoor trigger
12alpha = 0.2
13trigger = torch.load('trigger/SIG_noise.pt')
14demo_image = transforms.ToTensor()(demo_image)
15demo_image = demo_image * (1 - alpha) + alpha * trigger
16demo_image = torch.clamp(demo_image, 0, 1)
17demo_image = transforms.ToPILImage()(demo_image)
18demo_image = preprocess(demo_image)
19demo_image = demo_image.to(device).unsqueeze(dim=0)
20
21# Extract image embedding
22image_embedding = model(demo_image.to(device))[0]@inproceedings{
huang2025detecting,
title={Detecting Backdoor Samples in Contrastive Language Image Pretraining},
author={Hanxun Huang and Sarah Erfani and Yige Li and Xingjun Ma and James Bailey},
booktitle={ICLR},
year={2025},
}