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
	
	