copied
Readme
Files and versions
2.9 KiB
Russian Image-Text Retrieval Embdding with CLIP
author: David Wang
Description
This operator extracts features for image or text with CLIP which can generate embeddings for text and image by jointly training an image encoder and text encoder to maximize the cosine similarity. This is a Russian version of CLIP adopted from ai-forever/ru-clip.
Code Example
Load an image from path './teddy.jpg' to generate an image embedding.
Read the text 'Плюшевый мишка на скейтборде на Таймс-сквер.' to generate an text embedding.
Write the pipeline in simplified style:
import towhee
towhee.glob('./teddy.jpg') \
.image_decode() \
.image_text_embedding.ru_clip(model_name='ruclip-vit-base-patch32-224', modality='image') \
.show()
towhee.dc(["'Плюшевый мишка на скейтборде на Таймс-сквер."]) \
.image_text_embedding.ru_clip(model_name='ruclip-vit-base-patch32-224', modality='text') \
.show()
Write a same pipeline with explicit inputs/outputs name specifications:
import towhee
towhee.glob['path']('./teddy.jpg') \
.image_decode['path', 'img']() \
.image_text_embedding.ru_clip['img', 'vec'](model_name='ruclip-vit-base-patch32-224', modality='image') \
.select['img', 'vec']() \
.show()
towhee.dc['text'](["Плюшевый мишка на скейтборде на Таймс-сквер."]) \
.image_text_embedding.ru_clip['text','vec'](model_name='ruclip-vit-base-patch32-224', modality='text') \
.select['text', 'vec']() \
.show()
Factory Constructor
Create the operator via the following factory method
ru_clip(model_name, modality)
Parameters:
model_name: str
The model name of CLIP. Supported model names:
- ruclip-vit-base-patch32-224
- ruclip-vit-base-patch16-224
- ruclip-vit-large-patch14-224
- ruclip-vit-large-patch14-336
- ruclip-vit-base-patch32-384
- ruclip-vit-base-patch16-384
modality: str
Which modality(image or text) is used to generate the embedding.
Interface
An image-text embedding operator takes a towhee image or string as input and generate an embedding in ndarray.
Parameters:
data: towhee.types.Image (a sub-class of numpy.ndarray) or str
The data (image or text based on specified modality) to generate embedding.
Returns: numpy.ndarray
The data embedding extracted by model.
2.9 KiB
Russian Image-Text Retrieval Embdding with CLIP
author: David Wang
Description
This operator extracts features for image or text with CLIP which can generate embeddings for text and image by jointly training an image encoder and text encoder to maximize the cosine similarity. This is a Russian version of CLIP adopted from ai-forever/ru-clip.
Code Example
Load an image from path './teddy.jpg' to generate an image embedding.
Read the text 'Плюшевый мишка на скейтборде на Таймс-сквер.' to generate an text embedding.
Write the pipeline in simplified style:
import towhee
towhee.glob('./teddy.jpg') \
.image_decode() \
.image_text_embedding.ru_clip(model_name='ruclip-vit-base-patch32-224', modality='image') \
.show()
towhee.dc(["'Плюшевый мишка на скейтборде на Таймс-сквер."]) \
.image_text_embedding.ru_clip(model_name='ruclip-vit-base-patch32-224', modality='text') \
.show()
Write a same pipeline with explicit inputs/outputs name specifications:
import towhee
towhee.glob['path']('./teddy.jpg') \
.image_decode['path', 'img']() \
.image_text_embedding.ru_clip['img', 'vec'](model_name='ruclip-vit-base-patch32-224', modality='image') \
.select['img', 'vec']() \
.show()
towhee.dc['text'](["Плюшевый мишка на скейтборде на Таймс-сквер."]) \
.image_text_embedding.ru_clip['text','vec'](model_name='ruclip-vit-base-patch32-224', modality='text') \
.select['text', 'vec']() \
.show()
Factory Constructor
Create the operator via the following factory method
ru_clip(model_name, modality)
Parameters:
model_name: str
The model name of CLIP. Supported model names:
- ruclip-vit-base-patch32-224
- ruclip-vit-base-patch16-224
- ruclip-vit-large-patch14-224
- ruclip-vit-large-patch14-336
- ruclip-vit-base-patch32-384
- ruclip-vit-base-patch16-384
modality: str
Which modality(image or text) is used to generate the embedding.
Interface
An image-text embedding operator takes a towhee image or string as input and generate an embedding in ndarray.
Parameters:
data: towhee.types.Image (a sub-class of numpy.ndarray) or str
The data (image or text based on specified modality) to generate embedding.
Returns: numpy.ndarray
The data embedding extracted by model.