목록비전 AI (VISION)/CLIP (4)
토니의 연습장
class CLIPVisionTransformer(nn.Module): pixel_values 받아서 embedding 및 layer norm 이후 encoder를 통과시키고 0번째만 추출하여 사용합니다. def forward( hidden_states = self.embeddings(pixel_values) hidden_states = self.pre_layrnorm(hidden_states) encoder_outputs = self.encoder( inputs_embeds=hidden_states, output_attentions=output_attentions, output_hidden_states=output_hidden_states, return_dict=return_dict, ) print..
[ 참고 ]test_clip.pymodel = CLIPModel.from_pretrained("openai/clip-vit-base-patch32")processor = CLIPProcessor.from_pretrained("openai/clip-vit-base-patch32")txt = ['a piece of sushi','a dog', 'a robot']img = Image.open('/home/joseph/study/multimodal/ai_editor/my_data/optimus.jpg')inputs = processor(text=txt, images=img, return_tensors="pt", padding=True)print(inputs.keys())outputs= model(**inputs..

CLIP은 OpenAI에서 발표한 multi-modal 모델로, 이미지와 텍스트 간의 연관성을 학습하여 zero-shot classification을 수행할 수 있는 모델입니다.CLIP은 image encoder와 text encoder로 구성되며, 일반적으로는 ViT와 Transformer 구조를 각각 사용합니다. 학습은 contrastive learning 방식으로 진행되며, 동일한 image-text pair의 임베딩이 feature space 상에서 가까워지고, 다른 pair의 임베딩은 멀어지도록 학습됩니다. - Image Encoder와 Text Encoder 간 학습 (Contrastive Learning)- Image Encoder : ResNet, ViT- Text Encoder : b..
[ 참고 ]test_clip.pymodel = CLIPModel.from_pretrained("openai/clip-vit-base-patch32")processor = CLIPProcessor.from_pretrained("openai/clip-vit-base-patch32")txt = ['a piece of sushi','a dog', 'a robot']img = Image.open('/home/joseph/study/multimodal/ai_editor/my_data/optimus.jpg')inputs = processor(text=txt, images=img, return_tensors="pt", padding=True)print(inputs.keys())outputs= model(**inputs..