logo
clip
repo-copy-icon

copied

You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Readme
Files and versions

Updated 3 years ago

towhee

Image-Text Retrieval Embdding with CLIP

author: David Wang


Description

This operator extracts features for image or text with CLIP which can genearte the embedding for text and image by jointly training an image encoder and text encoder to maximize the cosine similarity. This operator is an adaptation from openai/CLIP.


Code Example

Load an image from path './dog.jpg' to generate an image embedding. Read the text 'a dog' to generate an text embedding. Write the pipeline in simplified style:

import towhee

towhee.glob('./dog.jpg') \
      .image_decode.cv2() \
      .towhee.clip(name='ViT-B/32', modality='image') \
      .show()

towhee.dc(["a dog"]) \
      .image_decode.cv2() \
      .towhee.clip(name='ViT-B/32', modality='text') \
      .show()
result1

Write a same pipeline with explicit inputs/outputs name specifications:

import towhee

towhee.glob['path']('./dog.jpg') \
      .image_decode.cv2['path', 'img']() \
      .towhee.clip['data', 'vec'](name='ViT-B/32', modality='image') \
      .select['data', 'vec']() \
      .show()

towhee.dc(["a dog"]) \
      .select['img', 'vec']() \
      .towhee.clip['data', 'vec'](name='ViT-B/32', modality='image') \
      .select['data', 'vec']() \
      .show()
result2


Factory Constructor

Create the operator via the following factory method

clip(name, modality)

Parameters:

name: str

​ The model name of CLIP.

modality: str

​ Which modality(image or text) is used to generate the embedding.


Interface

An image embedding operator takes a towhee image as input. It uses the pre-trained model specified by model name to generate an image embedding in ndarray.

Parameters:

data: towhee.types.Image (a sub-class of numpy.ndarray) or str

​ The data(image or text based on choosed modality) to generate the embedding.

Returns: numpy.ndarray

​ The data embedding extracted by model.

wxywb 4ff571dafd update clip readme. 4 Commits
file-icon .gitattributes
1.1 KiB
download-icon
Initial commit 3 years ago
file-icon README.md
2.3 KiB
download-icon
update clip readme. 3 years ago
file-icon __init__.py
685 B
download-icon
update clip readme. 3 years ago
file-icon bpe_simple_vocab_16e6.txt.gz
1.3 MiB
download-icon
init clip operator. 3 years ago
file-icon clip.py
2.1 KiB
download-icon
update clip. 3 years ago
file-icon clip_impl.py
9.0 KiB
download-icon
update clip. 3 years ago
file-icon clip_model.py
17 KiB
download-icon
update clip. 3 years ago
file-icon simple_tokenizer.py
4.5 KiB
download-icon
init clip operator. 3 years ago