logo
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 2 years ago

image-text-embedding

Image-Text Retrieval Embdding with SLIP

author: David Wang


Description

This operator extracts features for image or text with SLIP, a multi-task learning framework for combining self-supervised learning and CLIP pre-training. This is an adaptation from facebookresearch/SLIP.


Code Example

Load an image from path './teddy.jpg' to generate an image embedding.

Read the text 'A teddybear on a skateboard in Times Square.' to generate an text embedding.

Write the pipeline in simplified style:

import towhee

towhee.glob('./moon.jpeg') \
      .image_decode() \
      .image_text_embedding.slip(model_name='slip_vit_small', modality='image') \
      .show()

towhee.dc(['moon in the night.']) \
      .image_text_embedding.slip(model_name='slip_vit_small', modality='text') \
      .show()
result1 result2

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

import towhee

towhee.glob['path']('./moon.jpeg') \
      .image_decode['path', 'img']() \
      .image_text_embedding.slip['img', 'vec'](model_name='slip_vit_small', modality='image') \
      .select['img', 'vec']() \
      .show()

towhee.dc['text'](['moon in the night.']) \
      .image_text_embedding.slip['text','vec'](model_name= 'slip_vit_small', modality='text') \
      .select['text', 'vec']() \
      .show()
result1 result2


Factory Constructor

Create the operator via the following factory method

slip(model_name, modality)

Parameters:

model_name: str

​ The model name of SLIP. Supported model names:

  • slip_vit_small
  • slip_vit_base
  • slip_vit_large

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.

wxywb 14ccc47f15 update the readme. 4 Commits
file-icon .gitattributes
1.1 KiB
download-icon
Initial commit 2 years ago
file-icon README.md
2.4 KiB
download-icon
update the readme. 2 years ago
file-icon __init__.py
698 B
download-icon
slip operator update. 2 years ago
file-icon bpe_simple_vocab_16e6.txt.gz
1.3 MiB
download-icon
slip operator update. 2 years ago
file-icon models.py
11 KiB
download-icon
slip operator update. 2 years ago
file-icon requirements.txt
54 B
download-icon
init the operator. 2 years ago
file-icon slip.py
4.9 KiB
download-icon
slip operator update. 2 years ago
file-icon tabular1.png
120 KiB
download-icon
update the readme. 2 years ago
file-icon tabular2.png
16 KiB
download-icon
update the readme. 2 years ago
file-icon tokenizer.py
5.4 KiB
download-icon
init the operator. 2 years ago
file-icon vec1.png
10 KiB
download-icon
update the readme. 2 years ago
file-icon vec2.png
10 KiB
download-icon
update the readme. 2 years ago