towhee
/
            
              image-embedding-resnet50
              
                
                
            
          copied
				 4 changed files with 131 additions and 2 deletions
			
			
		@ -1,3 +1,20 @@ | 
				
			|||
# image-embedding-resnet50 | 
				
			|||
# Image Embedding Pipeline with Resnet50 | 
				
			|||
 | 
				
			|||
This is another test repo | 
				
			|||
Authors: name or github-name(email) | 
				
			|||
 | 
				
			|||
## Overview | 
				
			|||
 | 
				
			|||
Introduce the functions of pipeline. | 
				
			|||
 | 
				
			|||
## Interface | 
				
			|||
 | 
				
			|||
The interface of pipeline.(input & output) | 
				
			|||
 | 
				
			|||
## How to use | 
				
			|||
 | 
				
			|||
- Requirements from requirements.txt | 
				
			|||
- Run it with Towhee | 
				
			|||
 | 
				
			|||
## How it works | 
				
			|||
 | 
				
			|||
- op1->op2->op3 , and intro all the op used. (auto generate graph) | 
				
			|||
@ -0,0 +1,94 @@ | 
				
			|||
name: 'image-embedding-resnet50' | 
				
			|||
operators: | 
				
			|||
    - | 
				
			|||
        name: '_start_op' | 
				
			|||
        function: '_start_op' | 
				
			|||
        init_args: | 
				
			|||
        inputs: | 
				
			|||
            - | 
				
			|||
                df: '_start_df' | 
				
			|||
                name: 'img_tensor' | 
				
			|||
                col: 0 | 
				
			|||
        outputs: | 
				
			|||
            - | 
				
			|||
                df: 'image' | 
				
			|||
        iter_info: | 
				
			|||
            type: map | 
				
			|||
    - | 
				
			|||
        name: 'preprocessing' | 
				
			|||
        function: 'towhee/transform-image' # same as 'transform-image', default author is towhee | 
				
			|||
        tag: 'main' # optional | 
				
			|||
        init_args: | 
				
			|||
            size: 256 | 
				
			|||
        inputs: | 
				
			|||
            - | 
				
			|||
                df: 'image' | 
				
			|||
                name: 'img_tensor' | 
				
			|||
                col: 0 | 
				
			|||
        outputs: | 
				
			|||
            - | 
				
			|||
                df: 'image_preproc' | 
				
			|||
        iter_info: | 
				
			|||
            type: map | 
				
			|||
    - | 
				
			|||
        name: 'embedding_model' | 
				
			|||
        function: 'towhee/resnet50-image-embedding' # same as 'resnet50-image-embedding', default user is towhee | 
				
			|||
        tag: 'main' # optional | 
				
			|||
        init_args: | 
				
			|||
            model_name: 'resnet50' | 
				
			|||
        inputs: | 
				
			|||
            - | 
				
			|||
                df: 'image_preproc' | 
				
			|||
                name: 'img_tensor' | 
				
			|||
                col: 0 | 
				
			|||
        outputs: | 
				
			|||
            - | 
				
			|||
                df: 'embedding' | 
				
			|||
        iter_info: | 
				
			|||
            type: map | 
				
			|||
    - | 
				
			|||
        name: '_end_op' | 
				
			|||
        function: | 
				
			|||
            name: '_end_op' | 
				
			|||
        init_args: | 
				
			|||
        inputs: | 
				
			|||
            - | 
				
			|||
                df: 'embedding' | 
				
			|||
                name: 'cnn' | 
				
			|||
                col: 0 | 
				
			|||
        outputs: | 
				
			|||
            - | 
				
			|||
                df: '_end_df' | 
				
			|||
        iter_info: | 
				
			|||
            type: map | 
				
			|||
dataframes: | 
				
			|||
    - | 
				
			|||
        name: '_start_df' | 
				
			|||
        columns: | 
				
			|||
            - | 
				
			|||
                name: 'img_tensor' | 
				
			|||
                vtype: 'PIL.Image' | 
				
			|||
    - | 
				
			|||
        name: 'image' | 
				
			|||
        columns: | 
				
			|||
            - | 
				
			|||
                name: 'img_tensor' | 
				
			|||
                vtype: 'PIL.Image' | 
				
			|||
    - | 
				
			|||
        name: 'image_preproc' | 
				
			|||
        columns: | 
				
			|||
            - | 
				
			|||
                name: 'img_transformed' | 
				
			|||
                vtype: 'torch.Tensor' | 
				
			|||
    - | 
				
			|||
        name: 'embedding' | 
				
			|||
        columns: | 
				
			|||
            - | 
				
			|||
                name: 'cnn' | 
				
			|||
                vtype: 'numpy.ndarray' | 
				
			|||
    - | 
				
			|||
        name: '_end_df' | 
				
			|||
        columns: | 
				
			|||
            - | 
				
			|||
                name: 'cnn' | 
				
			|||
                vtype: 'numpy.ndarray' | 
				
			|||
| 
		 After Width: | Height: | Size: 178 KiB  | 
@ -0,0 +1,18 @@ | 
				
			|||
import unittest | 
				
			|||
from towhee import pipeline | 
				
			|||
from PIL import Image | 
				
			|||
 | 
				
			|||
 | 
				
			|||
class TestImageEmbeddingResnet50(unittest.TestCase): | 
				
			|||
    test_img = './test_data/test.jpg' | 
				
			|||
    test_img = Image.open(test_img) | 
				
			|||
 | 
				
			|||
    def test_image_embedding_resnet50(self): | 
				
			|||
        self.dimension = 1000 | 
				
			|||
        embedding_pipeline = pipeline('towhee/image-embedding-resnet50') | 
				
			|||
        embedding = embedding_pipeline(self.test_img) | 
				
			|||
        assert (1, self.dimension) == op(img_tensor)[0].shape | 
				
			|||
 | 
				
			|||
 | 
				
			|||
if __name__ == '__main__': | 
				
			|||
    unittest.main() | 
				
			|||
					Loading…
					
					
				
		Reference in new issue