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
	
	