From 65baf3b56c781bc112b7b5e218f20a97aabd650b Mon Sep 17 00:00:00 2001 From: zhouchengrong Date: Tue, 19 Mar 2024 16:55:59 +0800 Subject: [PATCH 01/26] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20git=E5=BF=BD?= =?UTF-8?q?=E7=95=A5=E6=96=87=E4=BB=B6=E9=85=8D=E7=BD=AE,=20triton?= =?UTF-8?q?=E5=9C=B0=E5=9D=80=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + README.md | 3 +-- app/core/config.py | 10 +++++----- logging_env.py | 8 ++++---- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index 1965b2b..e2493c6 100644 --- a/.gitignore +++ b/.gitignore @@ -129,5 +129,6 @@ uwsgi .conf app/logs +app/logs/* *.log *.jpg \ No newline at end of file diff --git a/README.md b/README.md index 3039a7d..ec77e43 100644 --- a/README.md +++ b/README.md @@ -16,8 +16,7 @@ 1. 安装依赖 - $ conda create -n trinity_client_mixi python=3.9 - $ conda create -n trinity_client_mixi -y + $ conda create -n trinity_client_mixi python=3.9 -y $ conda activate trinity_client_mixi $ pip install -r requirements.txt $ conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia -y diff --git a/app/core/config.py b/app/core/config.py index 3d7126d..c11b0ed 100644 --- a/app/core/config.py +++ b/app/core/config.py @@ -27,11 +27,11 @@ MINIO_SECURE = False MINIO_ACCESS = "e8zc55mzDOh4IzRrZ9Oa" MINIO_SECRET = "uHfqJ7UkwA1PTDGfnA44Hp9ux5YkZTkzZLjeOYhE" -OM_TRITON_IP = "10.1.1.150" -OM_TRITON_PORT = "7000" +OM_TRITON_IP = "10.1.1.240" +OM_TRITON_PORT = "10010" -ATT_TRITON_IP = "10.1.1.150" -ATT_TRITON_PORT = "6000" +ATT_TRITON_IP = "10.1.1.240" +ATT_TRITON_PORT = "10020" # service env # LOGSPATH = "logs/errors.log" @@ -39,6 +39,6 @@ ATT_TRITON_PORT = "6000" # FASHION_CATEGORIES_MAPPING = "app/service/outfit_matcher/config/fashion_category_mapping.json" # pycharm debug -LOGSPATH = "logs/errors.log" +LOGS_PATH = "logs/errors.log" FASHION_CATEGORIES = "service/outfit_matcher/config/fashion_categories.json" FASHION_CATEGORIES_MAPPING = "service/outfit_matcher/config/fashion_category_mapping.json" diff --git a/logging_env.py b/logging_env.py index 0eb0fd6..ce4e9da 100644 --- a/logging_env.py +++ b/logging_env.py @@ -1,4 +1,4 @@ -from app.core.config import LOGSPATH +from app.core.config import LOGS_PATH LOGGER_CONFIG_DICT = { "version": 1, @@ -17,7 +17,7 @@ LOGGER_CONFIG_DICT = { "class": "logging.handlers.RotatingFileHandler", "level": "INFO", "formatter": "simple", - "filename": LOGSPATH, + "filename": LOGS_PATH, "maxBytes": 10485760, "backupCount": 50, "encoding": "utf8", @@ -26,7 +26,7 @@ LOGGER_CONFIG_DICT = { "class": "logging.handlers.RotatingFileHandler", "level": "ERROR", "formatter": "simple", - "filename": LOGSPATH, + "filename": LOGS_PATH, "maxBytes": 10485760, "backupCount": 20, "encoding": "utf8", @@ -35,7 +35,7 @@ LOGGER_CONFIG_DICT = { "class": "logging.handlers.RotatingFileHandler", "level": "DEBUG", "formatter": "simple", - "filename": LOGSPATH, + "filename": LOGS_PATH, "maxBytes": 10485760, "backupCount": 50, "encoding": "utf8", From a92b08023f4835aff082357c431ed9c365237042 Mon Sep 17 00:00:00 2001 From: zhouchengrong Date: Tue, 19 Mar 2024 16:58:21 +0800 Subject: [PATCH 02/26] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20git=E5=BF=BD?= =?UTF-8?q?=E7=95=A5=E6=96=87=E4=BB=B6=E9=85=8D=E7=BD=AE,=20triton?= =?UTF-8?q?=E5=9C=B0=E5=9D=80=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/core/config.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/app/core/config.py b/app/core/config.py index c11b0ed..6cd6b32 100644 --- a/app/core/config.py +++ b/app/core/config.py @@ -34,11 +34,11 @@ ATT_TRITON_IP = "10.1.1.240" ATT_TRITON_PORT = "10020" # service env -# LOGSPATH = "logs/errors.log" -# FASHION_CATEGORIES = "app/service/outfit_matcher/config/fashion_categories.json" -# FASHION_CATEGORIES_MAPPING = "app/service/outfit_matcher/config/fashion_category_mapping.json" +LOGSPATH = "app/logs/errors.log" +FASHION_CATEGORIES = "app/service/outfit_matcher/config/fashion_categories.json" +FASHION_CATEGORIES_MAPPING = "app/service/outfit_matcher/config/fashion_category_mapping.json" # pycharm debug -LOGS_PATH = "logs/errors.log" -FASHION_CATEGORIES = "service/outfit_matcher/config/fashion_categories.json" -FASHION_CATEGORIES_MAPPING = "service/outfit_matcher/config/fashion_category_mapping.json" +# LOGS_PATH = "logs/errors.log" +# FASHION_CATEGORIES = "service/outfit_matcher/config/fashion_categories.json" +# FASHION_CATEGORIES_MAPPING = "service/outfit_matcher/config/fashion_category_mapping.json" From 5c821bf4f8c2539c643319568a68efa9a86d4d2d Mon Sep 17 00:00:00 2001 From: zhouchengrong Date: Tue, 19 Mar 2024 16:59:30 +0800 Subject: [PATCH 03/26] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20git=E5=BF=BD?= =?UTF-8?q?=E7=95=A5=E6=96=87=E4=BB=B6=E9=85=8D=E7=BD=AE,=20triton?= =?UTF-8?q?=E5=9C=B0=E5=9D=80=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/core/config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/core/config.py b/app/core/config.py index 6cd6b32..9da3511 100644 --- a/app/core/config.py +++ b/app/core/config.py @@ -34,7 +34,7 @@ ATT_TRITON_IP = "10.1.1.240" ATT_TRITON_PORT = "10020" # service env -LOGSPATH = "app/logs/errors.log" +LOGSPATH = "logs/errors.log" FASHION_CATEGORIES = "app/service/outfit_matcher/config/fashion_categories.json" FASHION_CATEGORIES_MAPPING = "app/service/outfit_matcher/config/fashion_category_mapping.json" From 2dd85cb3abdaf0d2bbe9ef06af089c8be7473212 Mon Sep 17 00:00:00 2001 From: zhouchengrong Date: Tue, 19 Mar 2024 17:00:24 +0800 Subject: [PATCH 04/26] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20git=E5=BF=BD?= =?UTF-8?q?=E7=95=A5=E6=96=87=E4=BB=B6=E9=85=8D=E7=BD=AE,=20triton?= =?UTF-8?q?=E5=9C=B0=E5=9D=80=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/core/config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/core/config.py b/app/core/config.py index 9da3511..6e50225 100644 --- a/app/core/config.py +++ b/app/core/config.py @@ -34,7 +34,7 @@ ATT_TRITON_IP = "10.1.1.240" ATT_TRITON_PORT = "10020" # service env -LOGSPATH = "logs/errors.log" +LOGS_PATH = "logs/errors.log" FASHION_CATEGORIES = "app/service/outfit_matcher/config/fashion_categories.json" FASHION_CATEGORIES_MAPPING = "app/service/outfit_matcher/config/fashion_category_mapping.json" From 372727d790ea0293a25bbf787dc758a7b1fd9bfe Mon Sep 17 00:00:00 2001 From: zhouchengrong Date: Tue, 19 Mar 2024 17:01:11 +0800 Subject: [PATCH 05/26] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20git=E5=BF=BD?= =?UTF-8?q?=E7=95=A5=E6=96=87=E4=BB=B6=E9=85=8D=E7=BD=AE,=20triton?= =?UTF-8?q?=E5=9C=B0=E5=9D=80=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/core/config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/core/config.py b/app/core/config.py index 6e50225..430e997 100644 --- a/app/core/config.py +++ b/app/core/config.py @@ -34,7 +34,7 @@ ATT_TRITON_IP = "10.1.1.240" ATT_TRITON_PORT = "10020" # service env -LOGS_PATH = "logs/errors.log" +LOGS_PATH = "app/logs/errors.log" FASHION_CATEGORIES = "app/service/outfit_matcher/config/fashion_categories.json" FASHION_CATEGORIES_MAPPING = "app/service/outfit_matcher/config/fashion_category_mapping.json" From 04d1194dc61acd30211e310126d2fc78a0c4c66f Mon Sep 17 00:00:00 2001 From: zhouchengrong Date: Tue, 19 Mar 2024 17:02:54 +0800 Subject: [PATCH 06/26] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20git=E5=BF=BD?= =?UTF-8?q?=E7=95=A5=E6=96=87=E4=BB=B6=E9=85=8D=E7=BD=AE,=20triton?= =?UTF-8?q?=E5=9C=B0=E5=9D=80=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/service/attribute_recognition/const.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/service/attribute_recognition/const.py b/app/service/attribute_recognition/const.py index 2fbd8c9..fab4fd0 100644 --- a/app/service/attribute_recognition/const.py +++ b/app/service/attribute_recognition/const.py @@ -135,5 +135,5 @@ dress_model_list = ['dress_length', 'dress_type' ] -category_discription = 'service/attribute_recognition/discriptor/category/category_dis.csv' +category_discription = 'app/service/attribute_recognition/discriptor/category/category_dis.csv' category_model = 'category' From c536e1ad3655ee539f6fb0618c45f9f52879226b Mon Sep 17 00:00:00 2001 From: zhouchengrong Date: Tue, 19 Mar 2024 17:04:41 +0800 Subject: [PATCH 07/26] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20git=E5=BF=BD?= =?UTF-8?q?=E7=95=A5=E6=96=87=E4=BB=B6=E9=85=8D=E7=BD=AE,=20triton?= =?UTF-8?q?=E5=9C=B0=E5=9D=80=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/service/attribute_recognition/const.py | 122 ++++++++++----------- 1 file changed, 61 insertions(+), 61 deletions(-) diff --git a/app/service/attribute_recognition/const.py b/app/service/attribute_recognition/const.py index fab4fd0..a8be474 100644 --- a/app/service/attribute_recognition/const.py +++ b/app/service/attribute_recognition/const.py @@ -1,20 +1,20 @@ import torch device = torch.device('cuda') -top_discription_list = ['service/attribute_recognition/discriptor/top/1_top_length.csv', - 'service/attribute_recognition/discriptor/top/2_top_type.csv', - 'service/attribute_recognition/discriptor/top/3_top_Sleeve_length.csv', - 'service/attribute_recognition/discriptor/top/4_top_Sleeve_shape.csv', - 'service/attribute_recognition/discriptor/top/5_top_Sleeve_shoulder.csv', - 'service/attribute_recognition/discriptor/top/6_top_Neckline.csv', - 'service/attribute_recognition/discriptor/top/7_outer_Print.csv', - 'service/attribute_recognition/discriptor/top/8_outer_Material.csv', - # 'service/attribute_recognition/discriptor/top/9_top_Material.csv', - 'service/attribute_recognition/discriptor/top/9_top_Softness.csv', - 'service/attribute_recognition/discriptor/top/10_top_Design.csv', - 'service/attribute_recognition/discriptor/top/11_top_OPType.csv', - 'service/attribute_recognition/discriptor/top/12_top_Silhouette.csv', - 'service/attribute_recognition/discriptor/top/7_top_Collar.csv'] +top_discription_list = ['app/service/attribute_recognition/discriptor/top/1_top_length.csv', + 'app/service/attribute_recognition/discriptor/top/2_top_type.csv', + 'app/service/attribute_recognition/discriptor/top/3_top_Sleeve_length.csv', + 'app/service/attribute_recognition/discriptor/top/4_top_Sleeve_shape.csv', + 'app/service/attribute_recognition/discriptor/top/5_top_Sleeve_shoulder.csv', + 'app/service/attribute_recognition/discriptor/top/6_top_Neckline.csv', + 'app/service/attribute_recognition/discriptor/top/7_outer_Print.csv', + 'app/service/attribute_recognition/discriptor/top/8_outer_Material.csv', + # 'app/service/attribute_recognition/discriptor/top/9_top_Material.csv', + 'app/service/attribute_recognition/discriptor/top/9_top_Softness.csv', + 'app/service/attribute_recognition/discriptor/top/10_top_Design.csv', + 'app/service/attribute_recognition/discriptor/top/11_top_OPType.csv', + 'app/service/attribute_recognition/discriptor/top/12_top_Silhouette.csv', + 'app/service/attribute_recognition/discriptor/top/7_top_Collar.csv'] top_model_list = ['top_length', 'top_type', @@ -32,15 +32,15 @@ top_model_list = ['top_length', ] bottom_discription_list = [ - 'service/attribute_recognition/discriptor/bottom/2_bottom_subtype.csv', - # 'service/attribute_recognition/discriptor/bottom/3_bottom_structure.csv', - 'service/attribute_recognition/discriptor/bottom/3_bottom_length.csv', - 'service/attribute_recognition/discriptor/bottom/7_outer_Print.csv', - 'service/attribute_recognition/discriptor/bottom/8_outer_Material.csv', - 'service/attribute_recognition/discriptor/bottom/5_bottom_Softness.csv', - 'service/attribute_recognition/discriptor/bottom/8_bottom_Silhouette.csv', - 'service/attribute_recognition/discriptor/bottom/7_bottom_OPType.csv', - 'service/attribute_recognition/discriptor/bottom/6_bottom_Design.csv'] + 'app/service/attribute_recognition/discriptor/bottom/2_bottom_subtype.csv', + # 'app/service/attribute_recognition/discriptor/bottom/3_bottom_structure.csv', + 'app/service/attribute_recognition/discriptor/bottom/3_bottom_length.csv', + 'app/service/attribute_recognition/discriptor/bottom/7_outer_Print.csv', + 'app/service/attribute_recognition/discriptor/bottom/8_outer_Material.csv', + 'app/service/attribute_recognition/discriptor/bottom/5_bottom_Softness.csv', + 'app/service/attribute_recognition/discriptor/bottom/8_bottom_Silhouette.csv', + 'app/service/attribute_recognition/discriptor/bottom/7_bottom_OPType.csv', + 'app/service/attribute_recognition/discriptor/bottom/6_bottom_Design.csv'] bottom_model_list = [ 'bottom_sub-Type', @@ -52,19 +52,19 @@ bottom_model_list = [ 'bottom_OPType_B', 'bottom_Design_B'] -outwear_discription_list = ['service/attribute_recognition/discriptor/outwear/1_outer_length.csv', - # 'service/attribute_recognition/discriptor/outwear/2_outer_type.csv', - 'service/attribute_recognition/discriptor/outwear/3_outer_sleeve_length.csv', - 'service/attribute_recognition/discriptor/outwear/4_outer_sleeve_shape.csv', - 'service/attribute_recognition/discriptor/outwear/5_outer_sleeve_shoulder.csv', - 'service/attribute_recognition/discriptor/outwear/6_outer_Collar.csv', - 'service/attribute_recognition/discriptor/outwear/7_outer_Print.csv', - 'service/attribute_recognition/discriptor/outwear/8_outer_Material.csv', - 'service/attribute_recognition/discriptor/outwear/9_outer_Softness.csv', - 'service/attribute_recognition/discriptor/outwear/10_outer_Design.csv', - # 'service/attribute_recognition/discriptor/outwear/11_outer_opening.csv', - 'service/attribute_recognition/discriptor/outwear/12_outer_OPType.csv', - 'service/attribute_recognition/discriptor/outwear/13_outer_Silhouette.csv', ] +outwear_discription_list = ['app/service/attribute_recognition/discriptor/outwear/1_outer_length.csv', + # 'app/service/attribute_recognition/discriptor/outwear/2_outer_type.csv', + 'app/service/attribute_recognition/discriptor/outwear/3_outer_sleeve_length.csv', + 'app/service/attribute_recognition/discriptor/outwear/4_outer_sleeve_shape.csv', + 'app/service/attribute_recognition/discriptor/outwear/5_outer_sleeve_shoulder.csv', + 'app/service/attribute_recognition/discriptor/outwear/6_outer_Collar.csv', + 'app/service/attribute_recognition/discriptor/outwear/7_outer_Print.csv', + 'app/service/attribute_recognition/discriptor/outwear/8_outer_Material.csv', + 'app/service/attribute_recognition/discriptor/outwear/9_outer_Softness.csv', + 'app/service/attribute_recognition/discriptor/outwear/10_outer_Design.csv', + # 'app/service/attribute_recognition/discriptor/outwear/11_outer_opening.csv', + 'app/service/attribute_recognition/discriptor/outwear/12_outer_OPType.csv', + 'app/service/attribute_recognition/discriptor/outwear/13_outer_Silhouette.csv', ] outwear_model_list = ['outwear_outer_length', # 'outwear_2_outer_type', @@ -80,18 +80,18 @@ outwear_model_list = ['outwear_outer_length', 'outwear_outer_optype', 'outwear_outer_silhouette'] -jumpsuit_discription_list = ['service/attribute_recognition/discriptor/jumpsuit/1_jumsuit_length.csv', - 'service/attribute_recognition/discriptor/jumpsuit/2_jumpsuit_Sleeve_length.csv', - 'service/attribute_recognition/discriptor/jumpsuit/3_jumpsuit_Sleeve_shape.csv', - 'service/attribute_recognition/discriptor/jumpsuit/4_jumpsuit_Sleeve_shoulder.csv', - 'service/attribute_recognition/discriptor/jumpsuit/5_jumpsuit_Neckline.csv', - 'service/attribute_recognition/discriptor/jumpsuit/6_jumpsuit_Collar.csv', - 'service/attribute_recognition/discriptor/jumpsuit/7_jumpsuit_Print.csv', - 'service/attribute_recognition/discriptor/jumpsuit/8_jumpsuit_Material.csv', - 'service/attribute_recognition/discriptor/jumpsuit/9_jumpsuit_Softness.csv', - 'service/attribute_recognition/discriptor/jumpsuit/10_jumsuit_design.csv', - 'service/attribute_recognition/discriptor/jumpsuit/11_jumpsuit_OPType.csv', - 'service/attribute_recognition/discriptor/jumpsuit/12_jumpsuit_subtype.csv'] +jumpsuit_discription_list = ['app/service/attribute_recognition/discriptor/jumpsuit/1_jumsuit_length.csv', + 'app/service/attribute_recognition/discriptor/jumpsuit/2_jumpsuit_Sleeve_length.csv', + 'app/service/attribute_recognition/discriptor/jumpsuit/3_jumpsuit_Sleeve_shape.csv', + 'app/service/attribute_recognition/discriptor/jumpsuit/4_jumpsuit_Sleeve_shoulder.csv', + 'app/service/attribute_recognition/discriptor/jumpsuit/5_jumpsuit_Neckline.csv', + 'app/service/attribute_recognition/discriptor/jumpsuit/6_jumpsuit_Collar.csv', + 'app/service/attribute_recognition/discriptor/jumpsuit/7_jumpsuit_Print.csv', + 'app/service/attribute_recognition/discriptor/jumpsuit/8_jumpsuit_Material.csv', + 'app/service/attribute_recognition/discriptor/jumpsuit/9_jumpsuit_Softness.csv', + 'app/service/attribute_recognition/discriptor/jumpsuit/10_jumsuit_design.csv', + 'app/service/attribute_recognition/discriptor/jumpsuit/11_jumpsuit_OPType.csv', + 'app/service/attribute_recognition/discriptor/jumpsuit/12_jumpsuit_subtype.csv'] jumpsuit_model_list = ['jumpsuit_length', 'jumpsuit_sleeve_length', @@ -106,19 +106,19 @@ jumpsuit_model_list = ['jumpsuit_length', 'jumpsuit_optype', 'jumpsuit_subtype'] -dress_discription_list = ['service/attribute_recognition/discriptor/dress/1_dress_length.csv', - 'service/attribute_recognition/discriptor/dress/3_top_Sleeve_length.csv', - 'service/attribute_recognition/discriptor/dress/4_top_Sleeve_shape.csv', - 'service/attribute_recognition/discriptor/dress/5_top_Sleeve_shoulder.csv', - 'service/attribute_recognition/discriptor/dress/ori5_dress_Neckline.csv', - 'service/attribute_recognition/discriptor/dress/7_outer_Print.csv', - 'service/attribute_recognition/discriptor/dress/7_top_Collar.csv', - 'service/attribute_recognition/discriptor/dress/8_outer_Material.csv', - 'service/attribute_recognition/discriptor/dress/9_dress_Design.csv', - 'service/attribute_recognition/discriptor/dress/9_top_Softness.csv', - 'service/attribute_recognition/discriptor/dress/11_dress_Silhouette.csv', - # 'service/attribute_recognition/discriptor/dress/11_top_OPType.csv', - 'service/attribute_recognition/discriptor/dress/12_dress_type.csv'] +dress_discription_list = ['app/service/attribute_recognition/discriptor/dress/1_dress_length.csv', + 'app/service/attribute_recognition/discriptor/dress/3_top_Sleeve_length.csv', + 'app/service/attribute_recognition/discriptor/dress/4_top_Sleeve_shape.csv', + 'app/service/attribute_recognition/discriptor/dress/5_top_Sleeve_shoulder.csv', + 'app/service/attribute_recognition/discriptor/dress/ori5_dress_Neckline.csv', + 'app/service/attribute_recognition/discriptor/dress/7_outer_Print.csv', + 'app/service/attribute_recognition/discriptor/dress/7_top_Collar.csv', + 'app/service/attribute_recognition/discriptor/dress/8_outer_Material.csv', + 'app/service/attribute_recognition/discriptor/dress/9_dress_Design.csv', + 'app/service/attribute_recognition/discriptor/dress/9_top_Softness.csv', + 'app/service/attribute_recognition/discriptor/dress/11_dress_Silhouette.csv', + # 'app/service/attribute_recognition/discriptor/dress/11_top_OPType.csv', + 'app/service/attribute_recognition/discriptor/dress/12_dress_type.csv'] dress_model_list = ['dress_length', 'dress_sleeve_length', From 7dce70027a43149f30740dc431bebdd9ca2cce46 Mon Sep 17 00:00:00 2001 From: zhouchengrong Date: Wed, 20 Mar 2024 17:21:59 +0800 Subject: [PATCH 08/26] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20dataset=20outerwear?= =?UTF-8?q?=E5=87=BA=E7=8E=B0=E7=9A=84key=20error=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/service/outfit_matcher/dataset.py | 12 ++++++------ .../test_param/recommendation_test_zcr.json | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/app/service/outfit_matcher/dataset.py b/app/service/outfit_matcher/dataset.py index a363c00..6e11983 100644 --- a/app/service/outfit_matcher/dataset.py +++ b/app/service/outfit_matcher/dataset.py @@ -80,12 +80,12 @@ class FashionDataset(object): used_items.add(item["item_name"]) outfit = [query_item, item] outfit_list.append(tuple(outfit)) - - # 20% chance to include an outerwear - if self.cate2num['outerwear'] > 0 and random.random() < 0.2: - outerwear = random.choice(self.cate2item['outerwear']) - outfit.append(outerwear) - outfit_list.append(tuple(outfit)) + if "outerwear" in self.cate2item.keys(): + # 20% chance to include an outerwear + if self.cate2num['outerwear'] > 0 and random.random() < 0.2: + outerwear = random.choice(self.cate2item['outerwear']) + outfit.append(outerwear) + outfit_list.append(tuple(outfit)) if len(outfit_list) < topk: raise ValueError(f"Cannot generate more than {topk} outfits!") diff --git a/app/service/outfit_matcher/test_param/recommendation_test_zcr.json b/app/service/outfit_matcher/test_param/recommendation_test_zcr.json index 616dfc7..8a29976 100644 --- a/app/service/outfit_matcher/test_param/recommendation_test_zcr.json +++ b/app/service/outfit_matcher/test_param/recommendation_test_zcr.json @@ -1,6 +1,6 @@ { - "topk": 5, - "max_outfits": 100, + "topk": 1, + "max_outfits": 10, "is_best": true, "query": [ { From 803e4294f4b8bea8e9808bca8ff1c8092144903d Mon Sep 17 00:00:00 2001 From: zhouchengrong Date: Fri, 22 Mar 2024 13:56:58 +0800 Subject: [PATCH 09/26] =?UTF-8?q?attribute=20=E6=A8=A1=E5=9E=8B=E5=90=8D?= =?UTF-8?q?=E7=A7=B0=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/service/attribute_recognition/const.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/service/attribute_recognition/const.py b/app/service/attribute_recognition/const.py index a8be474..dc17294 100644 --- a/app/service/attribute_recognition/const.py +++ b/app/service/attribute_recognition/const.py @@ -50,7 +50,7 @@ bottom_model_list = [ 'bottom_Softness_B', 'bottom_Silhouette_B', 'bottom_OPType_B', - 'bottom_Design_B'] + 'bottom_design'] outwear_discription_list = ['app/service/attribute_recognition/discriptor/outwear/1_outer_length.csv', # 'app/service/attribute_recognition/discriptor/outwear/2_outer_type.csv', From 70db9f721ff70228e8b06f15d613bb11c855403c Mon Sep 17 00:00:00 2001 From: zhouchengrong Date: Mon, 25 Mar 2024 17:14:18 +0800 Subject: [PATCH 10/26] =?UTF-8?q?attribute=20=E6=A8=A1=E5=9E=8B=E5=90=8D?= =?UTF-8?q?=E7=A7=B0=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/core/config.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/core/config.py b/app/core/config.py index 430e997..1d75390 100644 --- a/app/core/config.py +++ b/app/core/config.py @@ -27,8 +27,8 @@ MINIO_SECURE = False MINIO_ACCESS = "e8zc55mzDOh4IzRrZ9Oa" MINIO_SECRET = "uHfqJ7UkwA1PTDGfnA44Hp9ux5YkZTkzZLjeOYhE" -OM_TRITON_IP = "10.1.1.240" -OM_TRITON_PORT = "10010" +OM_TRITON_IP = "10.1.1.150" +OM_TRITON_PORT = "9000" ATT_TRITON_IP = "10.1.1.240" ATT_TRITON_PORT = "10020" From 88c815dd9dc6c82daa989bdc24fec3cf565cecf7 Mon Sep 17 00:00:00 2001 From: zchen Date: Tue, 26 Mar 2024 18:00:35 +0800 Subject: [PATCH 11/26] =?UTF-8?q?=E5=85=B3=E4=BA=8E=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=E7=89=B9=E5=BE=81=E7=9A=84=E4=B8=80=E4=BA=9B=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 +- app/api/api_outfit_matcher.py | 4 +- app/api/api_simiar_match.py | 16 ++ app/core/config.py | 15 +- app/logs/errors.log | 140 ++++++++++++++++++ app/schemas/similar_match.py | 5 + .../outfit_matcher/outfit_evaluator.py | 7 +- app/service/outfit_matcher/service.py | 9 +- app/service/similar_match/__init__.py | 0 app/service/similar_match/service.py | 102 +++++++++++++ requirements.txt | Bin 694 -> 1106 bytes .../1.create databases.py | 5 + .../2.create collection.py | 23 +++ test/outfit_matcher_milvus/3.create index.py | 23 +++ .../4.load clollection.py | 10 ++ test/outfit_matcher_milvus/5.similar match.py | 27 ++++ 16 files changed, 378 insertions(+), 10 deletions(-) create mode 100644 app/api/api_simiar_match.py create mode 100644 app/schemas/similar_match.py create mode 100644 app/service/similar_match/__init__.py create mode 100644 app/service/similar_match/service.py create mode 100644 test/outfit_matcher_milvus/1.create databases.py create mode 100644 test/outfit_matcher_milvus/2.create collection.py create mode 100644 test/outfit_matcher_milvus/3.create index.py create mode 100644 test/outfit_matcher_milvus/4.load clollection.py create mode 100644 test/outfit_matcher_milvus/5.similar match.py diff --git a/.gitignore b/.gitignore index e2493c6..12821b0 100644 --- a/.gitignore +++ b/.gitignore @@ -119,7 +119,7 @@ dmypy.json .test #runtime produce -test +#test logs seg_result/ seg_result diff --git a/app/api/api_outfit_matcher.py b/app/api/api_outfit_matcher.py index be507cb..ce9cbf9 100644 --- a/app/api/api_outfit_matcher.py +++ b/app/api/api_outfit_matcher.py @@ -27,7 +27,9 @@ def outfit_matcher(request_item: OutfitMatcher): start_time = time.time() for item in request_item['query']: outfits = fashion_dataset.generate_outfit(item, request_item["topk"], request_item["max_outfits"]) - scores = service.get_result(outfits) + scores, features = service.get_result(outfits) + # save features in databases + if request_item['is_best']: best_outfits, best_scores = service.visualize(outfits, scores, request_item["topk"], best=True, # output_path=os.path.join(r"E:\workspace\outfit_matcher\2024 SS Outfit", f"{item['item_name']}_best_{param['topk']}.png") diff --git a/app/api/api_simiar_match.py b/app/api/api_simiar_match.py new file mode 100644 index 0000000..dc67b2a --- /dev/null +++ b/app/api/api_simiar_match.py @@ -0,0 +1,16 @@ +import logging +import time + +from fastapi import APIRouter +from app.schemas.outfit_matcher import SimilarMatchMItem +from app.service.utils.decorator import RunTime + +logger = logging.getLogger() +router = APIRouter() + + +@RunTime +@router.post("similar_match") +def similar_match(request_item: SimilarMatchMItem): + + pass diff --git a/app/core/config.py b/app/core/config.py index 430e997..5b1ef5a 100644 --- a/app/core/config.py +++ b/app/core/config.py @@ -27,18 +27,23 @@ MINIO_SECURE = False MINIO_ACCESS = "e8zc55mzDOh4IzRrZ9Oa" MINIO_SECRET = "uHfqJ7UkwA1PTDGfnA44Hp9ux5YkZTkzZLjeOYhE" -OM_TRITON_IP = "10.1.1.240" -OM_TRITON_PORT = "10010" +OM_TRITON_IP = "10.1.1.150" +OM_TRITON_PORT = "9000" ATT_TRITON_IP = "10.1.1.240" ATT_TRITON_PORT = "10020" # service env -LOGS_PATH = "app/logs/errors.log" -FASHION_CATEGORIES = "app/service/outfit_matcher/config/fashion_categories.json" -FASHION_CATEGORIES_MAPPING = "app/service/outfit_matcher/config/fashion_category_mapping.json" +# LOGS_PATH = "app/logs/errors.log" +# FASHION_CATEGORIES = "app/service/outfit_matcher/config/fashion_categories.json" +# FASHION_CATEGORIES_MAPPING = "app/service/outfit_matcher/config/fashion_category_mapping.json" # pycharm debug # LOGS_PATH = "logs/errors.log" # FASHION_CATEGORIES = "service/outfit_matcher/config/fashion_categories.json" # FASHION_CATEGORIES_MAPPING = "service/outfit_matcher/config/fashion_category_mapping.json" + + +LOGS_PATH = "app/logs/errors.log" +FASHION_CATEGORIES = "./config/fashion_categories.json" +FASHION_CATEGORIES_MAPPING = "./config/fashion_category_mapping.json" \ No newline at end of file diff --git a/app/logs/errors.log b/app/logs/errors.log index e69de29..3619c22 100644 --- a/app/logs/errors.log +++ b/app/logs/errors.log @@ -0,0 +1,140 @@ +2024-03-21 13:51:37,818 decorator.py [line:11] INFO function:【load_image】,runtime:【1.2232704162597656】s +2024-03-21 13:51:37,818 decorator.py [line:11] INFO function:【load_image】,runtime:【1.2232704162597656】s +2024-03-21 13:51:38,052 decorator.py [line:11] INFO function:【load_image】,runtime:【0.19752931594848633】s +2024-03-21 13:51:38,052 decorator.py [line:11] INFO function:【load_image】,runtime:【0.19752931594848633】s +2024-03-21 13:51:38,385 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3032798767089844】s +2024-03-21 13:51:38,385 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3032798767089844】s +2024-03-21 13:51:38,721 decorator.py [line:11] INFO function:【load_image】,runtime:【0.30768489837646484】s +2024-03-21 13:51:38,721 decorator.py [line:11] INFO function:【load_image】,runtime:【0.30768489837646484】s +2024-03-21 13:51:39,043 decorator.py [line:11] INFO function:【load_image】,runtime:【0.29396677017211914】s +2024-03-21 13:51:39,043 decorator.py [line:11] INFO function:【load_image】,runtime:【0.29396677017211914】s +2024-03-21 13:51:39,470 decorator.py [line:11] INFO function:【load_image】,runtime:【0.39403533935546875】s +2024-03-21 13:51:39,470 decorator.py [line:11] INFO function:【load_image】,runtime:【0.39403533935546875】s +2024-03-21 13:51:39,888 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3915884494781494】s +2024-03-21 13:51:39,888 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3915884494781494】s +2024-03-21 13:51:40,318 decorator.py [line:11] INFO function:【load_image】,runtime:【0.40258264541625977】s +2024-03-21 13:51:40,318 decorator.py [line:11] INFO function:【load_image】,runtime:【0.40258264541625977】s +2024-03-21 13:51:40,737 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3909275531768799】s +2024-03-21 13:51:40,737 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3909275531768799】s +2024-03-21 13:51:40,948 decorator.py [line:11] INFO function:【load_image】,runtime:【0.1841294765472412】s +2024-03-21 13:51:40,948 decorator.py [line:11] INFO function:【load_image】,runtime:【0.1841294765472412】s +2024-03-21 13:51:41,379 decorator.py [line:11] INFO function:【load_image】,runtime:【0.40169310569763184】s +2024-03-21 13:51:41,379 decorator.py [line:11] INFO function:【load_image】,runtime:【0.40169310569763184】s +2024-03-21 13:51:41,708 decorator.py [line:11] INFO function:【load_image】,runtime:【0.29892587661743164】s +2024-03-21 13:51:41,708 decorator.py [line:11] INFO function:【load_image】,runtime:【0.29892587661743164】s +2024-03-21 13:51:42,124 decorator.py [line:11] INFO function:【load_image】,runtime:【0.38617706298828125】s +2024-03-21 13:51:42,124 decorator.py [line:11] INFO function:【load_image】,runtime:【0.38617706298828125】s +2024-03-21 13:51:42,430 decorator.py [line:11] INFO function:【load_image】,runtime:【0.27953577041625977】s +2024-03-21 13:51:42,430 decorator.py [line:11] INFO function:【load_image】,runtime:【0.27953577041625977】s +2024-03-21 13:51:42,953 decorator.py [line:11] INFO function:【load_image】,runtime:【0.49825477600097656】s +2024-03-21 13:51:42,953 decorator.py [line:11] INFO function:【load_image】,runtime:【0.49825477600097656】s +2024-03-21 13:51:43,492 decorator.py [line:11] INFO function:【load_image】,runtime:【0.5133931636810303】s +2024-03-21 13:51:43,492 decorator.py [line:11] INFO function:【load_image】,runtime:【0.5133931636810303】s +2024-03-21 13:51:43,923 decorator.py [line:11] INFO function:【load_image】,runtime:【0.40549373626708984】s +2024-03-21 13:51:43,923 decorator.py [line:11] INFO function:【load_image】,runtime:【0.40549373626708984】s +2024-03-21 13:51:44,233 decorator.py [line:11] INFO function:【load_image】,runtime:【0.27601003646850586】s +2024-03-21 13:51:44,233 decorator.py [line:11] INFO function:【load_image】,runtime:【0.27601003646850586】s +2024-03-21 13:51:44,662 decorator.py [line:11] INFO function:【load_image】,runtime:【0.4001624584197998】s +2024-03-21 13:51:44,662 decorator.py [line:11] INFO function:【load_image】,runtime:【0.4001624584197998】s +2024-03-21 13:51:44,980 decorator.py [line:11] INFO function:【load_image】,runtime:【0.2901315689086914】s +2024-03-21 13:51:44,980 decorator.py [line:11] INFO function:【load_image】,runtime:【0.2901315689086914】s +2024-03-21 13:51:45,403 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3971738815307617】s +2024-03-21 13:51:45,403 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3971738815307617】s +2024-03-21 13:51:45,713 decorator.py [line:11] INFO function:【load_image】,runtime:【0.2824699878692627】s +2024-03-21 13:51:45,713 decorator.py [line:11] INFO function:【load_image】,runtime:【0.2824699878692627】s +2024-03-21 13:51:46,136 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3949100971221924】s +2024-03-21 13:51:46,136 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3949100971221924】s +2024-03-21 13:51:46,439 decorator.py [line:11] INFO function:【load_image】,runtime:【0.2752203941345215】s +2024-03-21 13:51:46,439 decorator.py [line:11] INFO function:【load_image】,runtime:【0.2752203941345215】s +2024-03-21 13:51:46,863 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3972630500793457】s +2024-03-21 13:51:46,863 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3972630500793457】s +2024-03-21 13:51:47,175 decorator.py [line:11] INFO function:【load_image】,runtime:【0.2835068702697754】s +2024-03-21 13:51:47,175 decorator.py [line:11] INFO function:【load_image】,runtime:【0.2835068702697754】s +2024-03-21 13:51:47,604 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3998706340789795】s +2024-03-21 13:51:47,604 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3998706340789795】s +2024-03-21 13:51:48,026 decorator.py [line:11] INFO function:【load_image】,runtime:【0.39388179779052734】s +2024-03-21 13:51:48,026 decorator.py [line:11] INFO function:【load_image】,runtime:【0.39388179779052734】s +2024-03-21 13:51:48,453 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3989236354827881】s +2024-03-21 13:51:48,453 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3989236354827881】s +2024-03-21 13:51:49,100 decorator.py [line:11] INFO function:【load_image】,runtime:【0.6190431118011475】s +2024-03-21 13:51:49,100 decorator.py [line:11] INFO function:【load_image】,runtime:【0.6190431118011475】s +2024-03-21 13:51:49,631 decorator.py [line:11] INFO function:【load_image】,runtime:【0.501615047454834】s +2024-03-21 13:51:49,631 decorator.py [line:11] INFO function:【load_image】,runtime:【0.501615047454834】s +2024-03-21 13:51:50,279 decorator.py [line:11] INFO function:【load_image】,runtime:【0.6200711727142334】s +2024-03-21 13:51:50,279 decorator.py [line:11] INFO function:【load_image】,runtime:【0.6200711727142334】s +2024-03-21 13:51:50,804 decorator.py [line:11] INFO function:【load_image】,runtime:【0.49776339530944824】s +2024-03-21 13:51:50,804 decorator.py [line:11] INFO function:【load_image】,runtime:【0.49776339530944824】s +2024-03-21 13:51:51,341 decorator.py [line:11] INFO function:【load_image】,runtime:【0.5108270645141602】s +2024-03-21 13:51:51,341 decorator.py [line:11] INFO function:【load_image】,runtime:【0.5108270645141602】s +2024-03-21 13:51:51,867 decorator.py [line:11] INFO function:【load_image】,runtime:【0.49677276611328125】s +2024-03-21 13:51:51,867 decorator.py [line:11] INFO function:【load_image】,runtime:【0.49677276611328125】s +2024-03-21 13:51:52,289 decorator.py [line:11] INFO function:【load_image】,runtime:【0.39499711990356445】s +2024-03-21 13:51:52,289 decorator.py [line:11] INFO function:【load_image】,runtime:【0.39499711990356445】s +2024-03-21 13:51:52,815 decorator.py [line:11] INFO function:【load_image】,runtime:【0.49742674827575684】s +2024-03-21 13:51:52,815 decorator.py [line:11] INFO function:【load_image】,runtime:【0.49742674827575684】s +2024-03-21 13:51:53,226 decorator.py [line:11] INFO function:【load_image】,runtime:【0.383328914642334】s +2024-03-21 13:51:53,226 decorator.py [line:11] INFO function:【load_image】,runtime:【0.383328914642334】s +2024-03-21 13:51:53,751 decorator.py [line:11] INFO function:【load_image】,runtime:【0.4970104694366455】s +2024-03-21 13:51:53,751 decorator.py [line:11] INFO function:【load_image】,runtime:【0.4970104694366455】s +2024-03-21 13:51:54,166 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3887917995452881】s +2024-03-21 13:51:54,166 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3887917995452881】s +2024-03-21 13:51:54,693 decorator.py [line:11] INFO function:【load_image】,runtime:【0.49755120277404785】s +2024-03-21 13:51:54,693 decorator.py [line:11] INFO function:【load_image】,runtime:【0.49755120277404785】s +2024-03-21 13:51:55,109 decorator.py [line:11] INFO function:【load_image】,runtime:【0.38889598846435547】s +2024-03-21 13:51:55,109 decorator.py [line:11] INFO function:【load_image】,runtime:【0.38889598846435547】s +2024-03-21 13:51:55,636 decorator.py [line:11] INFO function:【load_image】,runtime:【0.49726033210754395】s +2024-03-21 13:51:55,636 decorator.py [line:11] INFO function:【load_image】,runtime:【0.49726033210754395】s +2024-03-21 13:51:56,062 decorator.py [line:11] INFO function:【load_image】,runtime:【0.39782261848449707】s +2024-03-21 13:51:56,062 decorator.py [line:11] INFO function:【load_image】,runtime:【0.39782261848449707】s +2024-03-21 13:51:56,603 decorator.py [line:11] INFO function:【load_image】,runtime:【0.5127170085906982】s +2024-03-21 13:51:56,603 decorator.py [line:11] INFO function:【load_image】,runtime:【0.5127170085906982】s +2024-03-21 13:51:57,135 decorator.py [line:11] INFO function:【load_image】,runtime:【0.4967665672302246】s +2024-03-21 13:51:57,135 decorator.py [line:11] INFO function:【load_image】,runtime:【0.4967665672302246】s +2024-03-21 13:51:57,770 decorator.py [line:11] INFO function:【load_image】,runtime:【0.6081705093383789】s +2024-03-21 13:51:57,770 decorator.py [line:11] INFO function:【load_image】,runtime:【0.6081705093383789】s +2024-03-21 13:51:58,190 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3914616107940674】s +2024-03-21 13:51:58,190 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3914616107940674】s +2024-03-21 13:51:58,827 decorator.py [line:11] INFO function:【load_image】,runtime:【0.61067795753479】s +2024-03-21 13:51:58,827 decorator.py [line:11] INFO function:【load_image】,runtime:【0.61067795753479】s +2024-03-21 13:51:59,338 decorator.py [line:11] INFO function:【load_image】,runtime:【0.4832015037536621】s +2024-03-21 13:51:59,338 decorator.py [line:11] INFO function:【load_image】,runtime:【0.4832015037536621】s +2024-03-21 13:52:00,078 decorator.py [line:11] INFO function:【load_image】,runtime:【0.7159032821655273】s +2024-03-21 13:52:00,078 decorator.py [line:11] INFO function:【load_image】,runtime:【0.7159032821655273】s +2024-03-21 13:52:00,589 decorator.py [line:11] INFO function:【load_image】,runtime:【0.48383021354675293】s +2024-03-21 13:52:00,589 decorator.py [line:11] INFO function:【load_image】,runtime:【0.48383021354675293】s +2024-03-21 13:52:01,326 decorator.py [line:11] INFO function:【load_image】,runtime:【0.7128510475158691】s +2024-03-21 13:52:01,326 decorator.py [line:11] INFO function:【load_image】,runtime:【0.7128510475158691】s +2024-03-21 13:52:01,478 decorator.py [line:11] INFO function:【load_image】,runtime:【0.1243746280670166】s +2024-03-21 13:52:01,478 decorator.py [line:11] INFO function:【load_image】,runtime:【0.1243746280670166】s +2024-03-21 13:52:02,094 decorator.py [line:11] INFO function:【load_image】,runtime:【0.6098945140838623】s +2024-03-21 13:52:02,094 decorator.py [line:11] INFO function:【load_image】,runtime:【0.6098945140838623】s +2024-03-21 13:52:02,716 decorator.py [line:11] INFO function:【load_image】,runtime:【0.5928947925567627】s +2024-03-21 13:52:02,716 decorator.py [line:11] INFO function:【load_image】,runtime:【0.5928947925567627】s +2024-03-21 13:52:03,349 decorator.py [line:11] INFO function:【load_image】,runtime:【0.6093297004699707】s +2024-03-21 13:52:03,349 decorator.py [line:11] INFO function:【load_image】,runtime:【0.6093297004699707】s +2024-03-21 13:52:03,549 decorator.py [line:11] INFO function:【load_image】,runtime:【0.17124557495117188】s +2024-03-21 13:52:03,549 decorator.py [line:11] INFO function:【load_image】,runtime:【0.17124557495117188】s +2024-03-21 13:52:04,188 decorator.py [line:11] INFO function:【load_image】,runtime:【0.6077630519866943】s +2024-03-21 13:52:04,188 decorator.py [line:11] INFO function:【load_image】,runtime:【0.6077630519866943】s +2024-03-21 13:52:04,381 decorator.py [line:11] INFO function:【load_image】,runtime:【0.1649329662322998】s +2024-03-21 13:52:04,381 decorator.py [line:11] INFO function:【load_image】,runtime:【0.1649329662322998】s +2024-03-21 13:52:05,027 decorator.py [line:11] INFO function:【load_image】,runtime:【0.6105599403381348】s +2024-03-21 13:52:05,027 decorator.py [line:11] INFO function:【load_image】,runtime:【0.6105599403381348】s +2024-03-21 13:52:05,423 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3696911334991455】s +2024-03-21 13:52:05,423 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3696911334991455】s +2024-03-21 13:52:06,274 decorator.py [line:11] INFO function:【load_image】,runtime:【0.8220889568328857】s +2024-03-21 13:52:06,274 decorator.py [line:11] INFO function:【load_image】,runtime:【0.8220889568328857】s +2024-03-21 13:52:06,687 decorator.py [line:11] INFO function:【load_image】,runtime:【0.38632655143737793】s +2024-03-21 13:52:06,687 decorator.py [line:11] INFO function:【load_image】,runtime:【0.38632655143737793】s +2024-03-21 13:52:07,436 decorator.py [line:11] INFO function:【load_image】,runtime:【0.7190515995025635】s +2024-03-21 13:52:07,436 decorator.py [line:11] INFO function:【load_image】,runtime:【0.7190515995025635】s +2024-03-21 13:52:07,622 decorator.py [line:11] INFO function:【load_image】,runtime:【0.15749859809875488】s +2024-03-21 13:52:07,622 decorator.py [line:11] INFO function:【load_image】,runtime:【0.15749859809875488】s +2024-03-21 13:52:08,375 decorator.py [line:11] INFO function:【load_image】,runtime:【0.7181243896484375】s +2024-03-21 13:52:08,375 decorator.py [line:11] INFO function:【load_image】,runtime:【0.7181243896484375】s +2024-03-21 13:52:08,782 decorator.py [line:11] INFO function:【load_image】,runtime:【0.37945127487182617】s +2024-03-21 13:52:08,782 decorator.py [line:11] INFO function:【load_image】,runtime:【0.37945127487182617】s +2024-03-21 13:52:09,530 decorator.py [line:11] INFO function:【load_image】,runtime:【0.7160646915435791】s +2024-03-21 13:52:09,530 decorator.py [line:11] INFO function:【load_image】,runtime:【0.7160646915435791】s +2024-03-21 13:52:09,813 decorator.py [line:11] INFO function:【load_image】,runtime:【0.25645899772644043】s +2024-03-21 13:52:09,813 decorator.py [line:11] INFO function:【load_image】,runtime:【0.25645899772644043】s diff --git a/app/schemas/similar_match.py b/app/schemas/similar_match.py new file mode 100644 index 0000000..5deb058 --- /dev/null +++ b/app/schemas/similar_match.py @@ -0,0 +1,5 @@ +from pydantic import BaseModel + + +class SimilarMatchMItem(BaseModel): + image_path: str diff --git a/app/service/outfit_matcher/outfit_evaluator.py b/app/service/outfit_matcher/outfit_evaluator.py index ff8f9af..2404454 100644 --- a/app/service/outfit_matcher/outfit_evaluator.py +++ b/app/service/outfit_matcher/outfit_evaluator.py @@ -327,9 +327,12 @@ class OutfitMaterTypeAware(OutfitMatcher): # 输出集 outputs = [ httpclient.InferRequestedOutput("output__0", binary_data=True), + httpclient.InferRequestedOutput("output__1", binary_data=True) ] results = client.infer(model_name="outfit_matcher_type_aware", inputs=inputs, outputs=outputs) # 推理 # 取结果 - scores = torch.from_numpy(results.as_numpy("output__0")) - return scores # Shape (N, 1) + scores = torch.from_numpy(results.as_numpy("output__0")) # Shape (N, 1) + features = torch.from_numpy(results.as_numpy("output__1")) # Shape (N, 64) + + return scores, features diff --git a/app/service/outfit_matcher/service.py b/app/service/outfit_matcher/service.py index 117075f..59961cb 100644 --- a/app/service/outfit_matcher/service.py +++ b/app/service/outfit_matcher/service.py @@ -14,7 +14,14 @@ if __name__ == '__main__': bad_list = [] for item in param["query"]: outfits = fashion_dataset.generate_outfit(item, param["topk"], param["max_outfits"]) - scores = service.get_result(outfits) + scores, features = service.get_result(outfits) + # save features + + # 链接milvus + + # 存入数据库 + # 关闭链接 + # print(scores) # print(len(scores)) best_outfits, best_scores = service.visualize(outfits, scores, param["topk"], best=True, diff --git a/app/service/similar_match/__init__.py b/app/service/similar_match/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/app/service/similar_match/service.py b/app/service/similar_match/service.py new file mode 100644 index 0000000..dae4af9 --- /dev/null +++ b/app/service/similar_match/service.py @@ -0,0 +1,102 @@ +import io +import json + +import numpy as np +import tritonclient.http as httpclient +from PIL import Image +from minio import Minio +from pymilvus import MilvusClient + +from app.core.config import * +from torchvision import transforms + + +class SimilarMatch: + def __init__(self): + self.minio_client = Minio( + f"{MINIO_IP}:{MINIO_PORT}", + access_key=MINIO_ACCESS, + secret_key=MINIO_SECRET, + secure=MINIO_SECURE) + self.triton_client = httpclient.InferenceServerClient(url=f"{OM_TRITON_IP}:{OM_TRITON_PORT}") + + @staticmethod + def resize_image(img): + """ + Args: + img: ndarray (height, width, channel) + """ + image_transforms = transforms.Compose([ + transforms.Resize(112), + transforms.CenterCrop(112), + transforms.ToTensor(), + transforms.Normalize(mean=[0.485, 0.456, 0.406], + std=[0.229, 0.224, 0.225]), + ]) + resized_img = image_transforms(img).numpy() + return resized_img + + def load_image(self, img_path): + # 从 MinIO 中获取对象(图像文件) + image_data = self.minio_client.get_object(img_path.split("/", 1)[0], img_path.split("/", 1)[1]) + # 读取图像数据并转换为 PIL 图像对象 + pil_image = Image.open(io.BytesIO(image_data.data)).convert("RGB") + # 将 PIL 图像转换为 NumPy 数组 + # image_array = np.array(pil_image) + return pil_image + + def preprocess(self, img_path): + image = self.load_image(img_path) + image = self.resize_image(image) + image = np.stack([[image]], axis=0) + + category = np.stack([[1, 6]], axis=0) + + mask = np.zeros((1, 1), dtype=np.float32) + return image, category, mask + + def get_features(self, img_path): + image, category, mask = self.preprocess(img_path) + # 输入集 + inputs = [ + httpclient.InferInput("input__0", image.shape, datatype="FP32"), + httpclient.InferInput("input__1", category.shape, datatype="INT16"), + httpclient.InferInput("input__2", mask.shape, datatype="FP32"), + ] + inputs[0].set_data_from_numpy(image.astype(np.float32), binary_data=True) + inputs[1].set_data_from_numpy(category.astype(np.int16), binary_data=True) + inputs[2].set_data_from_numpy(mask.astype(np.float32), binary_data=True) + # 输出集 + outputs = [ + httpclient.InferRequestedOutput("output__0", binary_data=True), + httpclient.InferRequestedOutput("output__1", binary_data=True) + ] + results = self.triton_client.infer(model_name="outfit_matcher_type_aware", inputs=inputs, outputs=outputs) + # 推理 + # 取结果 + features = results.as_numpy("output__1") # Shape (N, 64) + return features + + def match_features(self, features): + # 连接milvus + # 连接milvus + client = MilvusClient(uri="http://10.1.1.240:19530", db_name="mixi") + try: + res = client.search( + collection_name="mixi_outfit", # Replace with the actual name of your collection + # Replace with your query vector + data=[features[0]], + limit=5, # Max. number of search results to return + output_fields=["id", "image_path"], # Search parameters + ) + return res + finally: + client.close() + + +if __name__ == '__main__': + service = SimilarMatch() + features = service.get_features(img_path="test/2024 SS/MKTS27000.jpg") + res = service.match_features(features) + + print(json.dumps(res, indent=4)) diff --git a/requirements.txt b/requirements.txt index b7c5889a5b110788668ee7185943134ff83a1d9a..084644b37865819a8afa522ced1c8b5a81855483 100644 GIT binary patch literal 1106 zcmZXTTTjA35QXR2#Q#9TqoGhPf+qeF<3qVgBNT)M^v|o`ne9@7X||TRoO9;v`1`Z7 z($+j%JKGCSZavGa&*|B{-4Wl}!YZ5D$vS+0Td)<;%BzReJ$Y?rle#0=9?al1GmuN~ z5B6$>Grf7I7=|{u@XSCh=$um>oO#3V0Hd@8$C-MkdM2DfT~(r`q(5E=u7eC}hWk)ckR3(IwPoF#6&bx(i@Vu~fVs`2A zz*~-|{=CMIULWyT+*^Ez{zjG2VJW!wzk^;mquV)M^r|B=?#X}Ir*o_b&oB!YQ{TGmatP) zla-EExW{d;EUEslbi>_fOViD1H~Wsi}HobdAhJKB4QV+{MHeIwtY=rx|*FF*dz6Ex8uIa znKV=1vqQ&dIF)U-?V(oIM~AqYy6YQjHc Date: Wed, 27 Mar 2024 13:17:41 +0800 Subject: [PATCH 12/26] =?UTF-8?q?attribute=20=E6=A8=A1=E5=9E=8B=E5=90=8D?= =?UTF-8?q?=E7=A7=B0=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/core/config.py | 16 +- app/logs/errors.log | 358 ++++++++++++++++++ app/schemas/similar_match.py | 1 + .../outfit_matcher/outfit_evaluator.py | 2 +- .../outfit_matcher/test_param/test.json | 19 + app/service/similar_match/service.py | 11 +- app/service/utils/decorator.py | 1 + requirements.txt | Bin 1106 -> 986 bytes test/attribute/infer_test.py | 110 ++++++ test/attribute/model.py | 56 +++ .../attribute_recognition_model_infer.py | 51 +++ test/json/outfit_response.py | 273 +++++++++++++ test/minio_client_test/minio_client.py | 12 + test/outfit_matcher/triton_infer.py | 0 14 files changed, 897 insertions(+), 13 deletions(-) create mode 100644 app/service/outfit_matcher/test_param/test.json create mode 100644 test/attribute/infer_test.py create mode 100644 test/attribute/model.py create mode 100644 test/attribute_recognition_model_infer/attribute_recognition_model_infer.py create mode 100644 test/json/outfit_response.py create mode 100644 test/minio_client_test/minio_client.py create mode 100644 test/outfit_matcher/triton_infer.py diff --git a/app/core/config.py b/app/core/config.py index 5b1ef5a..f4b7583 100644 --- a/app/core/config.py +++ b/app/core/config.py @@ -27,16 +27,16 @@ MINIO_SECURE = False MINIO_ACCESS = "e8zc55mzDOh4IzRrZ9Oa" MINIO_SECRET = "uHfqJ7UkwA1PTDGfnA44Hp9ux5YkZTkzZLjeOYhE" -OM_TRITON_IP = "10.1.1.150" -OM_TRITON_PORT = "9000" +OM_TRITON_IP = "10.1.1.240" +OM_TRITON_PORT = "10010" ATT_TRITON_IP = "10.1.1.240" ATT_TRITON_PORT = "10020" # service env -# LOGS_PATH = "app/logs/errors.log" -# FASHION_CATEGORIES = "app/service/outfit_matcher/config/fashion_categories.json" -# FASHION_CATEGORIES_MAPPING = "app/service/outfit_matcher/config/fashion_category_mapping.json" +LOGS_PATH = "app/logs/errors.log" +FASHION_CATEGORIES = "app/service/outfit_matcher/config/fashion_categories.json" +FASHION_CATEGORIES_MAPPING = "app/service/outfit_matcher/config/fashion_category_mapping.json" # pycharm debug # LOGS_PATH = "logs/errors.log" @@ -44,6 +44,6 @@ ATT_TRITON_PORT = "10020" # FASHION_CATEGORIES_MAPPING = "service/outfit_matcher/config/fashion_category_mapping.json" -LOGS_PATH = "app/logs/errors.log" -FASHION_CATEGORIES = "./config/fashion_categories.json" -FASHION_CATEGORIES_MAPPING = "./config/fashion_category_mapping.json" \ No newline at end of file +# LOGS_PATH = "app/logs/errors.log" +# FASHION_CATEGORIES = "./config/fashion_categories.json" +# FASHION_CATEGORIES_MAPPING = "./config/fashion_category_mapping.json" \ No newline at end of file diff --git a/app/logs/errors.log b/app/logs/errors.log index 3619c22..500d6f5 100644 --- a/app/logs/errors.log +++ b/app/logs/errors.log @@ -1,3 +1,267 @@ +2024-03-25 17:26:03,804 decorator.py [line:11] INFO function:【load_image】,runtime:【0.13544344902038574】s +2024-03-25 17:26:03,804 decorator.py [line:11] INFO function:【load_image】,runtime:【0.13544344902038574】s +2024-03-25 17:26:03,901 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07622218132019043】s +2024-03-25 17:26:03,901 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07622218132019043】s +2024-03-25 17:26:04,003 decorator.py [line:11] INFO function:【load_image】,runtime:【0.085418701171875】s +2024-03-25 17:26:04,003 decorator.py [line:11] INFO function:【load_image】,runtime:【0.085418701171875】s +2024-03-25 17:26:04,112 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09087872505187988】s +2024-03-25 17:26:04,112 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09087872505187988】s +2024-03-25 17:26:04,213 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08513045310974121】s +2024-03-25 17:26:04,213 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08513045310974121】s +2024-03-25 17:26:04,316 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0855398178100586】s +2024-03-25 17:26:04,316 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0855398178100586】s +2024-03-25 17:26:04,416 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0831136703491211】s +2024-03-25 17:26:04,416 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0831136703491211】s +2024-03-25 17:26:04,522 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0894019603729248】s +2024-03-25 17:26:04,522 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0894019603729248】s +2024-03-25 17:26:04,618 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08012795448303223】s +2024-03-25 17:26:04,618 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08012795448303223】s +2024-03-25 17:26:04,696 decorator.py [line:11] INFO function:【load_image】,runtime:【0.061154842376708984】s +2024-03-25 17:26:04,696 decorator.py [line:11] INFO function:【load_image】,runtime:【0.061154842376708984】s +2024-03-25 17:26:04,792 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07929039001464844】s +2024-03-25 17:26:04,792 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07929039001464844】s +2024-03-25 17:26:04,889 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08129501342773438】s +2024-03-25 17:26:04,889 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08129501342773438】s +2024-03-25 17:26:04,990 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08388209342956543】s +2024-03-25 17:26:04,990 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08388209342956543】s +2024-03-25 17:26:05,111 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08608269691467285】s +2024-03-25 17:26:05,111 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08608269691467285】s +2024-03-25 17:26:05,212 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08114194869995117】s +2024-03-25 17:26:05,212 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08114194869995117】s +2024-03-25 17:26:05,321 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0930790901184082】s +2024-03-25 17:26:05,321 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0930790901184082】s +2024-03-25 17:26:05,423 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0852501392364502】s +2024-03-25 17:26:05,423 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0852501392364502】s +2024-03-25 17:26:05,503 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06423807144165039】s +2024-03-25 17:26:05,503 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06423807144165039】s +2024-03-25 17:26:05,601 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08154463768005371】s +2024-03-25 17:26:05,601 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08154463768005371】s +2024-03-25 17:26:05,694 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07657551765441895】s +2024-03-25 17:26:05,694 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07657551765441895】s +2024-03-25 17:26:05,792 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08262014389038086】s +2024-03-25 17:26:05,792 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08262014389038086】s +2024-03-25 17:26:05,888 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07956528663635254】s +2024-03-25 17:26:05,888 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07956528663635254】s +2024-03-25 17:26:05,991 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08670282363891602】s +2024-03-25 17:26:05,991 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08670282363891602】s +2024-03-25 17:26:06,073 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06363368034362793】s +2024-03-25 17:26:06,073 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06363368034362793】s +2024-03-25 17:26:06,167 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07943296432495117】s +2024-03-25 17:26:06,167 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07943296432495117】s +2024-03-25 17:26:06,254 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06969499588012695】s +2024-03-25 17:26:06,254 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06969499588012695】s +2024-03-25 17:26:06,349 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07853293418884277】s +2024-03-25 17:26:06,349 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07853293418884277】s +2024-03-25 17:26:06,442 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07658052444458008】s +2024-03-25 17:26:06,442 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07658052444458008】s +2024-03-25 17:26:06,538 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07888340950012207】s +2024-03-25 17:26:06,538 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07888340950012207】s +2024-03-25 17:26:06,659 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10462403297424316】s +2024-03-25 17:26:06,659 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10462403297424316】s +2024-03-25 17:26:06,755 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07874917984008789】s +2024-03-25 17:26:06,755 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07874917984008789】s +2024-03-25 17:26:06,876 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10162854194641113】s +2024-03-25 17:26:06,876 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10162854194641113】s +2024-03-25 17:26:06,975 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08113813400268555】s +2024-03-25 17:26:06,975 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08113813400268555】s +2024-03-25 17:26:07,083 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09142470359802246】s +2024-03-25 17:26:07,083 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09142470359802246】s +2024-03-25 17:26:07,179 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07859921455383301】s +2024-03-25 17:26:07,179 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07859921455383301】s +2024-03-25 17:26:07,273 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07798337936401367】s +2024-03-25 17:26:07,273 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07798337936401367】s +2024-03-25 17:26:07,370 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07990598678588867】s +2024-03-25 17:26:07,370 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07990598678588867】s +2024-03-25 17:26:07,462 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07477664947509766】s +2024-03-25 17:26:07,462 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07477664947509766】s +2024-03-25 17:26:07,560 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08201026916503906】s +2024-03-25 17:26:07,560 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08201026916503906】s +2024-03-25 17:26:07,652 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07555174827575684】s +2024-03-25 17:26:07,652 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07555174827575684】s +2024-03-25 17:26:07,749 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08008956909179688】s +2024-03-25 17:26:07,749 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08008956909179688】s +2024-03-25 17:26:07,835 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0698552131652832】s +2024-03-25 17:26:07,835 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0698552131652832】s +2024-03-25 17:26:07,931 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07860517501831055】s +2024-03-25 17:26:07,931 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07860517501831055】s +2024-03-25 17:26:08,028 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08061385154724121】s +2024-03-25 17:26:08,028 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08061385154724121】s +2024-03-25 17:26:08,122 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07770252227783203】s +2024-03-25 17:26:08,122 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07770252227783203】s +2024-03-25 17:26:08,217 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0805051326751709】s +2024-03-25 17:26:08,217 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0805051326751709】s +2024-03-25 17:26:08,312 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07836413383483887】s +2024-03-25 17:26:08,312 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07836413383483887】s +2024-03-25 17:26:08,401 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07299423217773438】s +2024-03-25 17:26:08,401 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07299423217773438】s +2024-03-25 17:26:08,494 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07680177688598633】s +2024-03-25 17:26:08,494 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07680177688598633】s +2024-03-25 17:26:08,577 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06699347496032715】s +2024-03-25 17:26:08,577 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06699347496032715】s +2024-03-25 17:26:08,668 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07812905311584473】s +2024-03-25 17:26:08,668 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07812905311584473】s +2024-03-25 17:26:08,752 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06776022911071777】s +2024-03-25 17:26:08,752 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06776022911071777】s +2024-03-25 17:26:08,847 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07918834686279297】s +2024-03-25 17:26:08,847 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07918834686279297】s +2024-03-25 17:26:08,962 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07796883583068848】s +2024-03-25 17:26:08,962 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07796883583068848】s +2024-03-25 17:26:09,058 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07951951026916504】s +2024-03-25 17:26:09,058 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07951951026916504】s +2024-03-25 17:26:09,149 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07912516593933105】s +2024-03-25 17:26:09,149 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07912516593933105】s +2024-03-25 17:26:09,216 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05126023292541504】s +2024-03-25 17:26:09,216 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05126023292541504】s +2024-03-25 17:26:09,314 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07914400100708008】s +2024-03-25 17:26:09,314 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07914400100708008】s +2024-03-25 17:26:09,470 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07927227020263672】s +2024-03-25 17:26:09,470 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07927227020263672】s +2024-03-25 17:26:09,540 decorator.py [line:11] INFO function:【load_image】,runtime:【0.054183244705200195】s +2024-03-25 17:26:09,540 decorator.py [line:11] INFO function:【load_image】,runtime:【0.054183244705200195】s +2024-03-25 17:26:09,635 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07704281806945801】s +2024-03-25 17:26:09,635 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07704281806945801】s +2024-03-25 17:26:09,721 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07037878036499023】s +2024-03-25 17:26:09,721 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07037878036499023】s +2024-03-25 17:26:09,817 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07882356643676758】s +2024-03-25 17:26:09,817 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07882356643676758】s +2024-03-25 17:26:09,976 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08074522018432617】s +2024-03-25 17:26:09,976 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08074522018432617】s +2024-03-25 17:26:10,059 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06736898422241211】s +2024-03-25 17:26:10,059 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06736898422241211】s +2024-03-25 17:26:10,156 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07848167419433594】s +2024-03-25 17:26:10,156 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07848167419433594】s +2024-03-25 17:26:10,231 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05883073806762695】s +2024-03-25 17:26:10,231 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05883073806762695】s +2024-03-25 17:26:23,135 decorator.py [line:11] INFO function:【load_image】,runtime:【0.12710237503051758】s +2024-03-25 17:26:23,135 decorator.py [line:11] INFO function:【load_image】,runtime:【0.12710237503051758】s +2024-03-25 17:26:23,224 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06662631034851074】s +2024-03-25 17:26:23,224 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06662631034851074】s +2024-03-25 17:26:23,324 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08097147941589355】s +2024-03-25 17:26:23,324 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08097147941589355】s +2024-03-25 17:26:23,429 decorator.py [line:11] INFO function:【load_image】,runtime:【0.086273193359375】s +2024-03-25 17:26:23,429 decorator.py [line:11] INFO function:【load_image】,runtime:【0.086273193359375】s +2024-03-25 17:26:23,527 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08147120475769043】s +2024-03-25 17:26:23,527 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08147120475769043】s +2024-03-25 17:26:23,625 decorator.py [line:11] INFO function:【load_image】,runtime:【0.082366943359375】s +2024-03-25 17:26:23,625 decorator.py [line:11] INFO function:【load_image】,runtime:【0.082366943359375】s +2024-03-25 17:26:23,726 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08403301239013672】s +2024-03-25 17:26:23,726 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08403301239013672】s +2024-03-25 17:26:23,828 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08577489852905273】s +2024-03-25 17:26:23,828 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08577489852905273】s +2024-03-25 17:26:23,927 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0817101001739502】s +2024-03-25 17:26:23,927 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0817101001739502】s +2024-03-25 17:26:24,005 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06269955635070801】s +2024-03-25 17:26:24,005 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06269955635070801】s +2024-03-25 17:26:24,117 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09565091133117676】s +2024-03-25 17:26:24,117 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09565091133117676】s +2024-03-25 17:26:24,217 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0811305046081543】s +2024-03-25 17:26:24,217 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0811305046081543】s +2024-03-25 17:26:24,315 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0818324089050293】s +2024-03-25 17:26:24,315 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0818324089050293】s +2024-03-25 17:26:24,399 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0679922103881836】s +2024-03-25 17:26:24,399 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0679922103881836】s +2024-03-25 17:26:24,496 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08090090751647949】s +2024-03-25 17:26:24,496 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08090090751647949】s +2024-03-25 17:26:24,602 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08986854553222656】s +2024-03-25 17:26:24,602 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08986854553222656】s +2024-03-25 17:26:24,734 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10856080055236816】s +2024-03-25 17:26:24,734 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10856080055236816】s +2024-03-25 17:26:24,813 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06293177604675293】s +2024-03-25 17:26:24,813 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06293177604675293】s +2024-03-25 17:26:24,911 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0809175968170166】s +2024-03-25 17:26:24,911 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0809175968170166】s +2024-03-25 17:26:24,999 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07146430015563965】s +2024-03-25 17:26:24,999 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07146430015563965】s +2024-03-25 17:26:25,096 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07970023155212402】s +2024-03-25 17:26:25,096 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07970023155212402】s +2024-03-25 17:26:25,181 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0693812370300293】s +2024-03-25 17:26:25,181 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0693812370300293】s +2024-03-25 17:26:25,278 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08121585845947266】s +2024-03-25 17:26:25,278 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08121585845947266】s +2024-03-25 17:26:25,356 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06267619132995605】s +2024-03-25 17:26:25,356 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06267619132995605】s +2024-03-25 17:26:25,454 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0814509391784668】s +2024-03-25 17:26:25,454 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0814509391784668】s +2024-03-25 17:26:25,540 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0692136287689209】s +2024-03-25 17:26:25,540 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0692136287689209】s +2024-03-25 17:26:25,634 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07789087295532227】s +2024-03-25 17:26:25,634 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07789087295532227】s +2024-03-25 17:26:25,728 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07637262344360352】s +2024-03-25 17:26:25,728 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07637262344360352】s +2024-03-25 17:26:25,824 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08127021789550781】s +2024-03-25 17:26:25,824 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08127021789550781】s +2024-03-25 17:26:25,942 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10091018676757812】s +2024-03-25 17:26:25,942 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10091018676757812】s +2024-03-25 17:26:26,041 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08182287216186523】s +2024-03-25 17:26:26,041 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08182287216186523】s +2024-03-25 17:26:26,153 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09741401672363281】s +2024-03-25 17:26:26,153 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09741401672363281】s +2024-03-25 17:26:26,251 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08347296714782715】s +2024-03-25 17:26:26,251 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08347296714782715】s +2024-03-25 17:26:26,357 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08902311325073242】s +2024-03-25 17:26:26,357 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08902311325073242】s +2024-03-25 17:26:26,453 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08002495765686035】s +2024-03-25 17:26:26,453 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08002495765686035】s +2024-03-25 17:26:26,547 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07843542098999023】s +2024-03-25 17:26:26,547 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07843542098999023】s +2024-03-25 17:26:26,650 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0851755142211914】s +2024-03-25 17:26:26,650 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0851755142211914】s +2024-03-25 17:26:26,742 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06921911239624023】s +2024-03-25 17:26:26,742 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06921911239624023】s +2024-03-25 17:26:26,839 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07952427864074707】s +2024-03-25 17:26:26,839 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07952427864074707】s +2024-03-25 17:26:26,958 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10293054580688477】s +2024-03-25 17:26:26,958 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10293054580688477】s +2024-03-25 17:26:27,068 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09101676940917969】s +2024-03-25 17:26:27,068 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09101676940917969】s +2024-03-25 17:26:27,152 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06808972358703613】s +2024-03-25 17:26:27,152 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06808972358703613】s +2024-03-25 17:26:27,249 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0805962085723877】s +2024-03-25 17:26:27,249 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0805962085723877】s +2024-03-25 17:26:27,344 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07995843887329102】s +2024-03-25 17:26:27,344 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07995843887329102】s +2024-03-25 17:26:27,444 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08270764350891113】s +2024-03-25 17:26:27,444 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08270764350891113】s +2024-03-25 17:26:27,577 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11476516723632812】s +2024-03-25 17:26:27,577 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11476516723632812】s +2024-03-25 17:26:27,679 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07893037796020508】s +2024-03-25 17:26:27,679 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07893037796020508】s +2024-03-25 17:26:27,768 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0707252025604248】s +2024-03-25 17:26:27,768 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0707252025604248】s +2024-03-25 17:26:27,872 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08806061744689941】s +2024-03-25 17:26:27,872 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08806061744689941】s +2024-03-25 17:26:27,967 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07721161842346191】s +2024-03-25 17:26:27,967 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07721161842346191】s +2024-03-25 17:26:28,068 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08118391036987305】s +2024-03-25 17:26:28,068 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08118391036987305】s +2024-03-25 17:26:28,153 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0673670768737793】s +2024-03-25 17:26:28,153 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0673670768737793】s +2024-03-25 17:26:28,277 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09925365447998047】s +2024-03-25 17:26:28,277 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09925365447998047】s +2024-03-25 17:26:28,445 decorator.py [line:11] INFO function:【load_image】,runtime:【0.12377762794494629】s +2024-03-25 17:26:28,445 decorator.py [line:11] INFO function:【load_image】,runtime:【0.12377762794494629】s +2024-03-25 17:26:28,552 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08925366401672363】s +2024-03-25 17:26:28,552 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08925366401672363】s +2024-03-25 17:26:28,647 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08093070983886719】s +2024-03-25 17:26:28,647 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08093070983886719】s +2024-03-25 17:26:28,811 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08128714561462402】s +2024-03-25 17:26:28,811 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08128714561462402】s +2024-03-25 17:26:28,966 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07812094688415527】s +2024-03-25 17:26:28,966 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07812094688415527】s +2024-03-25 17:26:29,127 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08026933670043945】s +2024-03-25 17:26:29,127 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08026933670043945】s +2024-03-25 17:26:29,205 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06108736991882324】s +2024-03-25 17:26:29,205 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06108736991882324】s +2024-03-25 17:26:29,302 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07897257804870605】s +2024-03-25 17:26:29,302 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07897257804870605】s +2024-03-25 17:26:29,459 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07853436470031738】s +2024-03-25 17:26:29,459 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07853436470031738】s +2024-03-25 17:26:29,533 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05791950225830078】s +2024-03-25 17:26:29,533 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05791950225830078】s +2024-03-25 17:26:29,629 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07919621467590332】s +2024-03-25 17:26:29,629 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07919621467590332】s +2024-03-25 17:26:29,701 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05577659606933594】s +2024-03-25 17:26:29,701 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05577659606933594】s 2024-03-21 13:51:37,818 decorator.py [line:11] INFO function:【load_image】,runtime:【1.2232704162597656】s 2024-03-21 13:51:37,818 decorator.py [line:11] INFO function:【load_image】,runtime:【1.2232704162597656】s 2024-03-21 13:51:38,052 decorator.py [line:11] INFO function:【load_image】,runtime:【0.19752931594848633】s @@ -138,3 +402,97 @@ 2024-03-21 13:52:09,530 decorator.py [line:11] INFO function:【load_image】,runtime:【0.7160646915435791】s 2024-03-21 13:52:09,813 decorator.py [line:11] INFO function:【load_image】,runtime:【0.25645899772644043】s 2024-03-21 13:52:09,813 decorator.py [line:11] INFO function:【load_image】,runtime:【0.25645899772644043】s +2024-03-27 11:28:51,362 decorator.py [line:11] INFO function:【load_image】,runtime:【0.14944052696228027】s +2024-03-27 11:28:51,362 decorator.py [line:11] INFO function:【load_image】,runtime:【0.14944052696228027】s +2024-03-27 11:28:51,561 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09883594512939453】s +2024-03-27 11:28:51,561 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09883594512939453】s +2024-03-27 11:28:54,385 decorator.py [line:11] INFO function:【get_result】,runtime:【3.172989845275879】s +2024-03-27 11:28:54,385 decorator.py [line:11] INFO function:【get_result】,runtime:【3.172989845275879】s +2024-03-27 11:28:54,501 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0939626693725586】s +2024-03-27 11:28:54,501 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0939626693725586】s +2024-03-27 11:28:54,627 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10200977325439453】s +2024-03-27 11:28:54,627 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10200977325439453】s +2024-03-27 11:28:57,010 decorator.py [line:11] INFO function:【get_result】,runtime:【2.6036272048950195】s +2024-03-27 11:28:57,010 decorator.py [line:11] INFO function:【get_result】,runtime:【2.6036272048950195】s +2024-03-27 11:28:57,107 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09602761268615723】s +2024-03-27 11:28:57,107 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09602761268615723】s +2024-03-27 11:28:57,212 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08440542221069336】s +2024-03-27 11:28:57,212 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08440542221069336】s +2024-03-27 11:28:57,324 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09081506729125977】s +2024-03-27 11:28:57,324 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09081506729125977】s +2024-03-27 11:28:57,430 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08171415328979492】s +2024-03-27 11:28:57,430 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08171415328979492】s +2024-03-27 11:28:57,567 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11722540855407715】s +2024-03-27 11:28:57,567 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11722540855407715】s +2024-03-27 11:28:57,678 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08625340461730957】s +2024-03-27 11:28:57,678 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08625340461730957】s +2024-03-27 11:28:57,824 decorator.py [line:11] INFO function:【get_result】,runtime:【0.8130843639373779】s +2024-03-27 11:28:57,824 decorator.py [line:11] INFO function:【get_result】,runtime:【0.8130843639373779】s +2024-03-27 11:28:57,895 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06562995910644531】s +2024-03-27 11:28:57,895 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06562995910644531】s +2024-03-27 11:28:58,000 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08478975296020508】s +2024-03-27 11:28:58,000 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08478975296020508】s +2024-03-27 11:28:58,034 decorator.py [line:11] INFO function:【get_result】,runtime:【0.2043590545654297】s +2024-03-27 11:28:58,034 decorator.py [line:11] INFO function:【get_result】,runtime:【0.2043590545654297】s +2024-03-27 11:28:58,101 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06698036193847656】s +2024-03-27 11:28:58,101 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06698036193847656】s +2024-03-27 11:28:58,242 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11905717849731445】s +2024-03-27 11:28:58,242 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11905717849731445】s +2024-03-27 11:28:58,285 decorator.py [line:11] INFO function:【get_result】,runtime:【0.2512340545654297】s +2024-03-27 11:28:58,285 decorator.py [line:11] INFO function:【get_result】,runtime:【0.2512340545654297】s +2024-03-27 11:28:58,367 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07999205589294434】s +2024-03-27 11:28:58,367 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07999205589294434】s +2024-03-27 11:28:58,463 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07760047912597656】s +2024-03-27 11:28:58,463 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07760047912597656】s +2024-03-27 11:28:58,543 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06173586845397949】s +2024-03-27 11:28:58,543 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06173586845397949】s +2024-03-27 11:28:58,636 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07255721092224121】s +2024-03-27 11:28:58,636 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07255721092224121】s +2024-03-27 11:28:58,723 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0690464973449707】s +2024-03-27 11:28:58,723 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0690464973449707】s +2024-03-27 11:28:58,813 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06989359855651855】s +2024-03-27 11:28:58,813 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06989359855651855】s +2024-03-27 11:28:58,907 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07435822486877441】s +2024-03-27 11:28:58,907 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07435822486877441】s +2024-03-27 11:28:58,997 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06914925575256348】s +2024-03-27 11:28:58,997 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06914925575256348】s +2024-03-27 11:28:59,089 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07468628883361816】s +2024-03-27 11:28:59,089 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07468628883361816】s +2024-03-27 11:28:59,342 decorator.py [line:11] INFO function:【get_result】,runtime:【1.055443286895752】s +2024-03-27 11:28:59,342 decorator.py [line:11] INFO function:【get_result】,runtime:【1.055443286895752】s +2024-03-27 11:28:59,419 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07607388496398926】s +2024-03-27 11:28:59,419 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07607388496398926】s +2024-03-27 11:28:59,523 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08356571197509766】s +2024-03-27 11:28:59,523 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08356571197509766】s +2024-03-27 11:28:59,611 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07082462310791016】s +2024-03-27 11:28:59,611 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07082462310791016】s +2024-03-27 11:28:59,695 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06639719009399414】s +2024-03-27 11:28:59,695 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06639719009399414】s +2024-03-27 11:28:59,782 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06848025321960449】s +2024-03-27 11:28:59,782 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06848025321960449】s +2024-03-27 11:28:59,861 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06321930885314941】s +2024-03-27 11:28:59,861 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06321930885314941】s +2024-03-27 11:28:59,949 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06985092163085938】s +2024-03-27 11:28:59,949 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06985092163085938】s +2024-03-27 11:29:00,036 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06791377067565918】s +2024-03-27 11:29:00,036 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06791377067565918】s +2024-03-27 11:29:00,124 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0706472396850586】s +2024-03-27 11:29:00,124 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0706472396850586】s +2024-03-27 11:29:00,171 decorator.py [line:11] INFO function:【get_result】,runtime:【0.8278758525848389】s +2024-03-27 11:29:00,171 decorator.py [line:11] INFO function:【get_result】,runtime:【0.8278758525848389】s +2024-03-27 11:29:00,235 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06318235397338867】s +2024-03-27 11:29:00,235 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06318235397338867】s +2024-03-27 11:29:00,322 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06962013244628906】s +2024-03-27 11:29:00,322 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06962013244628906】s +2024-03-27 11:29:00,405 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06734132766723633】s +2024-03-27 11:29:00,405 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06734132766723633】s +2024-03-27 11:29:00,481 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05873560905456543】s +2024-03-27 11:29:00,481 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05873560905456543】s +2024-03-27 11:29:00,560 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06250882148742676】s +2024-03-27 11:29:00,560 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06250882148742676】s +2024-03-27 11:29:00,638 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0628812313079834】s +2024-03-27 11:29:00,638 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0628812313079834】s +2024-03-27 11:29:00,679 decorator.py [line:11] INFO function:【get_result】,runtime:【0.5070171356201172】s +2024-03-27 11:29:00,679 decorator.py [line:11] INFO function:【get_result】,runtime:【0.5070171356201172】s +2024-03-27 11:29:00,680 api_outfit_matcher.py [line:43] INFO run time is : 9.467643737792969 +2024-03-27 11:29:00,680 api_outfit_matcher.py [line:43] INFO run time is : 9.467643737792969 diff --git a/app/schemas/similar_match.py b/app/schemas/similar_match.py index 5deb058..e5fb063 100644 --- a/app/schemas/similar_match.py +++ b/app/schemas/similar_match.py @@ -3,3 +3,4 @@ from pydantic import BaseModel class SimilarMatchMItem(BaseModel): image_path: str + result_number: int diff --git a/app/service/outfit_matcher/outfit_evaluator.py b/app/service/outfit_matcher/outfit_evaluator.py index 2404454..0392414 100644 --- a/app/service/outfit_matcher/outfit_evaluator.py +++ b/app/service/outfit_matcher/outfit_evaluator.py @@ -8,7 +8,7 @@ from matplotlib import pyplot as plt, image as mpimg from minio import Minio from torchvision import transforms -from app.core.config import MINIO_IP, MINIO_ACCESS, MINIO_SECRET, MINIO_SECURE, MINIO_PORT, OM_TRITON_PORT, OM_TRITON_IP +from app.core.config import * from app.service.outfit_matcher.foco import extract_main_colors from app.service.utils.decorator import RunTime diff --git a/app/service/outfit_matcher/test_param/test.json b/app/service/outfit_matcher/test_param/test.json new file mode 100644 index 0000000..a62fd97 --- /dev/null +++ b/app/service/outfit_matcher/test_param/test.json @@ -0,0 +1,19 @@ +{ + "topk": 1, + "max_outfits": 5, + "is_best": true, + "query": [ + { + "image_path": "mi-tu/26/BOTTOM/PANTS/MKTS27000_0BLK.jpg/3f4676db-98a1-44d4-947f-9d1f59828629.jpg", + "item_name": "MKTS27000", + "semantic_category": "BOTTOM/PANTS" + } + ], + "database": [ + { + "image_path": "mi-tu/26/TOP/BLOUSE/MKTS27002_0WHT.jpg/131cc29e-8f70-4134-a0e8-82f826b00058.jpg", + "item_name": "MKTS27002", + "semantic_category": "TOP/BLOUSE" + } + ] +} \ No newline at end of file diff --git a/app/service/similar_match/service.py b/app/service/similar_match/service.py index dae4af9..a071461 100644 --- a/app/service/similar_match/service.py +++ b/app/service/similar_match/service.py @@ -10,6 +10,8 @@ from pymilvus import MilvusClient from app.core.config import * from torchvision import transforms +from app.service.utils.decorator import RunTime + class SimilarMatch: def __init__(self): @@ -77,19 +79,20 @@ class SimilarMatch: features = results.as_numpy("output__1") # Shape (N, 64) return features + @RunTime def match_features(self, features): # 连接milvus # 连接milvus client = MilvusClient(uri="http://10.1.1.240:19530", db_name="mixi") try: - res = client.search( + search_response = client.search( collection_name="mixi_outfit", # Replace with the actual name of your collection # Replace with your query vector data=[features[0]], limit=5, # Max. number of search results to return output_fields=["id", "image_path"], # Search parameters ) - return res + return search_response finally: client.close() @@ -97,6 +100,6 @@ class SimilarMatch: if __name__ == '__main__': service = SimilarMatch() features = service.get_features(img_path="test/2024 SS/MKTS27000.jpg") - res = service.match_features(features) + search_response = service.match_features(features) - print(json.dumps(res, indent=4)) + print(json.dumps(search_response, indent=4)) diff --git a/app/service/utils/decorator.py b/app/service/utils/decorator.py index 294b54b..2e563fc 100644 --- a/app/service/utils/decorator.py +++ b/app/service/utils/decorator.py @@ -9,6 +9,7 @@ def RunTime(func): t2 = time.time() if t2 - t1 > 0.05: logging.info(f"function:【{func.__name__}】,runtime:【{str(t2 - t1)}】s") + print(f"function:【{func.__name__}】,runtime:【{str(t2 - t1)}】s") return res return wrapper diff --git a/requirements.txt b/requirements.txt index 084644b37865819a8afa522ced1c8b5a81855483..0eb1ed8aa87a511d859a46dc713c3dfa76dfe559 100644 GIT binary patch delta 11 Scmcb_af^M!9_Gm=EOG!Hm;@96 delta 109 zcmcb`eu-nl9%l6thJ1!1hGd2e23sIBV$cI)Lk4Z2SSf=ckY~ui%fL0+kV)JWq{0BG f!jQonOroh_$OXb=hBB~8hCmf2Ak!vqXI2IPDr^yY diff --git a/test/attribute/infer_test.py b/test/attribute/infer_test.py new file mode 100644 index 0000000..e01b948 --- /dev/null +++ b/test/attribute/infer_test.py @@ -0,0 +1,110 @@ +import cv2 +import mmcv +import numpy as np +import tritonclient.http as httpclient +import torch + + +def preprocess(img): + img = mmcv.imread(img) + ori_shape = img.shape[:2] + img_scale = (224, 224) + scale_factor = [] + img, x, y = mmcv.imresize(img, img_scale, return_scale=True) + scale_factor.append(x) + scale_factor.append(y) + img = mmcv.imnormalize(img, mean=np.array([123.675, 116.28, 103.53]), std=np.array([58.395, 57.12, 57.375]), to_rgb=True) + preprocessed_img = np.expand_dims(img.transpose(2, 0, 1), axis=0) + return preprocessed_img, ori_shape + + +def get_attribute(model_save_name, sample): + triton_client = httpclient.InferenceServerClient(url=f"10.1.1.240:10020") + inputs = [ + httpclient.InferInput("input__0", sample.shape, datatype="FP32") + ] + inputs[0].set_data_from_numpy(sample, binary_data=True) + results = triton_client.infer(model_name=model_save_name, inputs=inputs) + inference_output = torch.from_numpy(results.as_numpy(f"output__0")) + scores = inference_output.detach().numpy() + print(f"{model} is ok") + + +image, shape = preprocess(cv2.imread("8365b04b-69d0-4f6d-a61b-a8cc136256263422b10ff45d4ae4e10be3fc25a9c36b.jpg")) +# get_attribute("attr_retrieve_D_sleeve_shape", image) + +model_list = ['top_length', + 'top_type', + 'top_Sleeve_length', + 'top_Sleeve_shape', + 'top_Sleeve_shoulder', + 'top_Neckline', + 'top_print', + 'top_material', + 'top_Softness', + 'top_Design', + 'top_optype', + 'top_Silhouette', + 'top_Collar', + 'bottom_sub-Type', + 'bottom_length', + 'bottom_print', + 'bottom_material', + 'bottom_Softness_B', + 'bottom_Silhouette_B', + 'bottom_OPType_B', + 'bottom_design', + 'outwear_outer_length', + # 'outwear_2_outer_type', + 'outwear_outer_sleeve_length', + 'outwear_outer_sleeve_shape', + 'outwear_outer_sleeve_shoulder', + 'outwear_outer_collar', + 'outwear_print', + 'outwear_material', + 'outwear_outer_softness', + 'outwear_outer_design', + # 'outwear_11_outer_opening', + 'outwear_outer_optype', + 'outwear_outer_silhouette', + 'jumpsuit_length', + 'jumpsuit_sleeve_length', + 'jumpsuit_sleeve_shape', + 'jumpsuit_sleeve_shoulder', + 'jumpsuit_neckline', + 'jumpsuit_collar', + 'jumpsuit_print', + 'jumpsuit_material', + 'jumpsuit_softness', + 'jumpsuit_design', + 'jumpsuit_optype', + 'jumpsuit_subtype', + 'dress_length', + 'dress_sleeve_length', + 'dress_sleeve_shape', + 'dress_sleeve_shoulder', + 'dress_neckline', + 'dress_print', + 'dress_collar', + 'dress_material', + 'dress_design', + 'dress_softness', + 'dress_silohouette12', + # 'dress_' + 'dress_type' + ] +except_model = [] +# 'attr_recong_B_optype', 'attr_recong_D_length', 'attr_recong_O_length', 'attr_recong_O_optype', 'attr_recong_material', +# 'attr_recong_print', 'attr_retrieve_D_collar', 'attr_retrieve_D_design', 'attr_retrieve_D_neckline', 'attr_retrieve_D_silohouette', +# 'attr_retrieve_D_sleeve_shape', 'attr_retrieve_D_sleeve_shoulder', 'attr_retrieve_D_type', 'attr_retrieve_T_length', 'attr_retrieve_T_optype' + +# for model in model_list: +# get_attribute(model, image) + +for model in model_list: + try: + get_attribute(model, image) + except Exception as e: + print(e) + except_model.append(model) +print(except_model) diff --git a/test/attribute/model.py b/test/attribute/model.py new file mode 100644 index 0000000..1c7ac6a --- /dev/null +++ b/test/attribute/model.py @@ -0,0 +1,56 @@ +var = ["bottom_OPType_B", + "bottom_Silhouette_B", + "bottom_Softness_B", + "bottom_design", + "bottom_length", + "bottom_material", + "bottom_print", + "bottom_sub-Type", + "category", + "dress_collar", + "dress_design", + "dress_length", + "dress_material", + "dress_neckline", + "dress_print", + "dress_silohouette2", + "dress_sleeve_length", + "dress_sleeve_shape", + "dress_sleeve_shoulder", + "dress_softness", + "dress_type", + "jumpsuit_collar", + "jumpsuit_design", + "jumpsuit_length", + "jumpsuit_material", + "jumpsuit_optype", + "jumpsuit_print", + "jumpsuit_sleeve_length", + "jumpsuit_sleeve_shape", + "jumpsuit_sleeve_shoulder", + "jumpsuit_softness", + "jumpsuit_subtype", + "outwear_material", + "outwear_outear_length", + "outwear_outer_collar", + "outwear_outer_design", + "outwear_outer_optype", + "outwear_outer_silhouette", + "outwear_outer_sleeve_length", + "outwear_outer_sleeve_shape", + "outwear_outer_sleeve_shoulder", + "outwear_outer_softness", + "outwear_print", + "top_Collar", + "top_Design", + "top_Neckline", + "top_Silhouette", + "top_Sleeve_length", + "top_Sleeve_shape", + "top_Sleeve_shoulder", + "top_Softness", + "top_length", + "top_material", + "top_optype", + "top_print", + "top_type", ] diff --git a/test/attribute_recognition_model_infer/attribute_recognition_model_infer.py b/test/attribute_recognition_model_infer/attribute_recognition_model_infer.py new file mode 100644 index 0000000..67a6c0b --- /dev/null +++ b/test/attribute_recognition_model_infer/attribute_recognition_model_infer.py @@ -0,0 +1,51 @@ +from pprint import pprint + +import cv2 +import mmcv +import numpy as np +import tritonclient.http as httpclient +import torch + +from app.core.config import ATT_TRITON_PORT, ATT_TRITON_IP + +model_list = ['bottom_design', 'bottom_length', 'bottom_material', 'bottom_OPType_B', 'bottom_print', 'bottom_Silhouette_B', 'bottom_Softness_B', 'bottom_sub-Type', 'category', 'dress_collar', 'dress_design', 'dress_length', 'dress_material', 'dress_neckline', 'dress_print', 'dress_silohouette12', 'dress_sleeve_length', 'dress_sleeve_shape', 'dress_sleeve_shoulder', 'dress_softness', 'dress_type', 'jumpsuit_collar', 'jumpsuit_design', 'jumpsuit_length', 'jumpsuit_material', 'jumpsuit_optype', + 'jumpsuit_print', 'jumpsuit_sleeve_length', 'jumpsuit_sleeve_shape', 'jumpsuit_sleeve_shoulder', 'jumpsuit_softness', 'jumpsuit_subtype', 'outwear_material', 'outwear_outear_length', 'outwear_outer_collar', 'outwear_outer_design', 'outwear_outer_optype', 'outwear_outer_silhouette', 'outwear_outer_sleeve_length', 'outwear_outer_sleeve_shape', 'outwear_outer_sleeve_shoulder', 'outwear_outer_softness', 'outwear_print', 'top_Collar', 'top_Design', 'top_length', 'top_material', + 'top_Neckline', 'top_optype', 'top_print', 'top_Silhouette', 'top_Sleeve_length', 'top_Sleeve_shape', 'top_Sleeve_shoulder', 'top_Softness', 'top_type'] + + +def preprocess(img): + img = mmcv.imread(img) + ori_shape = img.shape[:2] + img_scale = (224, 224) + scale_factor = [] + img, x, y = mmcv.imresize(img, img_scale, return_scale=True) + scale_factor.append(x) + scale_factor.append(y) + img = mmcv.imnormalize(img, mean=np.array([123.675, 116.28, 103.53]), std=np.array([58.395, 57.12, 57.375]), to_rgb=True) + preprocessed_img = np.expand_dims(img.transpose(2, 0, 1), axis=0) + return preprocessed_img, ori_shape + + +def get_attribute(model_save_name, sample): + triton_client = httpclient.InferenceServerClient(url=f"{ATT_TRITON_IP}:{ATT_TRITON_PORT}") + inputs = [ + httpclient.InferInput("input__0", sample.shape, datatype="FP32") + ] + inputs[0].set_data_from_numpy(sample, binary_data=True) + results = triton_client.infer(model_name=model_save_name, inputs=inputs) + inference_output = torch.from_numpy(results.as_numpy(f"output__0")) + scores = inference_output.detach().numpy() + pprint(scores) + print(f"{model_save_name} is ok") + + +image, shape = preprocess(cv2.imread("test_top1.jpg")) +except_model = [] + +for model in model_list: + try: + get_attribute(model, image) + except Exception as e: + print(e) + except_model.append(model) +print(except_model) diff --git a/test/json/outfit_response.py b/test/json/outfit_response.py new file mode 100644 index 0000000..c834f65 --- /dev/null +++ b/test/json/outfit_response.py @@ -0,0 +1,273 @@ +a = [{'best_outfits': [({'image_path': 'test/2024 SS/MKTS27047.jpg', + 'item_name': 'MKTS27047', + 'mapped_cate': 'all-body', + 'semantic_category': 'ONE PIECE/DRESS'}, + {'image_path': 'test/2024 SS/MLSS27156.jpg', + 'item_name': 'MLSS27156', + 'mapped_cate': 'outerwear', + 'semantic_category': 'TOP/VEST'}), + ({'image_path': 'test/2024 SS/MKTS27047.jpg', + 'item_name': 'MKTS27047', + 'mapped_cate': 'all-body', + 'semantic_category': 'ONE PIECE/DRESS'}, + {'image_path': 'test/2024 SS/MLSS27157.jpg', + 'item_name': 'MLSS27157', + 'mapped_cate': 'outerwear', + 'semantic_category': 'OUTERWEAR/WINDBREAKER'}), + ({'image_path': 'test/2024 SS/MKTS27047.jpg', + 'item_name': 'MKTS27047', + 'mapped_cate': 'all-body', + 'semantic_category': 'ONE PIECE/DRESS'}, + {'image_path': 'test/2024 SS/MLSS27150.jpg', + 'item_name': 'MLSS27150', + 'mapped_cate': 'outerwear', + 'semantic_category': 'OUTERWEAR/JACKET'}), + ({'image_path': 'test/2024 SS/MKTS27047.jpg', + 'item_name': 'MKTS27047', + 'mapped_cate': 'all-body', + 'semantic_category': 'ONE PIECE/DRESS'}, + {'image_path': 'test/2024 SS/MSE_56720.jpg', + 'item_name': 'MSE_56720', + 'mapped_cate': 'outerwear', + 'semantic_category': 'OUTERWEAR/BLAZER'}), + ({'image_path': 'test/2024 SS/MKTS27047.jpg', + 'item_name': 'MKTS27047', + 'mapped_cate': 'all-body', + 'semantic_category': 'ONE PIECE/DRESS'}, + {'image_path': 'test/2024 SS/MLSS27109.jpg', + 'item_name': 'MLSS27109', + 'mapped_cate': 'outerwear', + 'semantic_category': 'JEANS/JEANS JACKET'})], + 'best_scores': [-0.111208215, + -0.120505564, + -0.1213615, + -0.12190802, + -0.12419219]}, + {'best_outfits': [({'image_path': 'test/2024 SS/MKTS27028.jpg', + 'item_name': 'MKTS27028', + 'mapped_cate': 'outerwear', + 'semantic_category': 'OUTERWEAR/JACKET'}, + {'image_path': 'test/2024 SS/MSE_58107.jpg', + 'item_name': 'MSE_58107', + 'mapped_cate': 'tops', + 'semantic_category': 'TOP/SHIRT'}, + {'image_path': 'test/2024 SS/MLSS27133.jpg', + 'item_name': 'MLSS27133', + 'mapped_cate': 'bottoms', + 'semantic_category': 'BOTTOM/SKIRT'}), + ({'image_path': 'test/2024 SS/MKTS27028.jpg', + 'item_name': 'MKTS27028', + 'mapped_cate': 'outerwear', + 'semantic_category': 'OUTERWEAR/JACKET'}, + {'image_path': 'test/2024 SS/MLSS27132.jpg', + 'item_name': 'MLSS27132', + 'mapped_cate': 'tops', + 'semantic_category': 'TOP/TOP'}, + {'image_path': 'test/2024 SS/MLSS27159.jpg', + 'item_name': 'MLSS27159', + 'mapped_cate': 'bottoms', + 'semantic_category': 'BOTTOM/PANTS'}), + ({'image_path': 'test/2024 SS/MKTS27028.jpg', + 'item_name': 'MKTS27028', + 'mapped_cate': 'outerwear', + 'semantic_category': 'OUTERWEAR/JACKET'}, + {'image_path': 'test/2024 SS/MLSS27132.jpg', + 'item_name': 'MLSS27132', + 'mapped_cate': 'tops', + 'semantic_category': 'TOP/TOP'}, + {'image_path': 'test/2024 SS/MLSS27133.jpg', + 'item_name': 'MLSS27133', + 'mapped_cate': 'bottoms', + 'semantic_category': 'BOTTOM/SKIRT'}), + ({'image_path': 'test/2024 SS/MKTS27028.jpg', + 'item_name': 'MKTS27028', + 'mapped_cate': 'outerwear', + 'semantic_category': 'OUTERWEAR/JACKET'}, + {'image_path': 'test/2024 SS/MKTS27039.jpg', + 'item_name': 'MKTS27039', + 'mapped_cate': 'tops', + 'semantic_category': 'TOP/TOP'}, + {'image_path': 'test/2024 SS/MLSS27226.jpg', + 'item_name': 'MLSS27226', + 'mapped_cate': 'bottoms', + 'semantic_category': 'BOTTOM/SKIRT'}), + ({'image_path': 'test/2024 SS/MKTS27028.jpg', + 'item_name': 'MKTS27028', + 'mapped_cate': 'outerwear', + 'semantic_category': 'OUTERWEAR/JACKET'}, + {'image_path': 'test/2024 SS/MLSS27146.jpg', + 'item_name': 'MLSS27146', + 'mapped_cate': 'tops', + 'semantic_category': 'TOP/TOP'}, + {'image_path': 'test/2024 SS/MSE_58518.jpg', + 'item_name': 'MSE_58518', + 'mapped_cate': 'bottoms', + 'semantic_category': 'BOTTOM/SKIRT'})], + 'best_scores': [-0.111208215, + -0.11449928, + -0.11642833, + -0.120505564, + -0.1213615]}, + {'best_outfits': [({'image_path': 'test/2024 SS/MSE_58057.jpg', + 'item_name': 'MSE_58057', + 'mapped_cate': 'outerwear', + 'semantic_category': 'OUTERWEAR/BLAZER'}, + {'image_path': 'test/2024 SS/MKTS27046.jpg', + 'item_name': 'MKTS27046', + 'mapped_cate': 'tops', + 'semantic_category': 'TOP/SHIRT'}, + {'image_path': 'test/2024 SS/MSE_58518.jpg', + 'item_name': 'MSE_58518', + 'mapped_cate': 'bottoms', + 'semantic_category': 'BOTTOM/SKIRT'}), + ({'image_path': 'test/2024 SS/MSE_58057.jpg', + 'item_name': 'MSE_58057', + 'mapped_cate': 'outerwear', + 'semantic_category': 'OUTERWEAR/BLAZER'}, + {'image_path': 'test/2024 SS/MSE_58473.jpg', + 'item_name': 'MSE_58473', + 'mapped_cate': 'tops', + 'semantic_category': 'KNIT/KNIT TOP'}, + {'image_path': 'test/2024 SS/MKTS27031.jpg', + 'item_name': 'MKTS27031', + 'mapped_cate': 'bottoms', + 'semantic_category': 'BOTTOM/SKIRT'}), + ({'image_path': 'test/2024 SS/MSE_58057.jpg', + 'item_name': 'MSE_58057', + 'mapped_cate': 'outerwear', + 'semantic_category': 'OUTERWEAR/BLAZER'}, + {'image_path': 'test/2024 SS/MPO_SP7687.jpg', + 'item_name': 'MPO_SP7687', + 'mapped_cate': 'tops', + 'semantic_category': 'TOP/SHIRT'}, + {'image_path': 'test/2024 SS/MLSS27107.jpg', + 'item_name': 'MLSS27107', + 'mapped_cate': 'bottoms', + 'semantic_category': 'JEANS/JEANS'}), + ({'image_path': 'test/2024 SS/MSE_58057.jpg', + 'item_name': 'MSE_58057', + 'mapped_cate': 'outerwear', + 'semantic_category': 'OUTERWEAR/BLAZER'}, + {'image_path': 'test/2024 SS/MLSS27142.jpg', + 'item_name': 'MLSS27142', + 'mapped_cate': 'tops', + 'semantic_category': 'TOP/SHIRT'}, + {'image_path': 'test/2024 SS/MLSS27159.jpg', + 'item_name': 'MLSS27159', + 'mapped_cate': 'bottoms', + 'semantic_category': 'BOTTOM/PANTS'}), + ({'image_path': 'test/2024 SS/MSE_58057.jpg', + 'item_name': 'MSE_58057', + 'mapped_cate': 'outerwear', + 'semantic_category': 'OUTERWEAR/BLAZER'}, + {'image_path': 'test/2024 SS/MLSS27142.jpg', + 'item_name': 'MLSS27142', + 'mapped_cate': 'tops', + 'semantic_category': 'TOP/SHIRT'}, + {'image_path': 'test/2024 SS/MLSS27226.jpg', + 'item_name': 'MLSS27226', + 'mapped_cate': 'bottoms', + 'semantic_category': 'BOTTOM/SKIRT'})], + 'best_scores': [-0.111208215, + -0.11449928, + -0.11642833, + -0.120505564, + -0.1213615]}, + {'best_outfits': [({'image_path': 'test/2024 SS/MSE_58107.jpg', + 'item_name': 'MSE_58107', + 'mapped_cate': 'tops', + 'semantic_category': 'TOP/SHIRT'}, + {'image_path': 'test/2024 SS/MLSS27159.jpg', + 'item_name': 'MLSS27159', + 'mapped_cate': 'bottoms', + 'semantic_category': 'BOTTOM/PANTS'}, + {'image_path': 'test/2024 SS/MSE_58289.jpg', + 'item_name': 'MSE_58289', + 'mapped_cate': 'outerwear', + 'semantic_category': 'OUTERWEAR/BLAZER'}), + ({'image_path': 'test/2024 SS/MSE_58107.jpg', + 'item_name': 'MSE_58107', + 'mapped_cate': 'tops', + 'semantic_category': 'TOP/SHIRT'}, + {'image_path': 'test/2024 SS/MLSS27111.jpg', + 'item_name': 'MLSS27111', + 'mapped_cate': 'bottoms', + 'semantic_category': 'JEANS/JEANS PANTS'}), + ({'image_path': 'test/2024 SS/MSE_58107.jpg', + 'item_name': 'MSE_58107', + 'mapped_cate': 'tops', + 'semantic_category': 'TOP/SHIRT'}, + {'image_path': 'test/2024 SS/MLSS27104.jpg', + 'item_name': 'MLSS27104', + 'mapped_cate': 'bottoms', + 'semantic_category': 'BOTTOM/SHORTS'}), + ({'image_path': 'test/2024 SS/MSE_58107.jpg', + 'item_name': 'MSE_58107', + 'mapped_cate': 'tops', + 'semantic_category': 'TOP/SHIRT'}, + {'image_path': 'test/2024 SS/MLSS27159.jpg', + 'item_name': 'MLSS27159', + 'mapped_cate': 'bottoms', + 'semantic_category': 'BOTTOM/PANTS'}), + ({'image_path': 'test/2024 SS/MSE_58107.jpg', + 'item_name': 'MSE_58107', + 'mapped_cate': 'tops', + 'semantic_category': 'TOP/SHIRT'}, + {'image_path': 'test/2024 SS/MLSS27160.jpg', + 'item_name': 'MLSS27160', + 'mapped_cate': 'bottoms', + 'semantic_category': 'BOTTOM/PANTS'})], + 'best_scores': [-0.111208215, + -0.11449928, + -0.120505564, + -0.1213615, + -0.12190802]}, + {'best_outfits': [({'image_path': 'test/2024 SS/MSE_58495.jpg', + 'item_name': 'MSE_58495', + 'mapped_cate': 'tops', + 'semantic_category': 'TOP/SHIRT'}, + {'image_path': 'test/2024 SS/MLSS27159.jpg', + 'item_name': 'MLSS27159', + 'mapped_cate': 'bottoms', + 'semantic_category': 'BOTTOM/PANTS'}), + ({'image_path': 'test/2024 SS/MSE_58495.jpg', + 'item_name': 'MSE_58495', + 'mapped_cate': 'tops', + 'semantic_category': 'TOP/SHIRT'}, + {'image_path': 'test/2024 SS/MLSS27160.jpg', + 'item_name': 'MLSS27160', + 'mapped_cate': 'bottoms', + 'semantic_category': 'BOTTOM/PANTS'}), + ({'image_path': 'test/2024 SS/MSE_58495.jpg', + 'item_name': 'MSE_58495', + 'mapped_cate': 'tops', + 'semantic_category': 'TOP/SHIRT'}, + {'image_path': 'test/2024 SS/MLSS27159.jpg', + 'item_name': 'MLSS27159', + 'mapped_cate': 'bottoms', + 'semantic_category': 'BOTTOM/PANTS'}, + {'image_path': 'test/2024 SS/MLSS27109.jpg', + 'item_name': 'MLSS27109', + 'mapped_cate': 'outerwear', + 'semantic_category': 'JEANS/JEANS JACKET'}), + ({'image_path': 'test/2024 SS/MSE_58495.jpg', + 'item_name': 'MSE_58495', + 'mapped_cate': 'tops', + 'semantic_category': 'TOP/SHIRT'}, + {'image_path': 'test/2024 SS/MLSS27119.jpg', + 'item_name': 'MLSS27119', + 'mapped_cate': 'bottoms', + 'semantic_category': 'JEANS/JEANS SKIRT'}), + ({'image_path': 'test/2024 SS/MSE_58495.jpg', + 'item_name': 'MSE_58495', + 'mapped_cate': 'tops', + 'semantic_category': 'TOP/SHIRT'}, + {'image_path': 'test/2024 SS/MKTS27000.jpg', + 'item_name': 'MKTS27000', + 'mapped_cate': 'bottoms', + 'semantic_category': 'BOTTOM/PANTS'})], + 'best_scores': [-0.111208215, + -0.11449928, + -0.120505564, + -0.1213615, + -0.12190802]}] diff --git a/test/minio_client_test/minio_client.py b/test/minio_client_test/minio_client.py new file mode 100644 index 0000000..48f041c --- /dev/null +++ b/test/minio_client_test/minio_client.py @@ -0,0 +1,12 @@ +from minio import Minio + +from app.core.config import MINIO_PORT, MINIO_IP, MINIO_ACCESS, MINIO_SECRET, MINIO_SECURE + +minio_client = Minio( + f"{MINIO_IP}:{MINIO_PORT}", + access_key=MINIO_ACCESS, + secret_key=MINIO_SECRET, + secure=MINIO_SECURE) + +for i in minio_client.list_objects('test'): + print(i.object_name) diff --git a/test/outfit_matcher/triton_infer.py b/test/outfit_matcher/triton_infer.py new file mode 100644 index 0000000..e69de29 From 1f1553eb5489f779f32a4b0a2d7f645d50e8748f Mon Sep 17 00:00:00 2001 From: zhouchengrong Date: Wed, 27 Mar 2024 14:57:57 +0800 Subject: [PATCH 13/26] =?UTF-8?q?generate=20outfit=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/service/outfit_matcher/dataset.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/service/outfit_matcher/dataset.py b/app/service/outfit_matcher/dataset.py index 6e11983..4718688 100644 --- a/app/service/outfit_matcher/dataset.py +++ b/app/service/outfit_matcher/dataset.py @@ -59,7 +59,7 @@ class FashionDataset(object): if given_cate == 'tops' or given_cate == "bottoms": complementary_cate = "bottoms" if given_cate == "tops" else "tops" # check bottom num - if not self.cate2num[complementary_cate]: + if complementary_cate not in self.cate2num.keys() or not self.cate2num[complementary_cate]: raise ValueError(f"Not enough {complementary_cate} available to generate outfits.") complementary_items = deepcopy(self.cate2item[complementary_cate]) From 864ce0643942425d95add88c0aecc9570d199fbd Mon Sep 17 00:00:00 2001 From: zhouchengrong Date: Wed, 27 Mar 2024 16:26:34 +0800 Subject: [PATCH 14/26] =?UTF-8?q?=E5=B1=9E=E6=80=A7=E6=A3=80=E6=B5=8B?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=EF=BC=8C=E5=93=8D=E5=BA=94=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E8=A7=84=E8=8C=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 +- app/api/api_attribute.py | 3 +- app/api/api_outfit_matcher.py | 47 +- app/logs/errors.log | 1180 +++++++++++++++++ .../attribute_recognition/const_debug.py | 139 ++ .../discriptor/bottom/2_bottom_subtype.csv | 40 +- .../discriptor/bottom/3_bottom_length.csv | 10 +- .../discriptor/bottom/5_bottom_Softness.csv | 6 +- .../discriptor/bottom/6_bottom_Design.csv | 32 +- .../discriptor/bottom/7_bottom_OPType.csv | 10 +- .../discriptor/bottom/7_outer_Print.csv | 30 +- .../discriptor/bottom/8_bottom_Silhouette.csv | 10 +- .../discriptor/bottom/8_outer_Material.csv | 54 +- .../bottom/ori10_bottom_Silhoutte.csv | 10 +- .../discriptor/bottom/ori1_bottom_Type.csv | 4 +- .../discriptor/bottom/ori2_bottom_subtype.csv | 92 +- .../bottom/ori3_bottom_structure.csv | 6 +- .../discriptor/bottom/ori4_bottom_length.csv | 10 +- .../discriptor/bottom/ori5_bottom_Print.csv | 30 +- .../bottom/ori6_bottom_Material.csv | 54 +- .../bottom/ori7_bottom_Softness.csv | 6 +- .../discriptor/bottom/ori8_bottom_Design.csv | 32 +- .../discriptor/bottom/ori9_bottom_OPType.csv | 10 +- .../discriptor/dress/11_dress_Silhouette.csv | 20 +- .../discriptor/dress/11_top_OPType.csv | 8 +- .../discriptor/dress/12_dress_type.csv | 38 +- .../discriptor/dress/1_dress_length.csv | 10 +- .../discriptor/dress/3_top_Sleeve_length.csv | 10 +- .../discriptor/dress/4_top_Sleeve_shape.csv | 16 +- .../dress/5_top_Sleeve_shoulder.csv | 8 +- .../discriptor/dress/6_top_Neckline.csv | 12 +- .../discriptor/dress/7_outer_Print.csv | 30 +- .../discriptor/dress/7_top_Collar.csv | 20 +- .../discriptor/dress/8_outer_Material.csv | 54 +- .../discriptor/dress/9_dress_Design.csv | 36 +- .../discriptor/dress/9_top_Softness.csv | 6 +- .../discriptor/dress/ori10_dress_Design.csv | 30 +- .../discriptor/dress/ori11_dress_OPType.csv | 8 +- .../dress/ori12_dress_Silhouette.csv | 2 +- .../discriptor/dress/ori13_dress_Type.csv | 38 +- .../discriptor/dress/ori1_dress_length.csv | 10 +- .../dress/ori2_dress_Sleeve_length.csv | 10 +- .../dress/ori3_dress_Sleeve_shape.csv | 16 +- .../dress/ori4_dress_Sleeve_shoulder.csv | 8 +- .../discriptor/dress/ori5_dress_Neckline.csv | 32 +- .../discriptor/dress/ori6_dress_Collar.csv | 20 +- .../discriptor/dress/ori7_dress_Print.csv | 30 +- .../discriptor/dress/ori8_dress_Material.csv | 54 +- .../discriptor/dress/ori9_dress_Softness.csv | 6 +- .../discriptor/jumpsuit/10_jumsuit_design.csv | 32 +- .../jumpsuit/11_jumpsuit_OPType.csv | 8 +- .../jumpsuit/12_jumpsuit_subtype.csv | 10 +- .../discriptor/jumpsuit/1_jumsuit_length.csv | 10 +- .../jumpsuit/2_jumpsuit_Sleeve_length.csv | 10 +- .../jumpsuit/3_jumpsuit_Sleeve_shape.csv | 16 +- .../jumpsuit/4_jumpsuit_Sleeve_shoulder.csv | 8 +- .../jumpsuit/5_jumpsuit_Neckline.csv | 12 +- .../discriptor/jumpsuit/6_jumpsuit_Collar.csv | 20 +- .../discriptor/jumpsuit/7_jumpsuit_Print.csv | 30 +- .../jumpsuit/8_jumpsuit_Material.csv | 54 +- .../jumpsuit/9_jumpsuit_Softness.csv | 6 +- .../discriptor/outwear/10_outer_Design.csv | 36 +- .../discriptor/outwear/11_outer_opening.csv | 4 +- .../discriptor/outwear/12_outer_OPType.csv | 8 +- .../outwear/13_outer_Silhouette.csv | 12 +- .../discriptor/outwear/1_outer_length.csv | 6 +- .../discriptor/outwear/2_outer_type.csv | 34 +- .../outwear/3_outer_sleeve_length.csv | 10 +- .../outwear/4_outer_sleeve_shape.csv | 16 +- .../outwear/5_outer_sleeve_shoulder.csv | 10 +- .../discriptor/outwear/6_outer_Collar.csv | 18 +- .../discriptor/outwear/7_outer_Print.csv | 30 +- .../discriptor/outwear/8_outer_Material.csv | 54 +- .../discriptor/outwear/9_outer_Softness.csv | 6 +- .../discriptor/top/10_top_Design.csv | 28 +- .../discriptor/top/11_top_OPType.csv | 8 +- .../discriptor/top/12_top_Silhouette.csv | 12 +- .../discriptor/top/1_top_length.csv | 6 +- .../discriptor/top/2_top_type.csv | 28 +- .../discriptor/top/3_top_Sleeve_length.csv | 10 +- .../discriptor/top/4_top_Sleeve_shape.csv | 16 +- .../discriptor/top/5_top_Sleeve_shoulder.csv | 8 +- .../discriptor/top/6_top_Neckline.csv | 12 +- .../discriptor/top/7_outer_Print.csv | 30 +- .../discriptor/top/7_top_Collar.csv | 20 +- .../discriptor/top/8_outer_Material.csv | 54 +- .../discriptor/top/9_top_Softness.csv | 6 +- .../discriptor/top/ori10_top_Softness.csv | 6 +- .../discriptor/top/ori11_top_Design.csv | 30 +- .../discriptor/top/ori12_top_OPType.csv | 8 +- .../discriptor/top/ori13_top_Silhouette.csv | 12 +- .../discriptor/top/ori1_Top_length.csv | 6 +- .../discriptor/top/ori2_Top_type.csv | 28 +- .../discriptor/top/ori3_top_Sleeve_length.csv | 10 +- .../discriptor/top/ori4_top_Sleeve_shape.csv | 16 +- .../top/ori5_top_Sleeve_shoulder.csv | 8 +- .../discriptor/top/ori6_top_Neckline.csv | 30 +- .../discriptor/top/ori7_top_Collar.csv | 20 +- .../discriptor/top/ori8_top_Print.csv | 30 +- .../discriptor/top/ori9_top_Material.csv | 54 +- app/service/attribute_recognition/service.py | 4 +- .../test_param/recommendation_test.json | 838 +----------- 102 files changed, 2325 insertions(+), 1823 deletions(-) create mode 100644 app/service/attribute_recognition/const_debug.py diff --git a/.gitignore b/.gitignore index 12821b0..44ae919 100644 --- a/.gitignore +++ b/.gitignore @@ -131,4 +131,5 @@ uwsgi app/logs app/logs/* *.log -*.jpg \ No newline at end of file +*.jpg +*.zip \ No newline at end of file diff --git a/app/api/api_attribute.py b/app/api/api_attribute.py index 31c2628..972ccd3 100644 --- a/app/api/api_attribute.py +++ b/app/api/api_attribute.py @@ -1,9 +1,10 @@ import logging +from pprint import pprint from fastapi import APIRouter from app.schemas.attribute import AttributeModel -from app.service.attribute_recognition import const +from app.service.attribute_recognition import const, const_debug from app.service.attribute_recognition.service import AttributeRecognition logger = logging.getLogger() diff --git a/app/api/api_outfit_matcher.py b/app/api/api_outfit_matcher.py index ce9cbf9..24a6337 100644 --- a/app/api/api_outfit_matcher.py +++ b/app/api/api_outfit_matcher.py @@ -20,27 +20,28 @@ def outfit_matcher(request_item: OutfitMatcher): for i in range(len(request_item['database'])): request_item['database'][i] = dict(request_item['database'][i]) - try: - fashion_dataset = FashionDataset(request_item['database']) - service = OutfitMaterTypeAware() - result = [] - start_time = time.time() - for item in request_item['query']: - outfits = fashion_dataset.generate_outfit(item, request_item["topk"], request_item["max_outfits"]) - scores, features = service.get_result(outfits) - # save features in databases + # try: + fashion_dataset = FashionDataset(request_item['database']) + service = OutfitMaterTypeAware() + result = [] + start_time = time.time() + for item in request_item['query']: + outfits = fashion_dataset.generate_outfit(item, request_item["topk"], request_item["max_outfits"]) + scores, features = service.get_result(outfits) + # save features in databases - if request_item['is_best']: - best_outfits, best_scores = service.visualize(outfits, scores, request_item["topk"], best=True, - # output_path=os.path.join(r"E:\workspace\outfit_matcher\2024 SS Outfit", f"{item['item_name']}_best_{param['topk']}.png") - ) - result.append({"outfits": best_outfits, "scores": best_scores}) - else: - bad_outfits, bad_scores = service.visualize(outfits, scores, request_item["topk"], best=False, - # output_path=os.path.join(r"E:\workspace\outfit_matcher\2024 SS Outfit", f"{item['item_name']}_worst_{param['topk']}.png") - ) - result.append({"outfits": bad_outfits, "scores": bad_scores}) - logger.info(f"run time is : {time.time() - start_time}") - return {"message": "ok", "data": result} - except Exception as e: - return {"message": f"{e}", "data": e} + if request_item['is_best']: + best_outfits, best_scores = service.visualize(outfits, scores, request_item["topk"], best=True, + # output_path=os.path.join(r"E:\workspace\outfit_matcher\2024 SS Outfit", f"{item['item_name']}_best_{param['topk']}.png") + ) + result.append({"outfits": best_outfits, "scores": best_scores}) + else: + bad_outfits, bad_scores = service.visualize(outfits, scores, request_item["topk"], best=False, + # output_path=os.path.join(r"E:\workspace\outfit_matcher\2024 SS Outfit", f"{item['item_name']}_worst_{param['topk']}.png") + ) + result.append({"outfits": bad_outfits, "scores": bad_scores}) + logger.info(f"run time is : {time.time() - start_time}") + return {"message": "ok", "data": result} + # except Exception as e: + # logger.warning(e) + # return {"message": f"{e}", "data": e} \ No newline at end of file diff --git a/app/logs/errors.log b/app/logs/errors.log index 500d6f5..d4310d1 100644 --- a/app/logs/errors.log +++ b/app/logs/errors.log @@ -496,3 +496,1183 @@ 2024-03-27 11:29:00,679 decorator.py [line:11] INFO function:【get_result】,runtime:【0.5070171356201172】s 2024-03-27 11:29:00,680 api_outfit_matcher.py [line:43] INFO run time is : 9.467643737792969 2024-03-27 11:29:00,680 api_outfit_matcher.py [line:43] INFO run time is : 9.467643737792969 +2024-03-27 13:30:38,821 decorator.py [line:11] INFO function:【load_image】,runtime:【0.15550470352172852】s +2024-03-27 13:30:38,821 decorator.py [line:11] INFO function:【load_image】,runtime:【0.15550470352172852】s +2024-03-27 13:30:38,934 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08606624603271484】s +2024-03-27 13:30:38,934 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08606624603271484】s +2024-03-27 13:30:38,999 decorator.py [line:11] INFO function:【get_result】,runtime:【0.33286070823669434】s +2024-03-27 13:30:38,999 decorator.py [line:11] INFO function:【get_result】,runtime:【0.33286070823669434】s +2024-03-27 13:30:39,077 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07663869857788086】s +2024-03-27 13:30:39,077 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07663869857788086】s +2024-03-27 13:30:39,162 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06574702262878418】s +2024-03-27 13:30:39,162 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06574702262878418】s +2024-03-27 13:30:39,263 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08019447326660156】s +2024-03-27 13:30:39,263 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08019447326660156】s +2024-03-27 13:30:39,354 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06640124320983887】s +2024-03-27 13:30:39,354 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06640124320983887】s +2024-03-27 13:30:39,441 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06897974014282227】s +2024-03-27 13:30:39,441 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06897974014282227】s +2024-03-27 13:30:39,542 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0815584659576416】s +2024-03-27 13:30:39,542 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0815584659576416】s +2024-03-27 13:30:39,643 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0785970687866211】s +2024-03-27 13:30:39,643 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0785970687866211】s +2024-03-27 13:30:39,754 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09034609794616699】s +2024-03-27 13:30:39,754 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09034609794616699】s +2024-03-27 13:30:39,864 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08805131912231445】s +2024-03-27 13:30:39,864 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08805131912231445】s +2024-03-27 13:30:39,962 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07776498794555664】s +2024-03-27 13:30:39,962 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07776498794555664】s +2024-03-27 13:30:40,054 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07399749755859375】s +2024-03-27 13:30:40,054 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07399749755859375】s +2024-03-27 13:31:55,612 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09929108619689941】s +2024-03-27 13:31:55,612 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09929108619689941】s +2024-03-27 13:31:55,709 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07589292526245117】s +2024-03-27 13:31:55,709 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07589292526245117】s +2024-03-27 13:31:55,770 decorator.py [line:11] INFO function:【get_result】,runtime:【0.2573847770690918】s +2024-03-27 13:31:55,770 decorator.py [line:11] INFO function:【get_result】,runtime:【0.2573847770690918】s +2024-03-27 13:31:55,851 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07907915115356445】s +2024-03-27 13:31:55,851 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07907915115356445】s +2024-03-27 13:31:55,924 decorator.py [line:11] INFO function:【load_image】,runtime:【0.057257890701293945】s +2024-03-27 13:31:55,924 decorator.py [line:11] INFO function:【load_image】,runtime:【0.057257890701293945】s +2024-03-27 13:31:56,024 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08169937133789062】s +2024-03-27 13:31:56,024 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08169937133789062】s +2024-03-27 13:31:56,100 decorator.py [line:11] INFO function:【load_image】,runtime:【0.058481454849243164】s +2024-03-27 13:31:56,100 decorator.py [line:11] INFO function:【load_image】,runtime:【0.058481454849243164】s +2024-03-27 13:31:56,186 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06927204132080078】s +2024-03-27 13:31:56,186 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06927204132080078】s +2024-03-27 13:31:56,279 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0771634578704834】s +2024-03-27 13:31:56,279 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0771634578704834】s +2024-03-27 13:31:56,372 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07645511627197266】s +2024-03-27 13:31:56,372 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07645511627197266】s +2024-03-27 13:31:56,460 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0690762996673584】s +2024-03-27 13:31:56,460 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0690762996673584】s +2024-03-27 13:31:56,542 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06473708152770996】s +2024-03-27 13:31:56,542 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06473708152770996】s +2024-03-27 13:31:56,631 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07141780853271484】s +2024-03-27 13:31:56,631 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07141780853271484】s +2024-03-27 13:31:56,706 decorator.py [line:11] INFO function:【load_image】,runtime:【0.057878732681274414】s +2024-03-27 13:31:56,706 decorator.py [line:11] INFO function:【load_image】,runtime:【0.057878732681274414】s +2024-03-27 13:31:56,767 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. +Traceback of TorchScript, serialized code (most recent call last): + File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward + _4505 = int(_4504) + _4506 = ops.prim.NumToTensor(torch.size(images, 1)) + _4507 = torch.view(_1, [_4505, int(_4506), -1]) + ~~~~~~~~~~ <--- HERE + _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) + _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) + +Traceback of TorchScript, original code (most recent call last): +D:\PhD_Study\second paper\OutfitMatcher\fcm\models\main_model\type_aware_net.py(81): forward +C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\nn\modules\module.py(1488): _slow_forward +C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\nn\modules\module.py(1501): _call_impl +C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\jit\_trace.py(1056): trace_module +C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\jit\_trace.py(794): trace +D:\PhD_Study\second paper\OutfitMatcher\tools\pytorch2torchscript.py(68): pytorch2libtorch +D:\PhD_Study\second paper\OutfitMatcher\tools\pytorch2torchscript.py(128): +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\_pydev_imps\_pydev_execfile.py(18): execfile +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(1500): _exec +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(1493): run +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(2181): main +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(2199): +RuntimeError: shape '[5, 3, -1]' is invalid for input of size 704 + +2024-03-27 13:31:56,767 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. +Traceback of TorchScript, serialized code (most recent call last): + File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward + _4505 = int(_4504) + _4506 = ops.prim.NumToTensor(torch.size(images, 1)) + _4507 = torch.view(_1, [_4505, int(_4506), -1]) + ~~~~~~~~~~ <--- HERE + _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) + _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) + +Traceback of TorchScript, original code (most recent call last): +D:\PhD_Study\second paper\OutfitMatcher\fcm\models\main_model\type_aware_net.py(81): forward +C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\nn\modules\module.py(1488): _slow_forward +C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\nn\modules\module.py(1501): _call_impl +C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\jit\_trace.py(1056): trace_module +C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\jit\_trace.py(794): trace +D:\PhD_Study\second paper\OutfitMatcher\tools\pytorch2torchscript.py(68): pytorch2libtorch +D:\PhD_Study\second paper\OutfitMatcher\tools\pytorch2torchscript.py(128): +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\_pydev_imps\_pydev_execfile.py(18): execfile +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(1500): _exec +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(1493): run +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(2181): main +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(2199): +RuntimeError: shape '[5, 3, -1]' is invalid for input of size 704 + +2024-03-27 13:32:15,772 decorator.py [line:11] INFO function:【load_image】,runtime:【0.12557196617126465】s +2024-03-27 13:32:15,772 decorator.py [line:11] INFO function:【load_image】,runtime:【0.12557196617126465】s +2024-03-27 13:32:15,867 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0776052474975586】s +2024-03-27 13:32:15,867 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0776052474975586】s +2024-03-27 13:32:36,283 decorator.py [line:11] INFO function:【get_result】,runtime:【19.695392847061157】s +2024-03-27 13:32:36,283 decorator.py [line:11] INFO function:【get_result】,runtime:【19.695392847061157】s +2024-03-27 13:32:39,885 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10496735572814941】s +2024-03-27 13:32:39,885 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10496735572814941】s +2024-03-27 13:32:39,961 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0580439567565918】s +2024-03-27 13:32:39,961 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0580439567565918】s +2024-03-27 13:32:40,049 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07145905494689941】s +2024-03-27 13:32:40,049 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07145905494689941】s +2024-03-27 13:32:40,128 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06016206741333008】s +2024-03-27 13:32:40,128 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06016206741333008】s +2024-03-27 13:32:40,217 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07137513160705566】s +2024-03-27 13:32:40,217 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07137513160705566】s +2024-03-27 13:32:40,302 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06730365753173828】s +2024-03-27 13:32:40,302 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06730365753173828】s +2024-03-27 13:32:40,391 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07237100601196289】s +2024-03-27 13:32:40,391 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07237100601196289】s +2024-03-27 13:32:40,467 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05928659439086914】s +2024-03-27 13:32:40,467 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05928659439086914】s +2024-03-27 13:32:40,555 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07037734985351562】s +2024-03-27 13:32:40,555 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07037734985351562】s +2024-03-27 13:32:40,630 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05862092971801758】s +2024-03-27 13:32:40,630 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05862092971801758】s +2024-03-27 13:32:40,714 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06795549392700195】s +2024-03-27 13:32:40,714 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06795549392700195】s +2024-03-27 13:32:59,944 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. +Traceback of TorchScript, serialized code (most recent call last): + File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward + _4505 = int(_4504) + _4506 = ops.prim.NumToTensor(torch.size(images, 1)) + _4507 = torch.view(_1, [_4505, int(_4506), -1]) + ~~~~~~~~~~ <--- HERE + _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) + _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) + +Traceback of TorchScript, original code (most recent call last): +D:\PhD_Study\second paper\OutfitMatcher\fcm\models\main_model\type_aware_net.py(81): forward +C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\nn\modules\module.py(1488): _slow_forward +C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\nn\modules\module.py(1501): _call_impl +C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\jit\_trace.py(1056): trace_module +C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\jit\_trace.py(794): trace +D:\PhD_Study\second paper\OutfitMatcher\tools\pytorch2torchscript.py(68): pytorch2libtorch +D:\PhD_Study\second paper\OutfitMatcher\tools\pytorch2torchscript.py(128): +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\_pydev_imps\_pydev_execfile.py(18): execfile +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(1500): _exec +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(1493): run +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(2181): main +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(2199): +RuntimeError: shape '[5, 3, -1]' is invalid for input of size 704 + +2024-03-27 13:32:59,944 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. +Traceback of TorchScript, serialized code (most recent call last): + File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward + _4505 = int(_4504) + _4506 = ops.prim.NumToTensor(torch.size(images, 1)) + _4507 = torch.view(_1, [_4505, int(_4506), -1]) + ~~~~~~~~~~ <--- HERE + _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) + _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) + +Traceback of TorchScript, original code (most recent call last): +D:\PhD_Study\second paper\OutfitMatcher\fcm\models\main_model\type_aware_net.py(81): forward +C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\nn\modules\module.py(1488): _slow_forward +C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\nn\modules\module.py(1501): _call_impl +C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\jit\_trace.py(1056): trace_module +C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\jit\_trace.py(794): trace +D:\PhD_Study\second paper\OutfitMatcher\tools\pytorch2torchscript.py(68): pytorch2libtorch +D:\PhD_Study\second paper\OutfitMatcher\tools\pytorch2torchscript.py(128): +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\_pydev_imps\_pydev_execfile.py(18): execfile +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(1500): _exec +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(1493): run +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(2181): main +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(2199): +RuntimeError: shape '[5, 3, -1]' is invalid for input of size 704 + +2024-03-27 13:33:43,337 decorator.py [line:11] INFO function:【load_image】,runtime:【0.14627313613891602】s +2024-03-27 13:33:43,337 decorator.py [line:11] INFO function:【load_image】,runtime:【0.14627313613891602】s +2024-03-27 13:33:43,461 decorator.py [line:11] INFO function:【load_image】,runtime:【0.1029977798461914】s +2024-03-27 13:33:43,461 decorator.py [line:11] INFO function:【load_image】,runtime:【0.1029977798461914】s +2024-03-27 13:33:59,429 decorator.py [line:11] INFO function:【get_result】,runtime:【16.2382390499115】s +2024-03-27 13:33:59,429 decorator.py [line:11] INFO function:【get_result】,runtime:【16.2382390499115】s +2024-03-27 13:34:10,372 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08557796478271484】s +2024-03-27 13:34:10,372 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08557796478271484】s +2024-03-27 13:34:10,453 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06261587142944336】s +2024-03-27 13:34:10,453 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06261587142944336】s +2024-03-27 13:34:10,545 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07466697692871094】s +2024-03-27 13:34:10,545 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07466697692871094】s +2024-03-27 13:34:10,631 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0677337646484375】s +2024-03-27 13:34:10,631 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0677337646484375】s +2024-03-27 13:34:10,720 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06990265846252441】s +2024-03-27 13:34:10,720 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06990265846252441】s +2024-03-27 13:34:10,797 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06044435501098633】s +2024-03-27 13:34:10,797 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06044435501098633】s +2024-03-27 13:34:10,886 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0711050033569336】s +2024-03-27 13:34:10,886 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0711050033569336】s +2024-03-27 13:34:10,959 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05511355400085449】s +2024-03-27 13:34:10,959 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05511355400085449】s +2024-03-27 13:34:11,048 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07124543190002441】s +2024-03-27 13:34:11,048 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07124543190002441】s +2024-03-27 13:34:11,136 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07120442390441895】s +2024-03-27 13:34:11,136 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07120442390441895】s +2024-03-27 13:34:18,491 decorator.py [line:11] INFO function:【get_result】,runtime:【8.2043616771698】s +2024-03-27 13:34:18,491 decorator.py [line:11] INFO function:【get_result】,runtime:【8.2043616771698】s +2024-03-27 13:34:25,870 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07835936546325684】s +2024-03-27 13:34:25,870 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07835936546325684】s +2024-03-27 13:34:25,958 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0702660083770752】s +2024-03-27 13:34:25,958 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0702660083770752】s +2024-03-27 13:34:26,989 decorator.py [line:11] INFO function:【get_result】,runtime:【1.1981890201568604】s +2024-03-27 13:34:26,989 decorator.py [line:11] INFO function:【get_result】,runtime:【1.1981890201568604】s +2024-03-27 13:34:32,613 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0731658935546875】s +2024-03-27 13:34:32,613 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0731658935546875】s +2024-03-27 13:34:32,701 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07103252410888672】s +2024-03-27 13:34:32,701 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07103252410888672】s +2024-03-27 13:34:33,431 decorator.py [line:11] INFO function:【get_result】,runtime:【0.8910684585571289】s +2024-03-27 13:34:33,431 decorator.py [line:11] INFO function:【get_result】,runtime:【0.8910684585571289】s +2024-03-27 13:34:40,859 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06885647773742676】s +2024-03-27 13:34:40,859 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06885647773742676】s +2024-03-27 13:34:40,949 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0716407299041748】s +2024-03-27 13:34:40,949 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0716407299041748】s +2024-03-27 13:34:41,763 decorator.py [line:11] INFO function:【get_result】,runtime:【0.9724898338317871】s +2024-03-27 13:34:41,763 decorator.py [line:11] INFO function:【get_result】,runtime:【0.9724898338317871】s +2024-03-27 13:34:46,008 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07497215270996094】s +2024-03-27 13:34:46,008 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07497215270996094】s +2024-03-27 13:34:46,097 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07019209861755371】s +2024-03-27 13:34:46,097 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07019209861755371】s +2024-03-27 13:34:46,177 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06341028213500977】s +2024-03-27 13:34:46,177 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06341028213500977】s +2024-03-27 13:34:46,269 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07452797889709473】s +2024-03-27 13:34:46,269 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07452797889709473】s +2024-03-27 13:34:46,355 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06654644012451172】s +2024-03-27 13:34:46,355 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06654644012451172】s +2024-03-27 13:34:47,260 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. +Traceback of TorchScript, serialized code (most recent call last): + File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward + _4505 = int(_4504) + _4506 = ops.prim.NumToTensor(torch.size(images, 1)) + _4507 = torch.view(_1, [_4505, int(_4506), -1]) + ~~~~~~~~~~ <--- HERE + _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) + _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) + +Traceback of TorchScript, original code (most recent call last): +D:\PhD_Study\second paper\OutfitMatcher\fcm\models\main_model\type_aware_net.py(81): forward +C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\nn\modules\module.py(1488): _slow_forward +C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\nn\modules\module.py(1501): _call_impl +C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\jit\_trace.py(1056): trace_module +C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\jit\_trace.py(794): trace +D:\PhD_Study\second paper\OutfitMatcher\tools\pytorch2torchscript.py(68): pytorch2libtorch +D:\PhD_Study\second paper\OutfitMatcher\tools\pytorch2torchscript.py(128): +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\_pydev_imps\_pydev_execfile.py(18): execfile +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(1500): _exec +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(1493): run +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(2181): main +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(2199): +RuntimeError: shape '[2, 3, -1]' is invalid for input of size 320 + +2024-03-27 13:34:47,260 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. +Traceback of TorchScript, serialized code (most recent call last): + File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward + _4505 = int(_4504) + _4506 = ops.prim.NumToTensor(torch.size(images, 1)) + _4507 = torch.view(_1, [_4505, int(_4506), -1]) + ~~~~~~~~~~ <--- HERE + _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) + _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) + +Traceback of TorchScript, original code (most recent call last): +D:\PhD_Study\second paper\OutfitMatcher\fcm\models\main_model\type_aware_net.py(81): forward +C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\nn\modules\module.py(1488): _slow_forward +C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\nn\modules\module.py(1501): _call_impl +C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\jit\_trace.py(1056): trace_module +C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\jit\_trace.py(794): trace +D:\PhD_Study\second paper\OutfitMatcher\tools\pytorch2torchscript.py(68): pytorch2libtorch +D:\PhD_Study\second paper\OutfitMatcher\tools\pytorch2torchscript.py(128): +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\_pydev_imps\_pydev_execfile.py(18): execfile +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(1500): _exec +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(1493): run +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(2181): main +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(2199): +RuntimeError: shape '[2, 3, -1]' is invalid for input of size 320 + +2024-03-27 13:54:49,395 decorator.py [line:11] INFO function:【load_image】,runtime:【0.14566850662231445】s +2024-03-27 13:54:49,395 decorator.py [line:11] INFO function:【load_image】,runtime:【0.14566850662231445】s +2024-03-27 13:54:49,502 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08782744407653809】s +2024-03-27 13:54:49,502 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08782744407653809】s +2024-03-27 13:54:49,597 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07923293113708496】s +2024-03-27 13:54:49,597 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07923293113708496】s +2024-03-27 13:54:49,695 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07961916923522949】s +2024-03-27 13:54:49,695 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07961916923522949】s +2024-03-27 13:54:49,795 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0831143856048584】s +2024-03-27 13:54:49,795 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0831143856048584】s +2024-03-27 13:54:59,153 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. +Traceback of TorchScript, serialized code (most recent call last): + File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward + _4505 = int(_4504) + _4506 = ops.prim.NumToTensor(torch.size(images, 1)) + _4507 = torch.view(_1, [_4505, int(_4506), -1]) + ~~~~~~~~~~ <--- HERE + _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) + _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) + +Traceback of TorchScript, original code (most recent call last): +D:\PhD_Study\second paper\OutfitMatcher\fcm\models\main_model\type_aware_net.py(81): forward +C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\nn\modules\module.py(1488): _slow_forward +C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\nn\modules\module.py(1501): _call_impl +C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\jit\_trace.py(1056): trace_module +C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\jit\_trace.py(794): trace +D:\PhD_Study\second paper\OutfitMatcher\tools\pytorch2torchscript.py(68): pytorch2libtorch +D:\PhD_Study\second paper\OutfitMatcher\tools\pytorch2torchscript.py(128): +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\_pydev_imps\_pydev_execfile.py(18): execfile +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(1500): _exec +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(1493): run +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(2181): main +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(2199): +RuntimeError: shape '[2, 3, -1]' is invalid for input of size 320 + +2024-03-27 13:54:59,153 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. +Traceback of TorchScript, serialized code (most recent call last): + File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward + _4505 = int(_4504) + _4506 = ops.prim.NumToTensor(torch.size(images, 1)) + _4507 = torch.view(_1, [_4505, int(_4506), -1]) + ~~~~~~~~~~ <--- HERE + _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) + _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) + +Traceback of TorchScript, original code (most recent call last): +D:\PhD_Study\second paper\OutfitMatcher\fcm\models\main_model\type_aware_net.py(81): forward +C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\nn\modules\module.py(1488): _slow_forward +C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\nn\modules\module.py(1501): _call_impl +C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\jit\_trace.py(1056): trace_module +C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\jit\_trace.py(794): trace +D:\PhD_Study\second paper\OutfitMatcher\tools\pytorch2torchscript.py(68): pytorch2libtorch +D:\PhD_Study\second paper\OutfitMatcher\tools\pytorch2torchscript.py(128): +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\_pydev_imps\_pydev_execfile.py(18): execfile +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(1500): _exec +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(1493): run +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(2181): main +C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(2199): +RuntimeError: shape '[2, 3, -1]' is invalid for input of size 320 + +2024-03-27 13:58:20,340 decorator.py [line:11] INFO function:【load_image】,runtime:【0.1419973373413086】s +2024-03-27 13:58:20,340 decorator.py [line:11] INFO function:【load_image】,runtime:【0.1419973373413086】s +2024-03-27 13:58:20,442 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08225560188293457】s +2024-03-27 13:58:20,442 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08225560188293457】s +2024-03-27 13:58:22,899 decorator.py [line:11] INFO function:【get_result】,runtime:【2.701899528503418】s +2024-03-27 13:58:22,899 decorator.py [line:11] INFO function:【get_result】,runtime:【2.701899528503418】s +2024-03-27 13:58:27,827 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09511446952819824】s +2024-03-27 13:58:27,827 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09511446952819824】s +2024-03-27 13:58:27,920 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0761256217956543】s +2024-03-27 13:58:27,920 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0761256217956543】s +2024-03-27 13:58:28,015 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0797882080078125】s +2024-03-27 13:58:28,015 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0797882080078125】s +2024-03-27 13:58:28,102 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0706169605255127】s +2024-03-27 13:58:28,102 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0706169605255127】s +2024-03-27 13:58:28,203 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0837099552154541】s +2024-03-27 13:58:28,203 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0837099552154541】s +2024-03-27 13:58:28,277 decorator.py [line:11] INFO function:【load_image】,runtime:【0.058257102966308594】s +2024-03-27 13:58:28,277 decorator.py [line:11] INFO function:【load_image】,runtime:【0.058257102966308594】s +2024-03-27 13:58:28,373 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07945060729980469】s +2024-03-27 13:58:28,373 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07945060729980469】s +2024-03-27 13:58:28,449 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05907869338989258】s +2024-03-27 13:58:28,449 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05907869338989258】s +2024-03-27 13:58:28,535 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06852412223815918】s +2024-03-27 13:58:28,535 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06852412223815918】s +2024-03-27 13:58:28,612 decorator.py [line:11] INFO function:【load_image】,runtime:【0.059185028076171875】s +2024-03-27 13:58:28,612 decorator.py [line:11] INFO function:【load_image】,runtime:【0.059185028076171875】s +2024-03-27 13:58:28,696 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06656241416931152】s +2024-03-27 13:58:28,696 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06656241416931152】s +2024-03-27 13:58:30,848 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. +Traceback of TorchScript (most recent call last): + File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward + _4505 = int(_4504) + _4506 = ops.prim.NumToTensor(torch.size(images, 1)) + _4507 = torch.view(_1, [_4505, int(_4506), -1]) + ~~~~~~~~~~ <--- HERE + _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) + _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) +RuntimeError: shape '[5, 3, -1]' is invalid for input of size 704 + +2024-03-27 13:58:30,848 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. +Traceback of TorchScript (most recent call last): + File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward + _4505 = int(_4504) + _4506 = ops.prim.NumToTensor(torch.size(images, 1)) + _4507 = torch.view(_1, [_4505, int(_4506), -1]) + ~~~~~~~~~~ <--- HERE + _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) + _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) +RuntimeError: shape '[5, 3, -1]' is invalid for input of size 704 + +2024-03-27 13:58:44,145 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10509109497070312】s +2024-03-27 13:58:44,145 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10509109497070312】s +2024-03-27 13:58:44,241 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07898759841918945】s +2024-03-27 13:58:44,241 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07898759841918945】s +2024-03-27 13:58:44,275 decorator.py [line:11] INFO function:【get_result】,runtime:【0.2351522445678711】s +2024-03-27 13:58:44,275 decorator.py [line:11] INFO function:【get_result】,runtime:【0.2351522445678711】s +2024-03-27 13:58:45,574 decorator.py [line:11] INFO function:【load_image】,runtime:【0.14697742462158203】s +2024-03-27 13:58:45,574 decorator.py [line:11] INFO function:【load_image】,runtime:【0.14697742462158203】s +2024-03-27 13:58:45,679 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08646893501281738】s +2024-03-27 13:58:45,679 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08646893501281738】s +2024-03-27 13:58:45,773 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0773007869720459】s +2024-03-27 13:58:45,773 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0773007869720459】s +2024-03-27 13:58:45,859 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06799125671386719】s +2024-03-27 13:58:45,859 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06799125671386719】s +2024-03-27 13:58:45,949 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07116031646728516】s +2024-03-27 13:58:45,949 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07116031646728516】s +2024-03-27 13:58:46,042 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07659769058227539】s +2024-03-27 13:58:46,042 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07659769058227539】s +2024-03-27 13:58:46,119 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06028294563293457】s +2024-03-27 13:58:46,119 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06028294563293457】s +2024-03-27 13:58:46,214 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07743430137634277】s +2024-03-27 13:58:46,214 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07743430137634277】s +2024-03-27 13:58:46,288 decorator.py [line:11] INFO function:【load_image】,runtime:【0.057299137115478516】s +2024-03-27 13:58:46,288 decorator.py [line:11] INFO function:【load_image】,runtime:【0.057299137115478516】s +2024-03-27 13:58:46,373 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06985664367675781】s +2024-03-27 13:58:46,373 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06985664367675781】s +2024-03-27 13:58:46,461 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07092571258544922】s +2024-03-27 13:58:46,461 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07092571258544922】s +2024-03-27 13:58:46,533 decorator.py [line:11] INFO function:【load_image】,runtime:【0.055513620376586914】s +2024-03-27 13:58:46,533 decorator.py [line:11] INFO function:【load_image】,runtime:【0.055513620376586914】s +2024-03-27 13:58:46,591 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. +Traceback of TorchScript (most recent call last): + File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward + _4505 = int(_4504) + _4506 = ops.prim.NumToTensor(torch.size(images, 1)) + _4507 = torch.view(_1, [_4505, int(_4506), -1]) + ~~~~~~~~~~ <--- HERE + _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) + _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) +RuntimeError: shape '[5, 3, -1]' is invalid for input of size 768 + +2024-03-27 13:58:46,591 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. +Traceback of TorchScript (most recent call last): + File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward + _4505 = int(_4504) + _4506 = ops.prim.NumToTensor(torch.size(images, 1)) + _4507 = torch.view(_1, [_4505, int(_4506), -1]) + ~~~~~~~~~~ <--- HERE + _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) + _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) +RuntimeError: shape '[5, 3, -1]' is invalid for input of size 768 + +2024-03-27 13:58:57,964 api_outfit_matcher.py [line:46] WARNING 'tops' +2024-03-27 13:58:57,964 api_outfit_matcher.py [line:46] WARNING 'tops' +2024-03-27 13:59:03,013 api_outfit_matcher.py [line:46] WARNING 'tops' +2024-03-27 13:59:03,013 api_outfit_matcher.py [line:46] WARNING 'tops' +2024-03-27 13:59:37,401 decorator.py [line:11] INFO function:【load_image】,runtime:【0.16234040260314941】s +2024-03-27 13:59:37,401 decorator.py [line:11] INFO function:【load_image】,runtime:【0.16234040260314941】s +2024-03-27 13:59:37,529 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11061978340148926】s +2024-03-27 13:59:37,529 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11061978340148926】s +2024-03-27 13:59:37,578 decorator.py [line:11] INFO function:【get_result】,runtime:【0.3390374183654785】s +2024-03-27 13:59:37,578 decorator.py [line:11] INFO function:【get_result】,runtime:【0.3390374183654785】s +2024-03-27 13:59:37,579 api_outfit_matcher.py [line:43] INFO run time is : 4.3606555461883545 +2024-03-27 13:59:37,579 api_outfit_matcher.py [line:43] INFO run time is : 4.3606555461883545 +2024-03-27 13:59:53,533 decorator.py [line:11] INFO function:【load_image】,runtime:【0.12405610084533691】s +2024-03-27 13:59:53,533 decorator.py [line:11] INFO function:【load_image】,runtime:【0.12405610084533691】s +2024-03-27 13:59:53,614 decorator.py [line:11] INFO function:【load_image】,runtime:【0.062774658203125】s +2024-03-27 13:59:53,614 decorator.py [line:11] INFO function:【load_image】,runtime:【0.062774658203125】s +2024-03-27 13:59:53,706 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07370877265930176】s +2024-03-27 13:59:53,706 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07370877265930176】s +2024-03-27 13:59:53,782 decorator.py [line:11] INFO function:【load_image】,runtime:【0.058119773864746094】s +2024-03-27 13:59:53,782 decorator.py [line:11] INFO function:【load_image】,runtime:【0.058119773864746094】s +2024-03-27 13:59:53,884 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08421730995178223】s +2024-03-27 13:59:53,884 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08421730995178223】s +2024-03-27 13:59:53,959 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05769848823547363】s +2024-03-27 13:59:53,959 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05769848823547363】s +2024-03-27 13:59:54,047 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07019829750061035】s +2024-03-27 13:59:54,047 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07019829750061035】s +2024-03-27 13:59:54,136 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07048344612121582】s +2024-03-27 13:59:54,136 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07048344612121582】s +2024-03-27 13:59:54,214 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05997824668884277】s +2024-03-27 13:59:54,214 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05997824668884277】s +2024-03-27 13:59:54,303 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07163858413696289】s +2024-03-27 13:59:54,303 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07163858413696289】s +2024-03-27 13:59:54,386 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06445097923278809】s +2024-03-27 13:59:54,386 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06445097923278809】s +2024-03-27 13:59:54,440 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. +Traceback of TorchScript (most recent call last): + File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward + _4505 = int(_4504) + _4506 = ops.prim.NumToTensor(torch.size(images, 1)) + _4507 = torch.view(_1, [_4505, int(_4506), -1]) + ~~~~~~~~~~ <--- HERE + _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) + _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) +RuntimeError: shape '[5, 3, -1]' is invalid for input of size 704 + +2024-03-27 13:59:54,440 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. +Traceback of TorchScript (most recent call last): + File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward + _4505 = int(_4504) + _4506 = ops.prim.NumToTensor(torch.size(images, 1)) + _4507 = torch.view(_1, [_4505, int(_4506), -1]) + ~~~~~~~~~~ <--- HERE + _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) + _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) +RuntimeError: shape '[5, 3, -1]' is invalid for input of size 704 + +2024-03-27 14:00:04,040 decorator.py [line:11] INFO function:【load_image】,runtime:【0.15560507774353027】s +2024-03-27 14:00:04,040 decorator.py [line:11] INFO function:【load_image】,runtime:【0.15560507774353027】s +2024-03-27 14:00:04,168 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10945677757263184】s +2024-03-27 14:00:04,168 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10945677757263184】s +2024-03-27 14:00:04,302 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11451935768127441】s +2024-03-27 14:00:04,302 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11451935768127441】s +2024-03-27 14:00:04,403 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08105683326721191】s +2024-03-27 14:00:04,403 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08105683326721191】s +2024-03-27 14:00:04,556 decorator.py [line:11] INFO function:【load_image】,runtime:【0.13525652885437012】s +2024-03-27 14:00:04,556 decorator.py [line:11] INFO function:【load_image】,runtime:【0.13525652885437012】s +2024-03-27 14:00:04,677 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10164761543273926】s +2024-03-27 14:00:04,677 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10164761543273926】s +2024-03-27 14:00:04,806 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11051678657531738】s +2024-03-27 14:00:04,806 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11051678657531738】s +2024-03-27 14:00:04,939 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11425638198852539】s +2024-03-27 14:00:04,939 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11425638198852539】s +2024-03-27 14:00:05,050 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09280538558959961】s +2024-03-27 14:00:05,050 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09280538558959961】s +2024-03-27 14:00:05,179 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11007046699523926】s +2024-03-27 14:00:05,179 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11007046699523926】s +2024-03-27 14:00:05,287 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09088277816772461】s +2024-03-27 14:00:05,287 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09088277816772461】s +2024-03-27 14:00:05,397 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0912470817565918】s +2024-03-27 14:00:05,397 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0912470817565918】s +2024-03-27 14:00:05,449 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. +Traceback of TorchScript (most recent call last): + File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward + _4505 = int(_4504) + _4506 = ops.prim.NumToTensor(torch.size(images, 1)) + _4507 = torch.view(_1, [_4505, int(_4506), -1]) + ~~~~~~~~~~ <--- HERE + _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) + _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) +RuntimeError: shape '[5, 3, -1]' is invalid for input of size 768 + +2024-03-27 14:00:05,449 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. +Traceback of TorchScript (most recent call last): + File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward + _4505 = int(_4504) + _4506 = ops.prim.NumToTensor(torch.size(images, 1)) + _4507 = torch.view(_1, [_4505, int(_4506), -1]) + ~~~~~~~~~~ <--- HERE + _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) + _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) +RuntimeError: shape '[5, 3, -1]' is invalid for input of size 768 + +2024-03-27 14:00:24,103 decorator.py [line:11] INFO function:【load_image】,runtime:【0.12218999862670898】s +2024-03-27 14:00:24,103 decorator.py [line:11] INFO function:【load_image】,runtime:【0.12218999862670898】s +2024-03-27 14:00:24,206 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08275294303894043】s +2024-03-27 14:00:24,206 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08275294303894043】s +2024-03-27 14:00:24,257 decorator.py [line:11] INFO function:【get_result】,runtime:【0.27626585960388184】s +2024-03-27 14:00:24,257 decorator.py [line:11] INFO function:【get_result】,runtime:【0.27626585960388184】s +2024-03-27 14:00:27,384 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08464622497558594】s +2024-03-27 14:00:27,384 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08464622497558594】s +2024-03-27 14:00:27,483 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08122897148132324】s +2024-03-27 14:00:27,483 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08122897148132324】s +2024-03-27 14:00:27,514 decorator.py [line:11] INFO function:【get_result】,runtime:【0.21431875228881836】s +2024-03-27 14:00:27,514 decorator.py [line:11] INFO function:【get_result】,runtime:【0.21431875228881836】s +2024-03-27 14:00:28,238 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06983208656311035】s +2024-03-27 14:00:28,238 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06983208656311035】s +2024-03-27 14:00:28,339 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08301925659179688】s +2024-03-27 14:00:28,339 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08301925659179688】s +2024-03-27 14:00:28,372 decorator.py [line:11] INFO function:【get_result】,runtime:【0.2040712833404541】s +2024-03-27 14:00:28,372 decorator.py [line:11] INFO function:【get_result】,runtime:【0.2040712833404541】s +2024-03-27 14:00:29,044 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08105134963989258】s +2024-03-27 14:00:29,044 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08105134963989258】s +2024-03-27 14:00:29,150 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08832597732543945】s +2024-03-27 14:00:29,150 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08832597732543945】s +2024-03-27 14:00:29,180 decorator.py [line:11] INFO function:【get_result】,runtime:【0.21682119369506836】s +2024-03-27 14:00:29,180 decorator.py [line:11] INFO function:【get_result】,runtime:【0.21682119369506836】s +2024-03-27 14:00:29,839 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0821681022644043】s +2024-03-27 14:00:29,839 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0821681022644043】s +2024-03-27 14:00:29,935 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07955217361450195】s +2024-03-27 14:00:29,935 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07955217361450195】s +2024-03-27 14:00:30,019 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06698799133300781】s +2024-03-27 14:00:30,019 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06698799133300781】s +2024-03-27 14:00:30,108 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07267951965332031】s +2024-03-27 14:00:30,108 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07267951965332031】s +2024-03-27 14:00:30,201 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07572412490844727】s +2024-03-27 14:00:30,201 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07572412490844727】s +2024-03-27 14:00:30,274 decorator.py [line:11] INFO function:【load_image】,runtime:【0.055880069732666016】s +2024-03-27 14:00:30,274 decorator.py [line:11] INFO function:【load_image】,runtime:【0.055880069732666016】s +2024-03-27 14:00:30,361 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07042908668518066】s +2024-03-27 14:00:30,361 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07042908668518066】s +2024-03-27 14:00:30,458 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07879352569580078】s +2024-03-27 14:00:30,458 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07879352569580078】s +2024-03-27 14:00:30,542 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06822371482849121】s +2024-03-27 14:00:30,542 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06822371482849121】s +2024-03-27 14:00:30,627 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06983423233032227】s +2024-03-27 14:00:30,627 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06983423233032227】s +2024-03-27 14:00:30,718 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07277274131774902】s +2024-03-27 14:00:30,718 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07277274131774902】s +2024-03-27 14:00:30,803 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06798839569091797】s +2024-03-27 14:00:30,803 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06798839569091797】s +2024-03-27 14:00:30,894 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07380461692810059】s +2024-03-27 14:00:30,894 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07380461692810059】s +2024-03-27 14:00:30,987 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0753021240234375】s +2024-03-27 14:00:30,987 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0753021240234375】s +2024-03-27 14:00:31,062 decorator.py [line:11] INFO function:【load_image】,runtime:【0.058187007904052734】s +2024-03-27 14:00:31,062 decorator.py [line:11] INFO function:【load_image】,runtime:【0.058187007904052734】s +2024-03-27 14:00:31,114 decorator.py [line:11] INFO function:【get_result】,runtime:【1.3570747375488281】s +2024-03-27 14:00:31,114 decorator.py [line:11] INFO function:【get_result】,runtime:【1.3570747375488281】s +2024-03-27 14:00:32,052 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0656881332397461】s +2024-03-27 14:00:32,052 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0656881332397461】s +2024-03-27 14:00:32,145 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07381057739257812】s +2024-03-27 14:00:32,145 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07381057739257812】s +2024-03-27 14:00:32,176 decorator.py [line:11] INFO function:【get_result】,runtime:【0.18974781036376953】s +2024-03-27 14:00:32,176 decorator.py [line:11] INFO function:【get_result】,runtime:【0.18974781036376953】s +2024-03-27 14:00:32,176 api_outfit_matcher.py [line:43] INFO run time is : 10.125276803970337 +2024-03-27 14:00:32,176 api_outfit_matcher.py [line:43] INFO run time is : 10.125276803970337 +2024-03-27 14:00:48,000 decorator.py [line:11] INFO function:【load_image】,runtime:【0.2157456874847412】s +2024-03-27 14:00:48,000 decorator.py [line:11] INFO function:【load_image】,runtime:【0.2157456874847412】s +2024-03-27 14:00:48,116 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09854531288146973】s +2024-03-27 14:00:48,116 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09854531288146973】s +2024-03-27 14:00:48,249 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11585569381713867】s +2024-03-27 14:00:48,249 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11585569381713867】s +2024-03-27 14:00:48,351 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08505105972290039】s +2024-03-27 14:00:48,351 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08505105972290039】s +2024-03-27 14:00:48,455 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08607959747314453】s +2024-03-27 14:00:48,455 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08607959747314453】s +2024-03-27 14:00:48,560 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08723664283752441】s +2024-03-27 14:00:48,560 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08723664283752441】s +2024-03-27 14:00:48,655 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07823681831359863】s +2024-03-27 14:00:48,655 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07823681831359863】s +2024-03-27 14:00:48,790 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11772513389587402】s +2024-03-27 14:00:48,790 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11772513389587402】s +2024-03-27 14:00:48,902 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0930490493774414】s +2024-03-27 14:00:48,902 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0930490493774414】s +2024-03-27 14:00:49,027 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10860133171081543】s +2024-03-27 14:00:49,027 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10860133171081543】s +2024-03-27 14:00:49,122 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07420182228088379】s +2024-03-27 14:00:49,122 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07420182228088379】s +2024-03-27 14:00:49,187 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. +Traceback of TorchScript (most recent call last): + File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward + _4505 = int(_4504) + _4506 = ops.prim.NumToTensor(torch.size(images, 1)) + _4507 = torch.view(_1, [_4505, int(_4506), -1]) + ~~~~~~~~~~ <--- HERE + _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) + _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) +RuntimeError: shape '[5, 3, -1]' is invalid for input of size 704 + +2024-03-27 14:00:49,187 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. +Traceback of TorchScript (most recent call last): + File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward + _4505 = int(_4504) + _4506 = ops.prim.NumToTensor(torch.size(images, 1)) + _4507 = torch.view(_1, [_4505, int(_4506), -1]) + ~~~~~~~~~~ <--- HERE + _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) + _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) +RuntimeError: shape '[5, 3, -1]' is invalid for input of size 704 + +2024-03-27 14:01:02,099 decorator.py [line:11] INFO function:【load_image】,runtime:【0.16933894157409668】s +2024-03-27 14:01:02,099 decorator.py [line:11] INFO function:【load_image】,runtime:【0.16933894157409668】s +2024-03-27 14:01:02,194 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07816171646118164】s +2024-03-27 14:01:02,194 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07816171646118164】s +2024-03-27 14:01:02,302 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08951163291931152】s +2024-03-27 14:01:02,302 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08951163291931152】s +2024-03-27 14:01:02,407 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0887606143951416】s +2024-03-27 14:01:02,407 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0887606143951416】s +2024-03-27 14:01:02,509 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08620452880859375】s +2024-03-27 14:01:02,509 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08620452880859375】s +2024-03-27 14:01:02,599 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07243728637695312】s +2024-03-27 14:01:02,599 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07243728637695312】s +2024-03-27 14:01:02,698 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08305978775024414】s +2024-03-27 14:01:02,698 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08305978775024414】s +2024-03-27 14:01:02,786 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0703268051147461】s +2024-03-27 14:01:02,786 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0703268051147461】s +2024-03-27 14:01:02,870 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06625247001647949】s +2024-03-27 14:01:02,870 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06625247001647949】s +2024-03-27 14:01:02,958 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07140207290649414】s +2024-03-27 14:01:02,958 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07140207290649414】s +2024-03-27 14:01:03,031 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05882072448730469】s +2024-03-27 14:01:03,031 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05882072448730469】s +2024-03-27 14:01:03,119 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07142138481140137】s +2024-03-27 14:01:03,119 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07142138481140137】s +2024-03-27 14:01:03,193 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05618572235107422】s +2024-03-27 14:01:03,193 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05618572235107422】s +2024-03-27 14:01:03,277 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06607556343078613】s +2024-03-27 14:01:03,277 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06607556343078613】s +2024-03-27 14:01:03,335 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. +Traceback of TorchScript (most recent call last): + File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward + _4505 = int(_4504) + _4506 = ops.prim.NumToTensor(torch.size(images, 1)) + _4507 = torch.view(_1, [_4505, int(_4506), -1]) + ~~~~~~~~~~ <--- HERE + _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) + _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) +RuntimeError: shape '[6, 3, -1]' is invalid for input of size 896 + +2024-03-27 14:01:03,335 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. +Traceback of TorchScript (most recent call last): + File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward + _4505 = int(_4504) + _4506 = ops.prim.NumToTensor(torch.size(images, 1)) + _4507 = torch.view(_1, [_4505, int(_4506), -1]) + ~~~~~~~~~~ <--- HERE + _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) + _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) +RuntimeError: shape '[6, 3, -1]' is invalid for input of size 896 + +2024-03-27 14:02:22,476 decorator.py [line:11] INFO function:【load_image】,runtime:【0.12627029418945312】s +2024-03-27 14:02:22,476 decorator.py [line:11] INFO function:【load_image】,runtime:【0.12627029418945312】s +2024-03-27 14:02:22,586 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09139084815979004】s +2024-03-27 14:02:22,586 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09139084815979004】s +2024-03-27 14:02:22,658 decorator.py [line:11] INFO function:【get_result】,runtime:【0.30730652809143066】s +2024-03-27 14:02:22,658 decorator.py [line:11] INFO function:【get_result】,runtime:【0.30730652809143066】s +2024-03-27 14:02:22,658 api_outfit_matcher.py [line:43] INFO run time is : 0.30835771560668945 +2024-03-27 14:02:22,658 api_outfit_matcher.py [line:43] INFO run time is : 0.30835771560668945 +2024-03-27 14:02:35,439 api_outfit_matcher.py [line:46] WARNING 'bottoms' +2024-03-27 14:02:35,439 api_outfit_matcher.py [line:46] WARNING 'bottoms' +2024-03-27 14:02:39,781 api_outfit_matcher.py [line:46] WARNING 'bottoms' +2024-03-27 14:02:39,781 api_outfit_matcher.py [line:46] WARNING 'bottoms' +2024-03-27 14:02:51,401 api_outfit_matcher.py [line:46] WARNING 'bottoms' +2024-03-27 14:02:51,401 api_outfit_matcher.py [line:46] WARNING 'bottoms' +2024-03-27 14:04:04,097 api_outfit_matcher.py [line:46] WARNING 'bottoms' +2024-03-27 14:04:04,097 api_outfit_matcher.py [line:46] WARNING 'bottoms' +2024-03-27 14:04:06,307 api_outfit_matcher.py [line:46] WARNING 'bottoms' +2024-03-27 14:04:06,307 api_outfit_matcher.py [line:46] WARNING 'bottoms' +2024-03-27 14:04:28,865 api_outfit_matcher.py [line:46] WARNING 'bottoms' +2024-03-27 14:04:28,865 api_outfit_matcher.py [line:46] WARNING 'bottoms' +2024-03-27 14:04:29,773 api_outfit_matcher.py [line:46] WARNING 'bottoms' +2024-03-27 14:04:29,773 api_outfit_matcher.py [line:46] WARNING 'bottoms' +2024-03-27 14:13:28,169 decorator.py [line:11] INFO function:【load_image】,runtime:【0.12053704261779785】s +2024-03-27 14:13:28,169 decorator.py [line:11] INFO function:【load_image】,runtime:【0.12053704261779785】s +2024-03-27 14:13:28,264 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07200479507446289】s +2024-03-27 14:13:28,264 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07200479507446289】s +2024-03-27 14:13:28,320 decorator.py [line:11] INFO function:【get_result】,runtime:【0.27213454246520996】s +2024-03-27 14:13:28,320 decorator.py [line:11] INFO function:【get_result】,runtime:【0.27213454246520996】s +2024-03-27 14:13:28,321 api_outfit_matcher.py [line:43] INFO run time is : 9.347336292266846 +2024-03-27 14:13:28,321 api_outfit_matcher.py [line:43] INFO run time is : 9.347336292266846 +2024-03-27 14:13:41,694 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11302900314331055】s +2024-03-27 14:13:41,694 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11302900314331055】s +2024-03-27 14:13:41,786 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07468986511230469】s +2024-03-27 14:13:41,786 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07468986511230469】s +2024-03-27 14:13:41,885 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08054018020629883】s +2024-03-27 14:13:41,885 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08054018020629883】s +2024-03-27 14:13:41,975 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0731651782989502】s +2024-03-27 14:13:41,975 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0731651782989502】s +2024-03-27 14:13:42,072 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08111858367919922】s +2024-03-27 14:13:42,072 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08111858367919922】s +2024-03-27 14:13:42,149 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05853128433227539】s +2024-03-27 14:13:42,149 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05853128433227539】s +2024-03-27 14:13:42,243 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07651996612548828】s +2024-03-27 14:13:42,243 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07651996612548828】s +2024-03-27 14:13:42,333 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07381224632263184】s +2024-03-27 14:13:42,333 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07381224632263184】s +2024-03-27 14:13:42,427 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07590818405151367】s +2024-03-27 14:13:42,427 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07590818405151367】s +2024-03-27 14:13:42,502 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05824589729309082】s +2024-03-27 14:13:42,502 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05824589729309082】s +2024-03-27 14:13:42,546 decorator.py [line:11] INFO function:【get_result】,runtime:【0.9643533229827881】s +2024-03-27 14:13:42,546 decorator.py [line:11] INFO function:【get_result】,runtime:【0.9643533229827881】s +2024-03-27 14:13:42,547 api_outfit_matcher.py [line:43] INFO run time is : 2.5539469718933105 +2024-03-27 14:13:42,547 api_outfit_matcher.py [line:43] INFO run time is : 2.5539469718933105 +2024-03-27 14:13:48,812 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10729408264160156】s +2024-03-27 14:13:48,812 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10729408264160156】s +2024-03-27 14:13:48,890 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06264424324035645】s +2024-03-27 14:13:48,890 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06264424324035645】s +2024-03-27 14:13:48,987 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07999897003173828】s +2024-03-27 14:13:48,987 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07999897003173828】s +2024-03-27 14:13:49,075 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0713644027709961】s +2024-03-27 14:13:49,075 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0713644027709961】s +2024-03-27 14:13:49,170 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07723450660705566】s +2024-03-27 14:13:49,170 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07723450660705566】s +2024-03-27 14:13:49,252 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06630754470825195】s +2024-03-27 14:13:49,252 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06630754470825195】s +2024-03-27 14:13:49,348 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07870364189147949】s +2024-03-27 14:13:49,348 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07870364189147949】s +2024-03-27 14:13:49,421 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05652785301208496】s +2024-03-27 14:13:49,421 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05652785301208496】s +2024-03-27 14:13:49,513 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07566189765930176】s +2024-03-27 14:13:49,513 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07566189765930176】s +2024-03-27 14:13:49,602 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07099485397338867】s +2024-03-27 14:13:49,602 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07099485397338867】s +2024-03-27 14:13:49,652 decorator.py [line:11] INFO function:【get_result】,runtime:【0.9470536708831787】s +2024-03-27 14:13:49,652 decorator.py [line:11] INFO function:【get_result】,runtime:【0.9470536708831787】s +2024-03-27 14:13:49,653 api_outfit_matcher.py [line:43] INFO run time is : 0.9490540027618408 +2024-03-27 14:13:49,653 api_outfit_matcher.py [line:43] INFO run time is : 0.9490540027618408 +2024-03-27 14:13:51,276 decorator.py [line:11] INFO function:【load_image】,runtime:【0.12873482704162598】s +2024-03-27 14:13:51,276 decorator.py [line:11] INFO function:【load_image】,runtime:【0.12873482704162598】s +2024-03-27 14:13:51,370 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07540464401245117】s +2024-03-27 14:13:51,370 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07540464401245117】s +2024-03-27 14:13:51,477 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08808326721191406】s +2024-03-27 14:13:51,477 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08808326721191406】s +2024-03-27 14:13:51,581 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08571839332580566】s +2024-03-27 14:13:51,581 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08571839332580566】s +2024-03-27 14:13:51,678 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0799405574798584】s +2024-03-27 14:13:51,678 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0799405574798584】s +2024-03-27 14:13:51,774 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07712888717651367】s +2024-03-27 14:13:51,774 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07712888717651367】s +2024-03-27 14:13:51,872 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08074474334716797】s +2024-03-27 14:13:51,872 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08074474334716797】s +2024-03-27 14:13:51,952 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06273889541625977】s +2024-03-27 14:13:51,952 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06273889541625977】s +2024-03-27 14:13:52,050 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08139181137084961】s +2024-03-27 14:13:52,050 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08139181137084961】s +2024-03-27 14:13:52,133 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06469225883483887】s +2024-03-27 14:13:52,133 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06469225883483887】s +2024-03-27 14:13:52,179 decorator.py [line:11] INFO function:【get_result】,runtime:【1.0312957763671875】s +2024-03-27 14:13:52,179 decorator.py [line:11] INFO function:【get_result】,runtime:【1.0312957763671875】s +2024-03-27 14:13:52,179 api_outfit_matcher.py [line:43] INFO run time is : 1.0312957763671875 +2024-03-27 14:13:52,179 api_outfit_matcher.py [line:43] INFO run time is : 1.0312957763671875 +2024-03-27 14:14:05,332 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11725211143493652】s +2024-03-27 14:14:05,332 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11725211143493652】s +2024-03-27 14:14:05,425 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07071876525878906】s +2024-03-27 14:14:05,425 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07071876525878906】s +2024-03-27 14:14:05,529 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0852499008178711】s +2024-03-27 14:14:05,529 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0852499008178711】s +2024-03-27 14:14:05,626 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07905936241149902】s +2024-03-27 14:14:05,626 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07905936241149902】s +2024-03-27 14:14:05,727 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08432912826538086】s +2024-03-27 14:14:05,727 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08432912826538086】s +2024-03-27 14:14:05,819 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07285594940185547】s +2024-03-27 14:14:05,819 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07285594940185547】s +2024-03-27 14:14:05,916 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07759284973144531】s +2024-03-27 14:14:05,916 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07759284973144531】s +2024-03-27 14:14:06,012 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07890105247497559】s +2024-03-27 14:14:06,012 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07890105247497559】s +2024-03-27 14:14:06,095 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06615090370178223】s +2024-03-27 14:14:06,095 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06615090370178223】s +2024-03-27 14:14:06,194 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08176875114440918】s +2024-03-27 14:14:06,194 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08176875114440918】s +2024-03-27 14:14:06,273 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0603032112121582】s +2024-03-27 14:14:06,273 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0603032112121582】s +2024-03-27 14:14:06,360 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06786799430847168】s +2024-03-27 14:14:06,360 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06786799430847168】s +2024-03-27 14:14:21,380 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10731768608093262】s +2024-03-27 14:14:21,380 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10731768608093262】s +2024-03-27 14:14:21,477 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07420969009399414】s +2024-03-27 14:14:21,477 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07420969009399414】s +2024-03-27 14:14:21,574 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07980537414550781】s +2024-03-27 14:14:21,574 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07980537414550781】s +2024-03-27 14:14:21,654 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06193065643310547】s +2024-03-27 14:14:21,654 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06193065643310547】s +2024-03-27 14:14:21,750 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0795445442199707】s +2024-03-27 14:14:21,750 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0795445442199707】s +2024-03-27 14:14:21,834 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06658554077148438】s +2024-03-27 14:14:21,834 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06658554077148438】s +2024-03-27 14:14:21,929 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07778453826904297】s +2024-03-27 14:14:21,929 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07778453826904297】s +2024-03-27 14:14:22,006 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05918693542480469】s +2024-03-27 14:14:22,006 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05918693542480469】s +2024-03-27 14:14:22,102 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07865786552429199】s +2024-03-27 14:14:22,102 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07865786552429199】s +2024-03-27 14:14:22,190 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07041430473327637】s +2024-03-27 14:14:22,190 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07041430473327637】s +2024-03-27 14:14:22,323 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11721158027648926】s +2024-03-27 14:14:22,323 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11721158027648926】s +2024-03-27 14:14:22,416 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07410883903503418】s +2024-03-27 14:14:22,416 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07410883903503418】s +2024-03-27 14:14:22,516 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07660293579101562】s +2024-03-27 14:14:22,516 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07660293579101562】s +2024-03-27 14:14:26,496 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11292743682861328】s +2024-03-27 14:14:26,496 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11292743682861328】s +2024-03-27 14:14:26,573 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05947279930114746】s +2024-03-27 14:14:26,573 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05947279930114746】s +2024-03-27 14:14:26,669 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07658600807189941】s +2024-03-27 14:14:26,669 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07658600807189941】s +2024-03-27 14:14:26,753 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06722331047058105】s +2024-03-27 14:14:26,753 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06722331047058105】s +2024-03-27 14:14:26,846 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0749204158782959】s +2024-03-27 14:14:26,846 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0749204158782959】s +2024-03-27 14:14:26,933 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06791448593139648】s +2024-03-27 14:14:26,933 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06791448593139648】s +2024-03-27 14:14:27,023 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07126331329345703】s +2024-03-27 14:14:27,023 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07126331329345703】s +2024-03-27 14:14:27,117 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0749061107635498】s +2024-03-27 14:14:27,117 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0749061107635498】s +2024-03-27 14:14:27,191 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05623435974121094】s +2024-03-27 14:14:27,191 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05623435974121094】s +2024-03-27 14:14:27,279 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06994819641113281】s +2024-03-27 14:14:27,279 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06994819641113281】s +2024-03-27 14:14:27,361 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06389856338500977】s +2024-03-27 14:14:27,361 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06389856338500977】s +2024-03-27 14:14:28,419 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10083913803100586】s +2024-03-27 14:14:28,419 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10083913803100586】s +2024-03-27 14:14:28,510 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07288980484008789】s +2024-03-27 14:14:28,510 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07288980484008789】s +2024-03-27 14:14:28,606 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0774831771850586】s +2024-03-27 14:14:28,606 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0774831771850586】s +2024-03-27 14:14:28,690 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06493782997131348】s +2024-03-27 14:14:28,690 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06493782997131348】s +2024-03-27 14:14:28,790 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08233404159545898】s +2024-03-27 14:14:28,790 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08233404159545898】s +2024-03-27 14:14:28,871 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06325149536132812】s +2024-03-27 14:14:28,871 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06325149536132812】s +2024-03-27 14:14:28,961 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07159209251403809】s +2024-03-27 14:14:28,961 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07159209251403809】s +2024-03-27 14:14:29,054 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07437419891357422】s +2024-03-27 14:14:29,054 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07437419891357422】s +2024-03-27 14:14:29,129 decorator.py [line:11] INFO function:【load_image】,runtime:【0.057080745697021484】s +2024-03-27 14:14:29,129 decorator.py [line:11] INFO function:【load_image】,runtime:【0.057080745697021484】s +2024-03-27 14:14:29,217 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07136392593383789】s +2024-03-27 14:14:29,217 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07136392593383789】s +2024-03-27 14:14:29,293 decorator.py [line:11] INFO function:【load_image】,runtime:【0.057555198669433594】s +2024-03-27 14:14:29,293 decorator.py [line:11] INFO function:【load_image】,runtime:【0.057555198669433594】s +2024-03-27 14:14:29,378 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06703376770019531】s +2024-03-27 14:14:29,378 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06703376770019531】s +2024-03-27 14:14:40,905 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11571621894836426】s +2024-03-27 14:14:40,905 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11571621894836426】s +2024-03-27 14:14:41,010 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0827176570892334】s +2024-03-27 14:14:41,010 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0827176570892334】s +2024-03-27 14:14:41,044 decorator.py [line:11] INFO function:【get_result】,runtime:【0.25452423095703125】s +2024-03-27 14:14:41,044 decorator.py [line:11] INFO function:【get_result】,runtime:【0.25452423095703125】s +2024-03-27 14:14:41,116 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07067036628723145】s +2024-03-27 14:14:41,116 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07067036628723145】s +2024-03-27 14:14:41,213 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07850337028503418】s +2024-03-27 14:14:41,213 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07850337028503418】s +2024-03-27 14:14:41,244 decorator.py [line:11] INFO function:【get_result】,runtime:【0.19916868209838867】s +2024-03-27 14:14:41,244 decorator.py [line:11] INFO function:【get_result】,runtime:【0.19916868209838867】s +2024-03-27 14:14:41,304 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0590207576751709】s +2024-03-27 14:14:41,304 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0590207576751709】s +2024-03-27 14:14:41,403 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07943153381347656】s +2024-03-27 14:14:41,403 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07943153381347656】s +2024-03-27 14:14:41,438 decorator.py [line:11] INFO function:【get_result】,runtime:【0.19217133522033691】s +2024-03-27 14:14:41,438 decorator.py [line:11] INFO function:【get_result】,runtime:【0.19217133522033691】s +2024-03-27 14:14:41,507 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06877613067626953】s +2024-03-27 14:14:41,507 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06877613067626953】s +2024-03-27 14:14:41,610 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08210253715515137】s +2024-03-27 14:14:41,610 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08210253715515137】s +2024-03-27 14:14:41,642 decorator.py [line:11] INFO function:【get_result】,runtime:【0.20302748680114746】s +2024-03-27 14:14:41,642 decorator.py [line:11] INFO function:【get_result】,runtime:【0.20302748680114746】s +2024-03-27 14:14:41,715 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07173418998718262】s +2024-03-27 14:14:41,715 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07173418998718262】s +2024-03-27 14:14:41,808 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07458186149597168】s +2024-03-27 14:14:41,808 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07458186149597168】s +2024-03-27 14:14:41,890 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06409287452697754】s +2024-03-27 14:14:41,890 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06409287452697754】s +2024-03-27 14:14:41,973 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06636548042297363】s +2024-03-27 14:14:41,973 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06636548042297363】s +2024-03-27 14:14:42,062 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07068657875061035】s +2024-03-27 14:14:42,062 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07068657875061035】s +2024-03-27 14:14:42,149 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06926965713500977】s +2024-03-27 14:14:42,149 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06926965713500977】s +2024-03-27 14:14:42,232 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0660395622253418】s +2024-03-27 14:14:42,232 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0660395622253418】s +2024-03-27 14:14:42,323 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07256722450256348】s +2024-03-27 14:14:42,323 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07256722450256348】s +2024-03-27 14:14:42,397 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05702400207519531】s +2024-03-27 14:14:42,397 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05702400207519531】s +2024-03-27 14:14:42,485 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06693291664123535】s +2024-03-27 14:14:42,485 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06693291664123535】s +2024-03-27 14:14:42,572 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0691843032836914】s +2024-03-27 14:14:42,572 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0691843032836914】s +2024-03-27 14:14:42,646 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05779695510864258】s +2024-03-27 14:14:42,646 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05779695510864258】s +2024-03-27 14:14:42,736 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0709836483001709】s +2024-03-27 14:14:42,736 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0709836483001709】s +2024-03-27 14:14:42,826 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07241034507751465】s +2024-03-27 14:14:42,826 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07241034507751465】s +2024-03-27 14:14:42,908 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06538867950439453】s +2024-03-27 14:14:42,908 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06538867950439453】s +2024-03-27 14:14:42,984 decorator.py [line:11] INFO function:【get_result】,runtime:【1.3399734497070312】s +2024-03-27 14:14:42,984 decorator.py [line:11] INFO function:【get_result】,runtime:【1.3399734497070312】s +2024-03-27 14:14:43,041 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0576634407043457】s +2024-03-27 14:14:43,041 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0576634407043457】s +2024-03-27 14:14:43,130 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07071876525878906】s +2024-03-27 14:14:43,130 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07071876525878906】s +2024-03-27 14:14:43,167 decorator.py [line:11] INFO function:【get_result】,runtime:【0.18287253379821777】s +2024-03-27 14:14:43,167 decorator.py [line:11] INFO function:【get_result】,runtime:【0.18287253379821777】s +2024-03-27 14:14:43,168 api_outfit_matcher.py [line:43] INFO run time is : 2.3777401447296143 +2024-03-27 14:14:43,168 api_outfit_matcher.py [line:43] INFO run time is : 2.3777401447296143 +2024-03-27 14:14:46,705 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10887026786804199】s +2024-03-27 14:14:46,705 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10887026786804199】s +2024-03-27 14:14:46,805 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08235359191894531】s +2024-03-27 14:14:46,805 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08235359191894531】s +2024-03-27 14:14:46,907 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08365893363952637】s +2024-03-27 14:14:46,907 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08365893363952637】s +2024-03-27 14:14:46,983 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05913829803466797】s +2024-03-27 14:14:46,983 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05913829803466797】s +2024-03-27 14:14:47,091 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09004020690917969】s +2024-03-27 14:14:47,091 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09004020690917969】s +2024-03-27 14:14:47,176 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06689047813415527】s +2024-03-27 14:14:47,176 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06689047813415527】s +2024-03-27 14:14:47,274 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0794064998626709】s +2024-03-27 14:14:47,274 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0794064998626709】s +2024-03-27 14:14:47,368 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07596850395202637】s +2024-03-27 14:14:47,368 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07596850395202637】s +2024-03-27 14:14:47,469 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08249664306640625】s +2024-03-27 14:14:47,469 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08249664306640625】s +2024-03-27 14:14:47,554 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06575179100036621】s +2024-03-27 14:14:47,554 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06575179100036621】s +2024-03-27 14:14:47,597 decorator.py [line:11] INFO function:【get_result】,runtime:【1.0012257099151611】s +2024-03-27 14:14:47,597 decorator.py [line:11] INFO function:【get_result】,runtime:【1.0012257099151611】s +2024-03-27 14:14:47,598 api_outfit_matcher.py [line:43] INFO run time is : 1.0032567977905273 +2024-03-27 14:14:47,598 api_outfit_matcher.py [line:43] INFO run time is : 1.0032567977905273 +2024-03-27 14:14:50,183 decorator.py [line:11] INFO function:【load_image】,runtime:【0.1313343048095703】s +2024-03-27 14:14:50,183 decorator.py [line:11] INFO function:【load_image】,runtime:【0.1313343048095703】s +2024-03-27 14:14:50,272 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06959009170532227】s +2024-03-27 14:14:50,272 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06959009170532227】s +2024-03-27 14:14:50,373 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08186006546020508】s +2024-03-27 14:14:50,373 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08186006546020508】s +2024-03-27 14:14:50,460 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06712198257446289】s +2024-03-27 14:14:50,460 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06712198257446289】s +2024-03-27 14:14:50,556 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07895445823669434】s +2024-03-27 14:14:50,556 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07895445823669434】s +2024-03-27 14:14:50,640 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06591057777404785】s +2024-03-27 14:14:50,640 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06591057777404785】s +2024-03-27 14:14:50,732 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07393789291381836】s +2024-03-27 14:14:50,732 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07393789291381836】s +2024-03-27 14:14:50,831 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08100056648254395】s +2024-03-27 14:14:50,831 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08100056648254395】s +2024-03-27 14:14:50,917 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06758689880371094】s +2024-03-27 14:14:50,917 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06758689880371094】s +2024-03-27 14:14:51,013 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07765388488769531】s +2024-03-27 14:14:51,013 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07765388488769531】s +2024-03-27 14:14:51,102 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07015538215637207】s +2024-03-27 14:14:51,102 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07015538215637207】s +2024-03-27 14:16:43,899 decorator.py [line:11] INFO function:【load_image】,runtime:【0.13039946556091309】s +2024-03-27 14:16:43,899 decorator.py [line:11] INFO function:【load_image】,runtime:【0.13039946556091309】s +2024-03-27 14:16:44,062 decorator.py [line:11] INFO function:【load_image】,runtime:【0.13941526412963867】s +2024-03-27 14:16:44,062 decorator.py [line:11] INFO function:【load_image】,runtime:【0.13941526412963867】s +2024-03-27 14:16:44,232 decorator.py [line:11] INFO function:【load_image】,runtime:【0.15298748016357422】s +2024-03-27 14:16:44,232 decorator.py [line:11] INFO function:【load_image】,runtime:【0.15298748016357422】s +2024-03-27 14:16:44,392 decorator.py [line:11] INFO function:【load_image】,runtime:【0.14305353164672852】s +2024-03-27 14:16:44,392 decorator.py [line:11] INFO function:【load_image】,runtime:【0.14305353164672852】s +2024-03-27 14:16:44,576 decorator.py [line:11] INFO function:【load_image】,runtime:【0.16811156272888184】s +2024-03-27 14:16:44,576 decorator.py [line:11] INFO function:【load_image】,runtime:【0.16811156272888184】s +2024-03-27 14:16:44,744 decorator.py [line:11] INFO function:【load_image】,runtime:【0.15052032470703125】s +2024-03-27 14:16:44,744 decorator.py [line:11] INFO function:【load_image】,runtime:【0.15052032470703125】s +2024-03-27 14:16:44,882 decorator.py [line:11] INFO function:【load_image】,runtime:【0.1208045482635498】s +2024-03-27 14:16:44,882 decorator.py [line:11] INFO function:【load_image】,runtime:【0.1208045482635498】s +2024-03-27 14:16:44,958 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05800986289978027】s +2024-03-27 14:16:44,958 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05800986289978027】s +2024-03-27 14:16:45,067 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09082460403442383】s +2024-03-27 14:16:45,067 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09082460403442383】s +2024-03-27 14:16:45,141 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05906391143798828】s +2024-03-27 14:16:45,141 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05906391143798828】s +2024-03-27 14:16:45,237 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07822608947753906】s +2024-03-27 14:16:45,237 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07822608947753906】s +2024-03-27 14:18:54,726 decorator.py [line:11] INFO function:【load_image】,runtime:【300.05387806892395】s +2024-03-27 14:18:54,726 decorator.py [line:11] INFO function:【load_image】,runtime:【300.05387806892395】s +2024-03-27 14:19:16,846 decorator.py [line:11] INFO function:【load_image】,runtime:【300.04746174812317】s +2024-03-27 14:19:16,846 decorator.py [line:11] INFO function:【load_image】,runtime:【300.04746174812317】s +2024-03-27 14:19:30,319 decorator.py [line:11] INFO function:【load_image】,runtime:【300.03394055366516】s +2024-03-27 14:19:30,319 decorator.py [line:11] INFO function:【load_image】,runtime:【300.03394055366516】s +2024-03-27 14:20:02,512 decorator.py [line:11] INFO function:【load_image】,runtime:【0.14667463302612305】s +2024-03-27 14:20:02,512 decorator.py [line:11] INFO function:【load_image】,runtime:【0.14667463302612305】s +2024-03-27 14:20:02,607 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07747149467468262】s +2024-03-27 14:20:02,607 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07747149467468262】s +2024-03-27 14:20:02,717 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09011220932006836】s +2024-03-27 14:20:02,717 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09011220932006836】s +2024-03-27 14:20:02,805 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06991457939147949】s +2024-03-27 14:20:02,805 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06991457939147949】s +2024-03-27 14:20:02,910 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08726048469543457】s +2024-03-27 14:20:02,910 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08726048469543457】s +2024-03-27 14:20:02,991 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06430816650390625】s +2024-03-27 14:20:02,991 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06430816650390625】s +2024-03-27 14:20:03,087 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07968354225158691】s +2024-03-27 14:20:03,087 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07968354225158691】s +2024-03-27 14:20:03,189 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08442282676696777】s +2024-03-27 14:20:03,189 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08442282676696777】s +2024-03-27 14:20:03,278 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07222533226013184】s +2024-03-27 14:20:03,278 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07222533226013184】s +2024-03-27 14:20:03,379 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08110642433166504】s +2024-03-27 14:20:03,379 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08110642433166504】s +2024-03-27 14:20:03,469 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07362747192382812】s +2024-03-27 14:20:03,469 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07362747192382812】s +2024-03-27 14:20:38,969 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11296820640563965】s +2024-03-27 14:20:38,969 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11296820640563965】s +2024-03-27 14:20:39,056 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06966471672058105】s +2024-03-27 14:20:39,056 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06966471672058105】s +2024-03-27 14:20:39,158 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08404111862182617】s +2024-03-27 14:20:39,158 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08404111862182617】s +2024-03-27 14:20:39,250 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07638955116271973】s +2024-03-27 14:20:39,250 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07638955116271973】s +2024-03-27 14:20:39,352 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08615422248840332】s +2024-03-27 14:20:39,352 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08615422248840332】s +2024-03-27 14:20:39,433 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0630955696105957】s +2024-03-27 14:20:39,433 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0630955696105957】s +2024-03-27 14:20:39,537 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0868382453918457】s +2024-03-27 14:20:39,537 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0868382453918457】s +2024-03-27 14:20:39,630 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07893753051757812】s +2024-03-27 14:20:39,630 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07893753051757812】s +2024-03-27 14:20:39,728 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07926106452941895】s +2024-03-27 14:20:39,728 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07926106452941895】s +2024-03-27 14:20:39,805 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0608980655670166】s +2024-03-27 14:20:39,805 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0608980655670166】s +2024-03-27 14:21:14,308 decorator.py [line:11] INFO function:【get_result】,runtime:【35.45225286483765】s +2024-03-27 14:21:14,308 decorator.py [line:11] INFO function:【get_result】,runtime:【35.45225286483765】s +2024-03-27 14:21:14,309 api_outfit_matcher.py [line:43] INFO run time is : 46.602468490600586 +2024-03-27 14:21:14,309 api_outfit_matcher.py [line:43] INFO run time is : 46.602468490600586 +2024-03-27 14:21:32,320 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10713672637939453】s +2024-03-27 14:21:32,320 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10713672637939453】s +2024-03-27 14:21:32,400 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06152820587158203】s +2024-03-27 14:21:32,400 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06152820587158203】s +2024-03-27 14:21:32,490 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07219386100769043】s +2024-03-27 14:21:32,490 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07219386100769043】s +2024-03-27 14:21:32,571 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06483602523803711】s +2024-03-27 14:21:32,571 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06483602523803711】s +2024-03-27 14:21:32,661 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07199335098266602】s +2024-03-27 14:21:32,661 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07199335098266602】s +2024-03-27 14:21:32,756 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0789797306060791】s +2024-03-27 14:21:32,756 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0789797306060791】s +2024-03-27 14:21:32,855 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07486796379089355】s +2024-03-27 14:21:32,855 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07486796379089355】s +2024-03-27 14:21:32,947 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07346510887145996】s +2024-03-27 14:21:32,947 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07346510887145996】s +2024-03-27 14:21:33,029 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06652092933654785】s +2024-03-27 14:21:33,029 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06652092933654785】s +2024-03-27 14:21:33,115 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06980299949645996】s +2024-03-27 14:21:33,115 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06980299949645996】s +2024-03-27 14:21:33,189 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05495500564575195】s +2024-03-27 14:21:33,189 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05495500564575195】s +2024-03-27 14:21:47,627 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10357475280761719】s +2024-03-27 14:21:47,627 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10357475280761719】s +2024-03-27 14:21:47,707 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06177830696105957】s +2024-03-27 14:21:47,707 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06177830696105957】s +2024-03-27 14:21:47,802 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07734298706054688】s +2024-03-27 14:21:47,802 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07734298706054688】s +2024-03-27 14:21:47,892 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07427024841308594】s +2024-03-27 14:21:47,892 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07427024841308594】s +2024-03-27 14:21:47,980 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07008957862854004】s +2024-03-27 14:21:47,980 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07008957862854004】s +2024-03-27 14:21:48,066 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06926536560058594】s +2024-03-27 14:21:48,066 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06926536560058594】s +2024-03-27 14:21:48,159 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07513070106506348】s +2024-03-27 14:21:48,159 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07513070106506348】s +2024-03-27 14:21:48,240 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06406807899475098】s +2024-03-27 14:21:48,240 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06406807899475098】s +2024-03-27 14:21:48,328 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0713653564453125】s +2024-03-27 14:21:48,328 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0713653564453125】s +2024-03-27 14:21:48,413 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0676414966583252】s +2024-03-27 14:21:48,413 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0676414966583252】s +2024-03-27 14:22:04,655 decorator.py [line:11] INFO function:【get_result】,runtime:【17.13152003288269】s +2024-03-27 14:22:04,655 decorator.py [line:11] INFO function:【get_result】,runtime:【17.13152003288269】s +2024-03-27 14:22:04,656 api_outfit_matcher.py [line:43] INFO run time is : 18.978604078292847 +2024-03-27 14:22:04,656 api_outfit_matcher.py [line:43] INFO run time is : 18.978604078292847 +2024-03-27 14:22:08,333 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10210704803466797】s +2024-03-27 14:22:08,333 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10210704803466797】s +2024-03-27 14:22:08,422 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07208585739135742】s +2024-03-27 14:22:08,422 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07208585739135742】s +2024-03-27 14:22:08,525 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08597993850708008】s +2024-03-27 14:22:08,525 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08597993850708008】s +2024-03-27 14:22:08,625 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08390545845031738】s +2024-03-27 14:22:08,625 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08390545845031738】s +2024-03-27 14:22:08,727 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08538031578063965】s +2024-03-27 14:22:08,727 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08538031578063965】s +2024-03-27 14:22:08,805 decorator.py [line:11] INFO function:【load_image】,runtime:【0.059221506118774414】s +2024-03-27 14:22:08,805 decorator.py [line:11] INFO function:【load_image】,runtime:【0.059221506118774414】s +2024-03-27 14:22:08,892 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06974506378173828】s +2024-03-27 14:22:08,892 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06974506378173828】s +2024-03-27 14:22:08,982 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07265496253967285】s +2024-03-27 14:22:08,982 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07265496253967285】s +2024-03-27 14:22:09,056 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05707836151123047】s +2024-03-27 14:22:09,056 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05707836151123047】s +2024-03-27 14:22:09,146 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07120347023010254】s +2024-03-27 14:22:09,146 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07120347023010254】s +2024-03-27 14:22:09,230 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06669831275939941】s +2024-03-27 14:22:09,230 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06669831275939941】s +2024-03-27 14:26:41,041 decorator.py [line:11] INFO function:【load_image】,runtime:【300.03149700164795】s +2024-03-27 14:26:41,041 decorator.py [line:11] INFO function:【load_image】,runtime:【300.03149700164795】s +2024-03-27 15:10:21,691 api_attribute.py [line:17] INFO test +2024-03-27 15:10:21,691 api_attribute.py [line:17] INFO test +2024-03-27 15:19:50,431 api_attribute.py [line:17] INFO test +2024-03-27 15:19:50,431 api_attribute.py [line:17] INFO test +2024-03-27 15:20:48,998 api_attribute.py [line:18] INFO test +2024-03-27 15:20:48,998 api_attribute.py [line:18] INFO test +2024-03-27 15:24:37,184 api_attribute.py [line:18] INFO test +2024-03-27 15:24:37,184 api_attribute.py [line:18] INFO test +2024-03-27 15:50:48,918 api_attribute.py [line:18] INFO test +2024-03-27 15:50:48,918 api_attribute.py [line:18] INFO test +2024-03-27 15:53:25,057 api_attribute.py [line:18] INFO test +2024-03-27 15:53:25,057 api_attribute.py [line:18] INFO test +2024-03-27 16:01:53,943 api_attribute.py [line:18] INFO test +2024-03-27 16:01:53,943 api_attribute.py [line:18] INFO test +2024-03-27 16:23:31,085 api_attribute.py [line:18] INFO test +2024-03-27 16:23:31,085 api_attribute.py [line:18] INFO test diff --git a/app/service/attribute_recognition/const_debug.py b/app/service/attribute_recognition/const_debug.py new file mode 100644 index 0000000..3b20939 --- /dev/null +++ b/app/service/attribute_recognition/const_debug.py @@ -0,0 +1,139 @@ +import torch + +device = torch.device('cuda') +top_discription_list = [r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\1_top_length.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\2_top_type.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\3_top_Sleeve_length.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\4_top_Sleeve_shape.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\5_top_Sleeve_shoulder.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\6_top_Neckline.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\7_outer_Print.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\8_outer_Material.csv', + # r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\9_top_Material.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\9_top_Softness.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\10_top_Design.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\11_top_OPType.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\12_top_Silhouette.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\7_top_Collar.csv'] + +top_model_list = ['top_length', + 'top_type', + 'top_Sleeve_length', + 'top_Sleeve_shape', + 'top_Sleeve_shoulder', + 'top_Neckline', + 'top_print', + 'top_material', + 'top_Softness', + 'top_Design', + 'top_optype', + 'top_Silhouette', + 'top_Collar' + ] + +bottom_discription_list = [ + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\bottom\2_bottom_subtype.csv', + # r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\bottom\3_bottom_structure.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\bottom\3_bottom_length.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\bottom\7_outer_Print.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\bottom\8_outer_Material.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\bottom\5_bottom_Softness.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\bottom\8_bottom_Silhouette.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\bottom\7_bottom_OPType.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\bottom\6_bottom_Design.csv'] + +bottom_model_list = [ + 'bottom_sub-Type', + 'bottom_length', + 'bottom_print', + 'bottom_material', + 'bottom_Softness_B', + 'bottom_Silhouette_B', + 'bottom_OPType_B', + 'bottom_design'] + +outwear_discription_list = [r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\1_outer_length.csv', + # r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\2_outer_type.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\3_outer_sleeve_length.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\4_outer_sleeve_shape.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\5_outer_sleeve_shoulder.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\6_outer_Collar.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\7_outer_Print.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\8_outer_Material.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\9_outer_Softness.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\10_outer_Design.csv', + # r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\11_outer_opening.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\12_outer_OPType.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\13_outer_Silhouette.csv', ] + +outwear_model_list = ['outwear_outer_length', + # 'outwear_2_outer_type', + 'outwear_outer_sleeve_length', + 'outwear_outer_sleeve_shape', + 'outwear_outer_sleeve_shoulder', + 'outwear_outer_collar', + 'outwear_print', + 'outwear_material', + 'outwear_outer_softness', + 'outwear_outer_design', + # 'outwear_11_outer_opening', + 'outwear_outer_optype', + 'outwear_outer_silhouette'] + +jumpsuit_discription_list = [r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\1_jumsuit_length.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\2_jumpsuit_Sleeve_length.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\3_jumpsuit_Sleeve_shape.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\4_jumpsuit_Sleeve_shoulder.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\5_jumpsuit_Neckline.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\6_jumpsuit_Collar.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\7_jumpsuit_Print.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\8_jumpsuit_Material.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\9_jumpsuit_Softness.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\10_jumsuit_design.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\11_jumpsuit_OPType.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\12_jumpsuit_subtype.csv'] + +jumpsuit_model_list = ['jumpsuit_length', + 'jumpsuit_sleeve_length', + 'jumpsuit_sleeve_shape', + 'jumpsuit_sleeve_shoulder', + 'jumpsuit_neckline', + 'jumpsuit_collar', + 'jumpsuit_print', + 'jumpsuit_material', + 'jumpsuit_softness', + 'jumpsuit_design', + 'jumpsuit_optype', + 'jumpsuit_subtype'] + +dress_discription_list = [r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\1_dress_length.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\3_top_Sleeve_length.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\4_top_Sleeve_shape.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\5_top_Sleeve_shoulder.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\ori5_dress_Neckline.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\7_outer_Print.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\7_top_Collar.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\8_outer_Material.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\9_dress_Design.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\9_top_Softness.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\11_dress_Silhouette.csv', + # r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\11_top_OPType.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\12_dress_type.csv'] + +dress_model_list = ['dress_length', + 'dress_sleeve_length', + 'dress_sleeve_shape', + 'dress_sleeve_shoulder', + 'dress_neckline', + 'dress_print', + 'dress_collar', + 'dress_material', + 'dress_design', + 'dress_softness', + 'dress_silohouette12', + # 'dress_' + 'dress_type' + ] + +category_discription = r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\category\category_dis.csv' +category_model = 'category' diff --git a/app/service/attribute_recognition/discriptor/bottom/2_bottom_subtype.csv b/app/service/attribute_recognition/discriptor/bottom/2_bottom_subtype.csv index 0003292..3c6f0bc 100644 --- a/app/service/attribute_recognition/discriptor/bottom/2_bottom_subtype.csv +++ b/app/service/attribute_recognition/discriptor/bottom/2_bottom_subtype.csv @@ -1,21 +1,21 @@ labelName,join_attr,taskName,taskId -A Line Skirt,bottom_Sub-Type_1,BTM_Sub-Type,2 -Bodycon Skirt,bottom_Sub-Type_2,BTM_Sub-Type,2 -Boot-Cut,bottom_Sub-Type_3,BTM_Sub-Type,2 -Bubble skirt,bottom_Sub-Type_4,BTM_Sub-Type,2 -Cargo Pants,bottom_Sub-Type_5,BTM_Sub-Type,2 -Culottes,bottom_Sub-Type_6,BTM_Sub-Type,2 -Handkerchief Skirt,bottom_Sub-Type_7,BTM_Sub-Type,2 -Jeans,bottom_Sub-Type_8,BTM_Sub-Type,2 -Joggers,bottom_Sub-Type_9,BTM_Sub-Type,2 -Leather pants,bottom_Sub-Type_10,BTM_Sub-Type,2 -Leggings,bottom_Sub-Type_11,BTM_Sub-Type,2 -Mermaid,bottom_Sub-Type_12,BTM_Sub-Type,2 -Pattened pants,bottom_Sub-Type_13,BTM_Sub-Type,2 -Peg leg Pants-Cigarette Pants,bottom_Sub-Type_14,BTM_Sub-Type,2 -Pencil Skirt,bottom_Sub-Type_15,BTM_Sub-Type,2 -Pleated Skirt,bottom_Sub-Type_16,BTM_Sub-Type,2 -Shorts,bottom_Sub-Type_17,BTM_Sub-Type,2 -Skater Skirt,bottom_Sub-Type_18,BTM_Sub-Type,2 -Suit Trousers,bottom_Sub-Type_19,BTM_Sub-Type,2 -Tier Skirt,bottom_Sub-Type_20,BTM_Sub-Type,2 +A Line Skirt,bottom_Sub-Type_1,sub_type,2 +Bodycon Skirt,bottom_Sub-Type_2,sub_type,2 +Boot-Cut,bottom_Sub-Type_3,sub_type,2 +Bubble skirt,bottom_Sub-Type_4,sub_type,2 +Cargo Pants,bottom_Sub-Type_5,sub_type,2 +Culottes,bottom_Sub-Type_6,sub_type,2 +Handkerchief Skirt,bottom_Sub-Type_7,sub_type,2 +Jeans,bottom_Sub-Type_8,sub_type,2 +Joggers,bottom_Sub-Type_9,sub_type,2 +Leather pants,bottom_Sub-Type_10,sub_type,2 +Leggings,bottom_Sub-Type_11,sub_type,2 +Mermaid,bottom_Sub-Type_12,sub_type,2 +Pattened pants,bottom_Sub-Type_13,sub_type,2 +Peg leg Pants-Cigarette Pants,bottom_Sub-Type_14,sub_type,2 +Pencil Skirt,bottom_Sub-Type_15,sub_type,2 +Pleated Skirt,bottom_Sub-Type_16,sub_type,2 +Shorts,bottom_Sub-Type_17,sub_type,2 +Skater Skirt,bottom_Sub-Type_18,sub_type,2 +Suit Trousers,bottom_Sub-Type_19,sub_type,2 +Tier Skirt,bottom_Sub-Type_20,sub_type,2 diff --git a/app/service/attribute_recognition/discriptor/bottom/3_bottom_length.csv b/app/service/attribute_recognition/discriptor/bottom/3_bottom_length.csv index dede302..4948c3d 100644 --- a/app/service/attribute_recognition/discriptor/bottom/3_bottom_length.csv +++ b/app/service/attribute_recognition/discriptor/bottom/3_bottom_length.csv @@ -1,6 +1,6 @@ labelName,join_attr,taskName,taskId -Short,attr_BTM_length_1,BTM_length,3 -Middle,attr_BTM_length_2,BTM_length,3 -Seven,attr_BTM_length_3,BTM_length,3 -Nine,attr_BTM_length_4,BTM_length,3 -Long,attr_BTM_length_5,BTM_length,3 +Short,attr_BTM_length_1,length,3 +Middle,attr_BTM_length_2,length,3 +Seven,attr_BTM_length_3,length,3 +Nine,attr_BTM_length_4,length,3 +Long,attr_BTM_length_5,length,3 diff --git a/app/service/attribute_recognition/discriptor/bottom/5_bottom_Softness.csv b/app/service/attribute_recognition/discriptor/bottom/5_bottom_Softness.csv index 10be556..908d99f 100644 --- a/app/service/attribute_recognition/discriptor/bottom/5_bottom_Softness.csv +++ b/app/service/attribute_recognition/discriptor/bottom/5_bottom_Softness.csv @@ -1,4 +1,4 @@ labelName,join_attr,taskName,taskId -Soft,attr_Softness_B_1,Softness_B,5 -Medium,attr_Softness_B_2,Softness_B,5 -Hard,attr_Softness_B_3,Softness_B,5 +Soft,attr_Softness_B_1,softness,5 +Medium,attr_Softness_B_2,softness,5 +Hard,attr_Softness_B_3,softness,5 diff --git a/app/service/attribute_recognition/discriptor/bottom/6_bottom_Design.csv b/app/service/attribute_recognition/discriptor/bottom/6_bottom_Design.csv index fa8272b..fcf8955 100644 --- a/app/service/attribute_recognition/discriptor/bottom/6_bottom_Design.csv +++ b/app/service/attribute_recognition/discriptor/bottom/6_bottom_Design.csv @@ -1,17 +1,17 @@ labelName,join_attr,taskName,taskId -Asymmetrical,attr_Design_B_1,Design_B,6 -Tiered,attr_Design_B_2,Design_B,6 -Tassel,attr_Design_B_3,Design_B,6 -Ruffle,attr_Design_B_4,Design_B,6 -Pleated,attr_Design_B_5,Design_B,6 -Wrap,attr_Design_B_6,Design_B,6 -Ripped,attr_Design_B_7,Design_B,6 -Cut out,attr_Design_B_8,Design_B,6 -Eyelet,attr_Design_B_9,Design_B,6 -Folded,attr_Design_B_10,Design_B,6 -Tied,attr_Design_B_11,Design_B,6 -Drapes,attr_Design_B_12,Design_B,6 -Ribbon,attr_Design_B_13,Design_B,6 -Button,attr_Design_B_14,Design_B,6 -Split,attr_Design_B_15,Design_B,6 -Fishtail,attr_Design_B_16,Design_B,6 +Asymmetrical,attr_Design_B_1,design,6 +Tiered,attr_Design_B_2,design,6 +Tassel,attr_Design_B_3,design,6 +Ruffle,attr_Design_B_4,design,6 +Pleated,attr_Design_B_5,design,6 +Wrap,attr_Design_B_6,design,6 +Ripped,attr_Design_B_7,design,6 +Cut out,attr_Design_B_8,design,6 +Eyelet,attr_Design_B_9,design,6 +Folded,attr_Design_B_10,design,6 +Tied,attr_Design_B_11,design,6 +Drapes,attr_Design_B_12,design,6 +Ribbon,attr_Design_B_13,design,6 +Button,attr_Design_B_14,design,6 +Split,attr_Design_B_15,design,6 +Fishtail,attr_Design_B_16,design,6 diff --git a/app/service/attribute_recognition/discriptor/bottom/7_bottom_OPType.csv b/app/service/attribute_recognition/discriptor/bottom/7_bottom_OPType.csv index c779051..d41b148 100644 --- a/app/service/attribute_recognition/discriptor/bottom/7_bottom_OPType.csv +++ b/app/service/attribute_recognition/discriptor/bottom/7_bottom_OPType.csv @@ -1,6 +1,6 @@ labelName,join_attr,taskName,taskId -Button,attr_OPType_B_1,OPType_B,7 -Zipper,attr_OPType_B_2,OPType_B,7 -Thread,attr_OPType_B_3,OPType_B,7 -Hook,attr_OPType_B_4,OPType_B,7 -Elastic,attr_OPType_B_5,OPType_B,7 +Button,attr_OPType_B_1,opening_type,7 +Zipper,attr_OPType_B_2,opening_type,7 +Thread,attr_OPType_B_3,opening_type,7 +Hook,attr_OPType_B_4,opening_type,7 +Elastic,attr_OPType_B_5,opening_type,7 diff --git a/app/service/attribute_recognition/discriptor/bottom/7_outer_Print.csv b/app/service/attribute_recognition/discriptor/bottom/7_outer_Print.csv index a661a18..5546fd4 100644 --- a/app/service/attribute_recognition/discriptor/bottom/7_outer_Print.csv +++ b/app/service/attribute_recognition/discriptor/bottom/7_outer_Print.csv @@ -1,16 +1,16 @@ labelName,join_attr,taskName,taskId -Abstract,attr_Print_O_1,Print_B,7 -Allover,attr_Print_O_2,Print_B,7 -Animal,attr_Print_O_3,Print_B,7 -Camouflage,attr_Print_O_4,Print_B,7 -Checks,attr_Print_O_5,Print_B,7 -Color_block,attr_Print_O_6,Print_B,7 -Disty print,attr_Print_O_7,Print_B,7 -Dotted,attr_Print_O_8,Print_B,7 -Floral,attr_Print_O_9,Print_B,7 -Graphic print,attr_Print_O_10,Print_B,7 -Logo and slogan,attr_Print_O_11,Print_B,7 -Patchwork,attr_Print_O_12,Print_B,7 -Plain,attr_Print_O_13,Print_B,7 -Plain_dnim,attr_Print_O_14,Print_B,7 -Stripe,attr_Print_O_15,Print_B,7 +Abstract,attr_Print_O_1,print,7 +Allover,attr_Print_O_2,print,7 +Animal,attr_Print_O_3,print,7 +Camouflage,attr_Print_O_4,print,7 +Checks,attr_Print_O_5,print,7 +Color_block,attr_Print_O_6,print,7 +Disty print,attr_Print_O_7,print,7 +Dotted,attr_Print_O_8,print,7 +Floral,attr_Print_O_9,print,7 +Graphic print,attr_Print_O_10,print,7 +Logo and slogan,attr_Print_O_11,print,7 +Patchwork,attr_Print_O_12,print,7 +Plain,attr_Print_O_13,print,7 +Plain_dnim,attr_Print_O_14,print,7 +Stripe,attr_Print_O_15,print,7 diff --git a/app/service/attribute_recognition/discriptor/bottom/8_bottom_Silhouette.csv b/app/service/attribute_recognition/discriptor/bottom/8_bottom_Silhouette.csv index 9b6d542..481ef28 100644 --- a/app/service/attribute_recognition/discriptor/bottom/8_bottom_Silhouette.csv +++ b/app/service/attribute_recognition/discriptor/bottom/8_bottom_Silhouette.csv @@ -1,6 +1,6 @@ labelName,join_attr,taskName,taskId -A Line,attr_Silhouette_B_1,Silhouette_B,8 -H Shape,attr_Silhouette_B_2,Silhouette_B,8 -Slim,attr_Silhouette_B_3,Silhouette_B,8 -Peg-leg,attr_Silhouette_B_4,Silhouette_B,8 -Peplum,attr_Silhouette_B_5,Silhouette_B,8 +A Line,attr_Silhouette_B_1,silhouette,8 +H Shape,attr_Silhouette_B_2,silhouette,8 +Slim,attr_Silhouette_B_3,silhouette,8 +Peg-leg,attr_Silhouette_B_4,silhouette,8 +Peplum,attr_Silhouette_B_5,silhouette,8 diff --git a/app/service/attribute_recognition/discriptor/bottom/8_outer_Material.csv b/app/service/attribute_recognition/discriptor/bottom/8_outer_Material.csv index 8a447c9..66c4555 100644 --- a/app/service/attribute_recognition/discriptor/bottom/8_outer_Material.csv +++ b/app/service/attribute_recognition/discriptor/bottom/8_outer_Material.csv @@ -1,28 +1,28 @@ labelName,join_attr,taskName,taskId -Canvas,attr_Material_O_1,Material_B,8 -Chambray,attr_Material_O_2,Material_B,8 -Chenille,attr_Material_O_3,Material_B,8 -Chiffon,attr_Material_O_4,Material_B,8 -Corduroy,attr_Material_O_5,Material_B,8 -Crepe,attr_Material_O_6,Material_B,8 -Denim,attr_Material_O_7,Material_B,8 -Faux_fur,attr_Material_O_8,Material_B,8 -Faux_leather,attr_Material_O_9,Material_B,8 -Flannel,attr_Material_O_10,Material_B,8 -Fleece,attr_Material_O_11,Material_B,8 -Gingham,attr_Material_O_12,Material_B,8 -Jersey,attr_Material_O_13,Material_B,8 -Knit,attr_Material_O_14,Material_B,8 -Lace,attr_Material_O_15,Material_B,8 -Lawn,attr_Material_O_16,Material_B,8 -Neoprene,attr_Material_O_17,Material_B,8 -Organza,attr_Material_O_18,Material_B,8 -Plush,attr_Material_O_19,Material_B,8 -Satin,attr_Material_O_20,Material_B,8 -Serge,attr_Material_O_21,Material_B,8 -Taffeta,attr_Material_O_22,Material_B,8 -Tulle,attr_Material_O_23,Material_B,8 -Tweed,attr_Material_O_24,Material_B,8 -Twill,attr_Material_O_25,Material_B,8 -Velvet,attr_Material_O_26,Material_B,8 -Vinyl,attr_Material_O_27,Material_B,8 +Canvas,attr_Material_O_1,material,8 +Chambray,attr_Material_O_2,material,8 +Chenille,attr_Material_O_3,material,8 +Chiffon,attr_Material_O_4,material,8 +Corduroy,attr_Material_O_5,material,8 +Crepe,attr_Material_O_6,material,8 +Denim,attr_Material_O_7,material,8 +Faux_fur,attr_Material_O_8,material,8 +Faux_leather,attr_Material_O_9,material,8 +Flannel,attr_Material_O_10,material,8 +Fleece,attr_Material_O_11,material,8 +Gingham,attr_Material_O_12,material,8 +Jersey,attr_Material_O_13,material,8 +Knit,attr_Material_O_14,material,8 +Lace,attr_Material_O_15,material,8 +Lawn,attr_Material_O_16,material,8 +Neoprene,attr_Material_O_17,material,8 +Organza,attr_Material_O_18,material,8 +Plush,attr_Material_O_19,material,8 +Satin,attr_Material_O_20,material,8 +Serge,attr_Material_O_21,material,8 +Taffeta,attr_Material_O_22,material,8 +Tulle,attr_Material_O_23,material,8 +Tweed,attr_Material_O_24,material,8 +Twill,attr_Material_O_25,material,8 +Velvet,attr_Material_O_26,material,8 +Vinyl,attr_Material_O_27,material,8 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori10_bottom_Silhoutte.csv b/app/service/attribute_recognition/discriptor/bottom/ori10_bottom_Silhoutte.csv index 0ce2b0d..b661900 100644 --- a/app/service/attribute_recognition/discriptor/bottom/ori10_bottom_Silhoutte.csv +++ b/app/service/attribute_recognition/discriptor/bottom/ori10_bottom_Silhoutte.csv @@ -1,6 +1,6 @@ labelName,join_attr,taskName,taskId -A Line,attr_Silhouette_B_1,Silhouette_B,10 -H Shape,attr_Silhouette_B_2,Silhouette_B,10 -Slim,attr_Silhouette_B_3,Silhouette_B,10 -Peg-top,attr_Silhouette_B_4,Silhouette_B,10 -Peplum,attr_Silhouette_B_5,Silhouette_B,10 +A Line,attr_Silhouette_B_1,silhouette,10 +H Shape,attr_Silhouette_B_2,silhouette,10 +Slim,attr_Silhouette_B_3,silhouette,10 +Peg-top,attr_Silhouette_B_4,silhouette,10 +Peplum,attr_Silhouette_B_5,silhouette,10 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori1_bottom_Type.csv b/app/service/attribute_recognition/discriptor/bottom/ori1_bottom_Type.csv index e43b515..6ab3391 100644 --- a/app/service/attribute_recognition/discriptor/bottom/ori1_bottom_Type.csv +++ b/app/service/attribute_recognition/discriptor/bottom/ori1_bottom_Type.csv @@ -1,3 +1,3 @@ labelName,join_attr,taskName,taskId -Pants,BTM_Type_1,BTM_Type,1 -Skirt,BTM_Type_2,BTM_Type,1 +Pants,BTM_Type_1,type,1 +Skirt,BTM_Type_2,type,1 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori2_bottom_subtype.csv b/app/service/attribute_recognition/discriptor/bottom/ori2_bottom_subtype.csv index 24f830a..91f66fb 100644 --- a/app/service/attribute_recognition/discriptor/bottom/ori2_bottom_subtype.csv +++ b/app/service/attribute_recognition/discriptor/bottom/ori2_bottom_subtype.csv @@ -1,47 +1,47 @@ labelName,join_attr,taskName,taskId -Jeans,BTM_Sub-Type_1,BTM_Sub-Type,2 -Leggings,BTM_Sub-Type_2,BTM_Sub-Type,2 -Joggers,BTM_Sub-Type_3,BTM_Sub-Type,2 -Suit Trousers,BTM_Sub-Type_4,BTM_Sub-Type,2 -Cargo Pants,BTM_Sub-Type_5,BTM_Sub-Type,2 -Culottes,BTM_Sub-Type_6,BTM_Sub-Type,2 -Peg leg Pants ,BTM_Sub-Type_7,BTM_Sub-Type,2 -A Line Skirt_gathered,BTM_Sub-Type_8,BTM_Sub-Type,2 -Pencil Skirt,BTM_Sub-Type_9,BTM_Sub-Type,2 -Handkerchief Skirt,BTM_Sub-Type_10,BTM_Sub-Type,2 -Mermaid/Fishtail Skirt,BTM_Sub-Type_11,BTM_Sub-Type,2 -Skater Skirt,BTM_Sub-Type_12,BTM_Sub-Type,2 -Bodycon Skirt,BTM_Sub-Type_13,BTM_Sub-Type,2 -Shorts,BTM_Sub-Type_14,BTM_Sub-Type,2 -boot-cut_flare,BTM_Sub-Type_15,BTM_Sub-Type,2 -Pleated Skirt,BTM_Sub-Type_16,BTM_Sub-Type,2 -Bubble skirt,BTM_Sub-Type_17,BTM_Sub-Type,2 -Leather pants,BTM_Sub-Type_18,BTM_Sub-Type,2 -pattened pants,BTM_Sub-Type_19,BTM_Sub-Type,2 -Tier Skirt,BTM_Sub-Type_20,BTM_Sub-Type,2 -asymmetric_mullet,BTM_Sub-Type_21,BTM_Sub-Type,2 -baggy,BTM_Sub-Type_22,BTM_Sub-Type,2 -denim skirt,BTM_Sub-Type_23,BTM_Sub-Type,2 -flare skirt,BTM_Sub-Type_24,BTM_Sub-Type,2 -fringe skirt,BTM_Sub-Type_25,BTM_Sub-Type,2 -godet skirt,BTM_Sub-Type_26,BTM_Sub-Type,2 -high rise pants,BTM_Sub-Type_27,BTM_Sub-Type,2 -hight waist skirt,BTM_Sub-Type_28,BTM_Sub-Type,2 -hat pants,BTM_Sub-Type_29,BTM_Sub-Type,2 -leather skirts,BTM_Sub-Type_30,BTM_Sub-Type,2 -long skirts,BTM_Sub-Type_31,BTM_Sub-Type,2 -low rise pants,BTM_Sub-Type_32,BTM_Sub-Type,2 -mini skirt,BTM_Sub-Type_33,BTM_Sub-Type,2 -panel kirt,BTM_Sub-Type_34,BTM_Sub-Type,2 -peg top skirt,BTM_Sub-Type_35,BTM_Sub-Type,2 -pencil pants,BTM_Sub-Type_36,BTM_Sub-Type,2 -shorts (denim),BTM_Sub-Type_37,BTM_Sub-Type,2 -skinny_cigarette pants,BTM_Sub-Type_38,BTM_Sub-Type,2 -split skirt,BTM_Sub-Type_39,BTM_Sub-Type,2 -stirrup,BTM_Sub-Type_40,BTM_Sub-Type,2 -stranget pants,BTM_Sub-Type_41,BTM_Sub-Type,2 -straight skirt,BTM_Sub-Type_42,BTM_Sub-Type,2 -wide leg pants,BTM_Sub-Type_43,BTM_Sub-Type,2 -wrap skirt,BTM_Sub-Type_44,BTM_Sub-Type,2 -Jeans,BTM_Sub-Type_45,BTM_Sub-Type,2 -Leggings,BTM_Sub-Type_46,BTM_Sub-Type,2 +Jeans,BTM_Sub-Type_1,sub_type,2 +Leggings,BTM_Sub-Type_2,sub_type,2 +Joggers,BTM_Sub-Type_3,sub_type,2 +Suit Trousers,BTM_Sub-Type_4,sub_type,2 +Cargo Pants,BTM_Sub-Type_5,sub_type,2 +Culottes,BTM_Sub-Type_6,sub_type,2 +Peg leg Pants ,BTM_Sub-Type_7,sub_type,2 +A Line Skirt_gathered,BTM_Sub-Type_8,sub_type,2 +Pencil Skirt,BTM_Sub-Type_9,sub_type,2 +Handkerchief Skirt,BTM_Sub-Type_10,sub_type,2 +Mermaid/Fishtail Skirt,BTM_Sub-Type_11,sub_type,2 +Skater Skirt,BTM_Sub-Type_12,sub_type,2 +Bodycon Skirt,BTM_Sub-Type_13,sub_type,2 +Shorts,BTM_Sub-Type_14,sub_type,2 +boot-cut_flare,BTM_Sub-Type_15,sub_type,2 +Pleated Skirt,BTM_Sub-Type_16,sub_type,2 +Bubble skirt,BTM_Sub-Type_17,sub_type,2 +Leather pants,BTM_Sub-Type_18,sub_type,2 +pattened pants,BTM_Sub-Type_19,sub_type,2 +Tier Skirt,BTM_Sub-Type_20,sub_type,2 +asymmetric_mullet,BTM_Sub-Type_21,sub_type,2 +baggy,BTM_Sub-Type_22,sub_type,2 +denim skirt,BTM_Sub-Type_23,sub_type,2 +flare skirt,BTM_Sub-Type_24,sub_type,2 +fringe skirt,BTM_Sub-Type_25,sub_type,2 +godet skirt,BTM_Sub-Type_26,sub_type,2 +high rise pants,BTM_Sub-Type_27,sub_type,2 +hight waist skirt,BTM_Sub-Type_28,sub_type,2 +hat pants,BTM_Sub-Type_29,sub_type,2 +leather skirts,BTM_Sub-Type_30,sub_type,2 +long skirts,BTM_Sub-Type_31,sub_type,2 +low rise pants,BTM_Sub-Type_32,sub_type,2 +mini skirt,BTM_Sub-Type_33,sub_type,2 +panel kirt,BTM_Sub-Type_34,sub_type,2 +peg top skirt,BTM_Sub-Type_35,sub_type,2 +pencil pants,BTM_Sub-Type_36,sub_type,2 +shorts (denim),BTM_Sub-Type_37,sub_type,2 +skinny_cigarette pants,BTM_Sub-Type_38,sub_type,2 +split skirt,BTM_Sub-Type_39,sub_type,2 +stirrup,BTM_Sub-Type_40,sub_type,2 +stranget pants,BTM_Sub-Type_41,sub_type,2 +straight skirt,BTM_Sub-Type_42,sub_type,2 +wide leg pants,BTM_Sub-Type_43,sub_type,2 +wrap skirt,BTM_Sub-Type_44,sub_type,2 +Jeans,BTM_Sub-Type_45,sub_type,2 +Leggings,BTM_Sub-Type_46,sub_type,2 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori3_bottom_structure.csv b/app/service/attribute_recognition/discriptor/bottom/ori3_bottom_structure.csv index 4f240f1..bac9eb0 100644 --- a/app/service/attribute_recognition/discriptor/bottom/ori3_bottom_structure.csv +++ b/app/service/attribute_recognition/discriptor/bottom/ori3_bottom_structure.csv @@ -1,4 +1,4 @@ labelName,join_attr,taskName,taskId -Woven,attr_BTM_Structure_1,BTM_Structure,3 -Knit,attr_BTM_Structure_2,BTM_Structure,3 -Sweater,attr_BTM_Structure_3,BTM_Structure,3 +Woven,attr_BTM_Structure_1,structure,3 +Knit,attr_BTM_Structure_2,structure,3 +Sweater,attr_BTM_Structure_3,structure,3 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori4_bottom_length.csv b/app/service/attribute_recognition/discriptor/bottom/ori4_bottom_length.csv index 1ac85f6..497fd02 100644 --- a/app/service/attribute_recognition/discriptor/bottom/ori4_bottom_length.csv +++ b/app/service/attribute_recognition/discriptor/bottom/ori4_bottom_length.csv @@ -1,6 +1,6 @@ labelName,join_attr,taskName,taskId -Short,attr_BTM_length_1,BTM_length,4 -Middle,attr_BTM_length_2,BTM_length,4 -Seven,attr_BTM_length_3,BTM_length,4 -Nine,attr_BTM_length_4,BTM_length,4 -Long,attr_BTM_length_5,BTM_length,4 +Short,attr_BTM_length_1,length,4 +Middle,attr_BTM_length_2,length,4 +Seven,attr_BTM_length_3,length,4 +Nine,attr_BTM_length_4,length,4 +Long,attr_BTM_length_5,length,4 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori5_bottom_Print.csv b/app/service/attribute_recognition/discriptor/bottom/ori5_bottom_Print.csv index 6bd471c..680828a 100644 --- a/app/service/attribute_recognition/discriptor/bottom/ori5_bottom_Print.csv +++ b/app/service/attribute_recognition/discriptor/bottom/ori5_bottom_Print.csv @@ -1,16 +1,16 @@ labelName,join_attr,taskName,taskId -abstract,attr_Print_B_1,Print_B,5 -allover,attr_Print_B_2,Print_B,5 -animal printed,attr_Print_B_3,Print_B,5 -Camouflage,attr_Print_B_4,Print_B,5 -checks,attr_Print_B_5,Print_B,5 -color_block,attr_Print_B_6,Print_B,5 -disty print,attr_Print_B_7,Print_B,5 -dotted,attr_Print_B_8,Print_B,5 -floral,attr_Print_B_9,Print_B,5 -graphic print,attr_Print_B_10,Print_B,5 -logo and slogan print,attr_Print_B_11,Print_B,5 -patchwork,attr_Print_B_12,Print_B,5 -plain,attr_Print_B_13,Print_B,5 -plain_dnim,attr_Print_B_14,Print_B,5 -stripe,attr_Print_B_15,Print_B,5 +abstract,attr_Print_B_1,print,5 +allover,attr_Print_B_2,print,5 +animal printed,attr_Print_B_3,print,5 +Camouflage,attr_Print_B_4,print,5 +checks,attr_Print_B_5,print,5 +color_block,attr_Print_B_6,print,5 +disty print,attr_Print_B_7,print,5 +dotted,attr_Print_B_8,print,5 +floral,attr_Print_B_9,print,5 +graphic print,attr_Print_B_10,print,5 +logo and slogan print,attr_Print_B_11,print,5 +patchwork,attr_Print_B_12,print,5 +plain,attr_Print_B_13,print,5 +plain_dnim,attr_Print_B_14,print,5 +stripe,attr_Print_B_15,print,5 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori6_bottom_Material.csv b/app/service/attribute_recognition/discriptor/bottom/ori6_bottom_Material.csv index d80c1fc..413a709 100644 --- a/app/service/attribute_recognition/discriptor/bottom/ori6_bottom_Material.csv +++ b/app/service/attribute_recognition/discriptor/bottom/ori6_bottom_Material.csv @@ -1,28 +1,28 @@ labelName,join_attr,taskName,taskId -canvas,attr_Material_B_1,Material_B,6 -chambray,attr_Material_B_2,Material_B,6 -chenille,attr_Material_B_3,Material_B,6 -chiffon,attr_Material_B_4,Material_B,6 -corduroy,attr_Material_B_5,Material_B,6 -crepe,attr_Material_B_6,Material_B,6 -denim,attr_Material_B_7,Material_B,6 -faux_fur,attr_Material_B_8,Material_B,6 -faux_leather,attr_Material_B_9,Material_B,6 -flannel,attr_Material_B_10,Material_B,6 -fleece,attr_Material_B_11,Material_B,6 -gingham,attr_Material_B_12,Material_B,6 -jersey,attr_Material_B_13,Material_B,6 -knit,attr_Material_B_14,Material_B,6 -lace,attr_Material_B_15,Material_B,6 -lawn,attr_Material_B_16,Material_B,6 -neoprene,attr_Material_B_17,Material_B,6 -organza,attr_Material_B_18,Material_B,6 -plush,attr_Material_B_19,Material_B,6 -satin,attr_Material_B_20,Material_B,6 -serge,attr_Material_B_21,Material_B,6 -taffeta,attr_Material_B_22,Material_B,6 -tulle,attr_Material_B_23,Material_B,6 -tweed,attr_Material_B_24,Material_B,6 -twill,attr_Material_B_25,Material_B,6 -velvet,attr_Material_B_26,Material_B,6 -vinyl,attr_Material_B_27,Material_B,6 +canvas,attr_Material_B_1,material,6 +chambray,attr_Material_B_2,material,6 +chenille,attr_Material_B_3,material,6 +chiffon,attr_Material_B_4,material,6 +corduroy,attr_Material_B_5,material,6 +crepe,attr_Material_B_6,material,6 +denim,attr_Material_B_7,material,6 +faux_fur,attr_Material_B_8,material,6 +faux_leather,attr_Material_B_9,material,6 +flannel,attr_Material_B_10,material,6 +fleece,attr_Material_B_11,material,6 +gingham,attr_Material_B_12,material,6 +jersey,attr_Material_B_13,material,6 +knit,attr_Material_B_14,material,6 +lace,attr_Material_B_15,material,6 +lawn,attr_Material_B_16,material,6 +neoprene,attr_Material_B_17,material,6 +organza,attr_Material_B_18,material,6 +plush,attr_Material_B_19,material,6 +satin,attr_Material_B_20,material,6 +serge,attr_Material_B_21,material,6 +taffeta,attr_Material_B_22,material,6 +tulle,attr_Material_B_23,material,6 +tweed,attr_Material_B_24,material,6 +twill,attr_Material_B_25,material,6 +velvet,attr_Material_B_26,material,6 +vinyl,attr_Material_B_27,material,6 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori7_bottom_Softness.csv b/app/service/attribute_recognition/discriptor/bottom/ori7_bottom_Softness.csv index 0707146..bec27a8 100644 --- a/app/service/attribute_recognition/discriptor/bottom/ori7_bottom_Softness.csv +++ b/app/service/attribute_recognition/discriptor/bottom/ori7_bottom_Softness.csv @@ -1,4 +1,4 @@ labelName,join_attr,taskName,taskId -Soft,attr_Softness_B_1,Softness_B,7 -Medium,attr_Softness_B_2,Softness_B,7 -Hard,attr_Softness_B_3,Softness_B,7 +Soft,attr_Softness_B_1,softness,7 +Medium,attr_Softness_B_2,softness,7 +Hard,attr_Softness_B_3,softness,7 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori8_bottom_Design.csv b/app/service/attribute_recognition/discriptor/bottom/ori8_bottom_Design.csv index 5eca92c..8d08340 100644 --- a/app/service/attribute_recognition/discriptor/bottom/ori8_bottom_Design.csv +++ b/app/service/attribute_recognition/discriptor/bottom/ori8_bottom_Design.csv @@ -1,17 +1,17 @@ labelName,join_attr,taskName,taskId -Asymmetrical,attr_Design_B_1,Design_B,8 -Tiered,attr_Design_B_2,Design_B,8 -Tassel,attr_Design_B_3,Design_B,8 -Ruffle,attr_Design_B_4,Design_B,8 -Pleated,attr_Design_B_5,Design_B,8 -Wrap,attr_Design_B_6,Design_B,8 -Ripped,attr_Design_B_7,Design_B,8 -Cut out,attr_Design_B_8,Design_B,8 -Eyelet,attr_Design_B_9,Design_B,8 -Folded,attr_Design_B_10,Design_B,8 -Tied,attr_Design_B_11,Design_B,8 -Drapes,attr_Design_B_12,Design_B,8 -Ribbon,attr_Design_B_13,Design_B,8 -Button,attr_Design_B_14,Design_B,8 -Split,attr_Design_B_15,Design_B,8 -Fishtail,attr_Design_B_16,Design_B,8 +Asymmetrical,attr_Design_B_1,design,8 +Tiered,attr_Design_B_2,design,8 +Tassel,attr_Design_B_3,design,8 +Ruffle,attr_Design_B_4,design,8 +Pleated,attr_Design_B_5,design,8 +Wrap,attr_Design_B_6,design,8 +Ripped,attr_Design_B_7,design,8 +Cut out,attr_Design_B_8,design,8 +Eyelet,attr_Design_B_9,design,8 +Folded,attr_Design_B_10,design,8 +Tied,attr_Design_B_11,design,8 +Drapes,attr_Design_B_12,design,8 +Ribbon,attr_Design_B_13,design,8 +Button,attr_Design_B_14,design,8 +Split,attr_Design_B_15,design,8 +Fishtail,attr_Design_B_16,design,8 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori9_bottom_OPType.csv b/app/service/attribute_recognition/discriptor/bottom/ori9_bottom_OPType.csv index d50f434..f2009bb 100644 --- a/app/service/attribute_recognition/discriptor/bottom/ori9_bottom_OPType.csv +++ b/app/service/attribute_recognition/discriptor/bottom/ori9_bottom_OPType.csv @@ -1,6 +1,6 @@ labelName,join_attr,taskName,taskId -Button,attr_OPType_B_1,OPType_B,9 -Zipper,attr_OPType_B_2,OPType_B,9 -Thread,attr_OPType_B_3,OPType_B,9 -Hook,attr_OPType_B_4,OPType_B,9 -Elastic,attr_OPType_B_5,OPType_B,9 +Button,attr_OPType_B_1,opening_type,9 +Zipper,attr_OPType_B_2,opening_type,9 +Thread,attr_OPType_B_3,opening_type,9 +Hook,attr_OPType_B_4,opening_type,9 +Elastic,attr_OPType_B_5,opening_type,9 diff --git a/app/service/attribute_recognition/discriptor/dress/11_dress_Silhouette.csv b/app/service/attribute_recognition/discriptor/dress/11_dress_Silhouette.csv index 397d62d..25303dc 100644 --- a/app/service/attribute_recognition/discriptor/dress/11_dress_Silhouette.csv +++ b/app/service/attribute_recognition/discriptor/dress/11_dress_Silhouette.csv @@ -1,11 +1,11 @@ labelName,join_attr,taskName,taskId -A Line,attr_Silhouette_U_1,Silhouette_D,11 -H Shape,attr_Silhouette_U_2,Silhouette_D,11 -Slim,attr_Silhouette_U_3,Silhouette_D,11 -Oversized,attr_Silhouette_U_4,Silhouette_D,11 -Cacoon,attr_Silhouette_U_5,Silhouette_D,11 -Empire,attr_Silhouette_U_6,Silhouette_D,11 -Hourglass,attr_Silhouette_U_7,Silhouette_D,11 -Mermaid,attr_Silhouette_U_8,Silhouette_D,11 -Sheath,attr_Silhouette_U_9,Silhouette_D,11 -Tent,attr_Silhouette_U_10,Silhouette_D,11 +A Line,attr_Silhouette_U_1,silhouette,11 +H Shape,attr_Silhouette_U_2,silhouette,11 +Slim,attr_Silhouette_U_3,silhouette,11 +Oversized,attr_Silhouette_U_4,silhouette,11 +Cacoon,attr_Silhouette_U_5,silhouette,11 +Empire,attr_Silhouette_U_6,silhouette,11 +Hourglass,attr_Silhouette_U_7,silhouette,11 +Mermaid,attr_Silhouette_U_8,silhouette,11 +Sheath,attr_Silhouette_U_9,silhouette,11 +Tent,attr_Silhouette_U_10,silhouette,11 diff --git a/app/service/attribute_recognition/discriptor/dress/11_top_OPType.csv b/app/service/attribute_recognition/discriptor/dress/11_top_OPType.csv index 2223bf2..38fe8d8 100644 --- a/app/service/attribute_recognition/discriptor/dress/11_top_OPType.csv +++ b/app/service/attribute_recognition/discriptor/dress/11_top_OPType.csv @@ -1,5 +1,5 @@ labelName,join_attr,taskName,taskId -Button,attr_OPType_U_1,OPType_D,11 -Zipper,attr_OPType_U_2,OPType_D,11 -Thread,attr_OPType_U_3,OPType_D,11 -Hook,attr_OPType_U_4,OPType_D,11 +Button,attr_OPType_U_1,opening_type,11 +Zipper,attr_OPType_U_2,opening_type,11 +Thread,attr_OPType_U_3,opening_type,11 +Hook,attr_OPType_U_4,opening_type,11 diff --git a/app/service/attribute_recognition/discriptor/dress/12_dress_type.csv b/app/service/attribute_recognition/discriptor/dress/12_dress_type.csv index 81f4501..2d425f8 100644 --- a/app/service/attribute_recognition/discriptor/dress/12_dress_type.csv +++ b/app/service/attribute_recognition/discriptor/dress/12_dress_type.csv @@ -1,20 +1,20 @@ labelName,join_attr,taskName,taskId -Evening gown,attr_dresstype_1,Dress_Type,12 -Shirt-dress,attr_dresstype_2,Dress_Type,12 -Coat dress,attr_dresstype_3,Dress_Type,12 -Handkerchief dress,attr_dresstype_4,Dress_Type,12 -Jumper dress,attr_dresstype_5,Dress_Type,12 -Dungaree dress,attr_dresstype_6,Dress_Type,12 -Skater dress,attr_dresstype_7,Dress_Type,12 -Tea dress,attr_dresstype_8,Dress_Type,12 -Mermaid dress,attr_dresstype_9,Dress_Type,12 -Cocktail dress,attr_dresstype_10,Dress_Type,12 -A-Line dress,attr_dresstype_11,Dress_Type,12 -Bodycon dress,attr_dresstype_12,Dress_Type,12 -Maxi dress,attr_dresstype_13,Dress_Type,12 -Office dress,attr_dresstype_14,Dress_Type,12 -Pencil dress,attr_dresstype_15,Dress_Type,12 -Sheer dress,attr_dresstype_16,Dress_Type,12 -Shift dress,attr_dresstype_17,Dress_Type,12 -Slip dress,attr_dresstype_18,Dress_Type,12 -T-shirt dress,attr_dresstype_19,Dress_Type,12 \ No newline at end of file +Evening gown,attr_dresstype_1,dress_type,12 +Shirt-dress,attr_dresstype_2,dress_type,12 +Coat dress,attr_dresstype_3,dress_type,12 +Handkerchief dress,attr_dresstype_4,dress_type,12 +Jumper dress,attr_dresstype_5,dress_type,12 +Dungaree dress,attr_dresstype_6,dress_type,12 +Skater dress,attr_dresstype_7,dress_type,12 +Tea dress,attr_dresstype_8,dress_type,12 +Mermaid dress,attr_dresstype_9,dress_type,12 +Cocktail dress,attr_dresstype_10,dress_type,12 +A-Line dress,attr_dresstype_11,dress_type,12 +Bodycon dress,attr_dresstype_12,dress_type,12 +Maxi dress,attr_dresstype_13,dress_type,12 +Office dress,attr_dresstype_14,dress_type,12 +Pencil dress,attr_dresstype_15,dress_type,12 +Sheer dress,attr_dresstype_16,dress_type,12 +Shift dress,attr_dresstype_17,dress_type,12 +Slip dress,attr_dresstype_18,dress_type,12 +T-shirt dress,attr_dresstype_19,dress_type,12 \ No newline at end of file diff --git a/app/service/attribute_recognition/discriptor/dress/1_dress_length.csv b/app/service/attribute_recognition/discriptor/dress/1_dress_length.csv index d4d9217..fc07156 100644 --- a/app/service/attribute_recognition/discriptor/dress/1_dress_length.csv +++ b/app/service/attribute_recognition/discriptor/dress/1_dress_length.csv @@ -1,6 +1,6 @@ labelName,join_attr,taskName,taskId -Maxi,attr_Dress_length_1,Dress_length,1 -Midi,attr_Dress_length_2,Dress_length,1 -Mini,attr_Dress_length_3,Dress_length,1 -Over the knee,attr_Dress_length_4,Dress_length,1 -Floor Length,attr_Dress_length_5,Dress_length,1 +Maxi,attr_Dress_length_1,dress_length,1 +Midi,attr_Dress_length_2,dress_length,1 +Mini,attr_Dress_length_3,dress_length,1 +Over the knee,attr_Dress_length_4,dress_length,1 +Floor Length,attr_Dress_length_5,dress_length,1 diff --git a/app/service/attribute_recognition/discriptor/dress/3_top_Sleeve_length.csv b/app/service/attribute_recognition/discriptor/dress/3_top_Sleeve_length.csv index 8338fbd..5d345b1 100644 --- a/app/service/attribute_recognition/discriptor/dress/3_top_Sleeve_length.csv +++ b/app/service/attribute_recognition/discriptor/dress/3_top_Sleeve_length.csv @@ -1,6 +1,6 @@ labelName,join_attr,taskName,taskId -Sleeveless,attr_Sleeve_length_1,Sleeve_length,3 -Short,attr_Sleeve_length_2,Sleeve_length,3 -Middle,attr_Sleeve_length_3,Sleeve_length,3 -Seven,attr_Sleeve_length_4,Sleeve_length,3 -Long,attr_Sleeve_length_5,Sleeve_length,3 +Sleeveless,attr_Sleeve_length_1,sleeve_length,3 +Short,attr_Sleeve_length_2,sleeve_length,3 +Middle,attr_Sleeve_length_3,sleeve_length,3 +Seven,attr_Sleeve_length_4,sleeve_length,3 +Long,attr_Sleeve_length_5,sleeve_length,3 diff --git a/app/service/attribute_recognition/discriptor/dress/4_top_Sleeve_shape.csv b/app/service/attribute_recognition/discriptor/dress/4_top_Sleeve_shape.csv index ecc7cc8..9b6ef6e 100644 --- a/app/service/attribute_recognition/discriptor/dress/4_top_Sleeve_shape.csv +++ b/app/service/attribute_recognition/discriptor/dress/4_top_Sleeve_shape.csv @@ -1,9 +1,9 @@ labelName,join_attr,taskName,taskId -Regular,attr_Sleeve_shape_1,Sleeve_shape,4 -Slim,attr_Sleeve_shape_2,Sleeve_shape,4 -Puff,attr_Sleeve_shape_3,Sleeve_shape,4 -Bell,attr_Sleeve_shape_4,Sleeve_shape,4 -Batwing,attr_Sleeve_shape_5,Sleeve_shape,4 -Shirt,attr_Sleeve_shape_6,Sleeve_shape,4 -Rib,attr_Sleeve_shape_7,Sleeve_shape,4 -Raglan,attr_Sleeve_shape_8,Sleeve_shape,4 +Regular,attr_Sleeve_shape_1,sleeve_shape,4 +Slim,attr_Sleeve_shape_2,sleeve_shape,4 +Puff,attr_Sleeve_shape_3,sleeve_shape,4 +Bell,attr_Sleeve_shape_4,sleeve_shape,4 +Batwing,attr_Sleeve_shape_5,sleeve_shape,4 +Shirt,attr_Sleeve_shape_6,sleeve_shape,4 +Rib,attr_Sleeve_shape_7,sleeve_shape,4 +Raglan,attr_Sleeve_shape_8,sleeve_shape,4 diff --git a/app/service/attribute_recognition/discriptor/dress/5_top_Sleeve_shoulder.csv b/app/service/attribute_recognition/discriptor/dress/5_top_Sleeve_shoulder.csv index dc7dcff..e528584 100644 --- a/app/service/attribute_recognition/discriptor/dress/5_top_Sleeve_shoulder.csv +++ b/app/service/attribute_recognition/discriptor/dress/5_top_Sleeve_shoulder.csv @@ -1,5 +1,5 @@ labelName,join_attr,taskName,taskId -Regular,attr_Sleeve_shoulder_1,Sleeve_shoulder,5 -Cold,attr_Sleeve_shoulder_2,Sleeve_shoulder,5 -Tucked,attr_Sleeve_shoulder_3,Sleeve_shoulder,5 -Balmain,attr_Sleeve_shoulder_4,Sleeve_shoulder,5 +Regular,attr_Sleeve_shoulder_1,sleeve_shoulder,5 +Cold,attr_Sleeve_shoulder_2,sleeve_shoulder,5 +Tucked,attr_Sleeve_shoulder_3,sleeve_shoulder,5 +Balmain,attr_Sleeve_shoulder_4,sleeve_shoulder,5 diff --git a/app/service/attribute_recognition/discriptor/dress/6_top_Neckline.csv b/app/service/attribute_recognition/discriptor/dress/6_top_Neckline.csv index 30c1420..4b18420 100644 --- a/app/service/attribute_recognition/discriptor/dress/6_top_Neckline.csv +++ b/app/service/attribute_recognition/discriptor/dress/6_top_Neckline.csv @@ -1,7 +1,7 @@ labelName,join_attr,taskName,taskId -Round,attr_Neckline_1,Neckline,6 -V,attr_Neckline_2,Neckline,6 -Square,attr_Neckline_3,Neckline,6 -One-shoulder,attr_Neckline_4,Neckline,6 -Off-shoulder,attr_Neckline_5,Neckline,6 -Strapless,attr_Neckline_6,Neckline,6 +Round,attr_Neckline_1,neckline,6 +V,attr_Neckline_2,neckline,6 +Square,attr_Neckline_3,neckline,6 +One-shoulder,attr_Neckline_4,neckline,6 +Off-shoulder,attr_Neckline_5,neckline,6 +Strapless,attr_Neckline_6,neckline,6 diff --git a/app/service/attribute_recognition/discriptor/dress/7_outer_Print.csv b/app/service/attribute_recognition/discriptor/dress/7_outer_Print.csv index d5a740f..5546fd4 100644 --- a/app/service/attribute_recognition/discriptor/dress/7_outer_Print.csv +++ b/app/service/attribute_recognition/discriptor/dress/7_outer_Print.csv @@ -1,16 +1,16 @@ labelName,join_attr,taskName,taskId -Abstract,attr_Print_O_1,Print_D,7 -Allover,attr_Print_O_2,Print_D,7 -Animal,attr_Print_O_3,Print_D,7 -Camouflage,attr_Print_O_4,Print_D,7 -Checks,attr_Print_O_5,Print_D,7 -Color_block,attr_Print_O_6,Print_D,7 -Disty print,attr_Print_O_7,Print_D,7 -Dotted,attr_Print_O_8,Print_D,7 -Floral,attr_Print_O_9,Print_D,7 -Graphic print,attr_Print_O_10,Print_D,7 -Logo and slogan,attr_Print_O_11,Print_D,7 -Patchwork,attr_Print_O_12,Print_D,7 -Plain,attr_Print_O_13,Print_D,7 -Plain_dnim,attr_Print_O_14,Print_D,7 -Stripe,attr_Print_O_15,Print_D,7 +Abstract,attr_Print_O_1,print,7 +Allover,attr_Print_O_2,print,7 +Animal,attr_Print_O_3,print,7 +Camouflage,attr_Print_O_4,print,7 +Checks,attr_Print_O_5,print,7 +Color_block,attr_Print_O_6,print,7 +Disty print,attr_Print_O_7,print,7 +Dotted,attr_Print_O_8,print,7 +Floral,attr_Print_O_9,print,7 +Graphic print,attr_Print_O_10,print,7 +Logo and slogan,attr_Print_O_11,print,7 +Patchwork,attr_Print_O_12,print,7 +Plain,attr_Print_O_13,print,7 +Plain_dnim,attr_Print_O_14,print,7 +Stripe,attr_Print_O_15,print,7 diff --git a/app/service/attribute_recognition/discriptor/dress/7_top_Collar.csv b/app/service/attribute_recognition/discriptor/dress/7_top_Collar.csv index a30c014..0fe78a8 100644 --- a/app/service/attribute_recognition/discriptor/dress/7_top_Collar.csv +++ b/app/service/attribute_recognition/discriptor/dress/7_top_Collar.csv @@ -1,11 +1,11 @@ labelName,join_attr,taskName,taskId -Peterpan,attr_Collar_1,Collar,7 -Shirt,attr_Collar_2,Collar,7 -Rib,attr_Collar_3,Collar,7 -Turtle,attr_Collar_4,Collar,7 -Lapel,attr_Collar_5,Collar,7 -Hoodie,attr_Collar_6,Collar,7 -Mandarin,attr_Collar_7,Collar,7 -Tie,attr_Collar_8,Collar,7 -Ruffle,attr_Collar_9,Collar,7 -Cowl,attr_Collar_10,Collar,7 +Peterpan,attr_Collar_1,collar,7 +Shirt,attr_Collar_2,collar,7 +Rib,attr_Collar_3,collar,7 +Turtle,attr_Collar_4,collar,7 +Lapel,attr_Collar_5,collar,7 +Hoodie,attr_Collar_6,collar,7 +Mandarin,attr_Collar_7,collar,7 +Tie,attr_Collar_8,collar,7 +Ruffle,attr_Collar_9,collar,7 +Cowl,attr_Collar_10,collar,7 diff --git a/app/service/attribute_recognition/discriptor/dress/8_outer_Material.csv b/app/service/attribute_recognition/discriptor/dress/8_outer_Material.csv index f5e4b51..7303c32 100644 --- a/app/service/attribute_recognition/discriptor/dress/8_outer_Material.csv +++ b/app/service/attribute_recognition/discriptor/dress/8_outer_Material.csv @@ -1,28 +1,28 @@ labelName,join_attr,taskName,taskId -Canvas,attr_Material_O_1,Material_D,8 -Chambray,attr_Material_O_2,Material_D,8 -Chenille,attr_Material_O_3,Material_D,8 -Chiffon,attr_Material_O_4,Material_D,8 -Corduroy,attr_Material_O_5,Material_D,8 -Crepe,attr_Material_O_6,Material_D,8 -Denim,attr_Material_O_7,Material_D,8 -Faux_fur,attr_Material_O_8,Material_D,8 -Faux_leather,attr_Material_O_9,Material_D,8 -Flannel,attr_Material_O_10,Material_D,8 -Fleece,attr_Material_O_11,Material_D,8 -Gingham,attr_Material_O_12,Material_D,8 -Jersey,attr_Material_O_13,Material_D,8 -Knit,attr_Material_O_14,Material_D,8 -Lace,attr_Material_O_15,Material_D,8 -Lawn,attr_Material_O_16,Material_D,8 -Neoprene,attr_Material_O_17,Material_D,8 -Organza,attr_Material_O_18,Material_D,8 -Plush,attr_Material_O_19,Material_D,8 -Satin,attr_Material_O_20,Material_D,8 -Serge,attr_Material_O_21,Material_D,8 -Taffeta,attr_Material_O_22,Material_D,8 -Tulle,attr_Material_O_23,Material_D,8 -Tweed,attr_Material_O_24,Material_D,8 -Twill,attr_Material_O_25,Material_D,8 -Velvet,attr_Material_O_26,Material_D,8 -Vinyl,attr_Material_O_27,Material_D,8 +Canvas,attr_Material_O_1,design,8 +Chambray,attr_Material_O_2,design,8 +Chenille,attr_Material_O_3,design,8 +Chiffon,attr_Material_O_4,design,8 +Corduroy,attr_Material_O_5,design,8 +Crepe,attr_Material_O_6,design,8 +Denim,attr_Material_O_7,design,8 +Faux_fur,attr_Material_O_8,design,8 +Faux_leather,attr_Material_O_9,design,8 +Flannel,attr_Material_O_10,design,8 +Fleece,attr_Material_O_11,design,8 +Gingham,attr_Material_O_12,design,8 +Jersey,attr_Material_O_13,design,8 +Knit,attr_Material_O_14,design,8 +Lace,attr_Material_O_15,design,8 +Lawn,attr_Material_O_16,design,8 +Neoprene,attr_Material_O_17,design,8 +Organza,attr_Material_O_18,design,8 +Plush,attr_Material_O_19,design,8 +Satin,attr_Material_O_20,design,8 +Serge,attr_Material_O_21,design,8 +Taffeta,attr_Material_O_22,design,8 +Tulle,attr_Material_O_23,design,8 +Tweed,attr_Material_O_24,design,8 +Twill,attr_Material_O_25,design,8 +Velvet,attr_Material_O_26,design,8 +Vinyl,attr_Material_O_27,design,8 diff --git a/app/service/attribute_recognition/discriptor/dress/9_dress_Design.csv b/app/service/attribute_recognition/discriptor/dress/9_dress_Design.csv index 6d0eb88..644106a 100644 --- a/app/service/attribute_recognition/discriptor/dress/9_dress_Design.csv +++ b/app/service/attribute_recognition/discriptor/dress/9_dress_Design.csv @@ -1,19 +1,19 @@ labelName,join_attr,taskName,taskId -Asymmetrical,attr_Design_U_1,Design_D,9 -Tiered,attr_Design_U_2,Design_D,9 -Tassel,attr_Design_U_3,Design_D,9 -Ruffle,attr_Design_U_4,Design_D,9 -Pleated,attr_Design_U_5,Design_D,9 -Wrap,attr_Design_U_6,Design_D,9 -Ripped,attr_Design_U_7,Design_D,9 -Cut out,attr_Design_U_8,Design_D,9 -Eyelet,attr_Design_U_9,Design_D,9 -Folded,attr_Design_U_10,Design_D,9 -Tied,attr_Design_U_11,Design_D,9 -Drapes,attr_Design_U_12,Design_D,9 -Ribbon,attr_Design_U_13,Design_D,9 -Button,attr_Design_U_14,Design_D,9 -Split,attr_Design_U_15,Design_D,9 -Fishtail,attr_Design_U_16,Design_D,9 -Cami dress,attr_Design_U_17,Design_D,9 -Gathering,attr_Design_U_18,Design_D,9 +Asymmetrical,attr_Design_U_1,design,9 +Tiered,attr_Design_U_2,design,9 +Tassel,attr_Design_U_3,design,9 +Ruffle,attr_Design_U_4,design,9 +Pleated,attr_Design_U_5,design,9 +Wrap,attr_Design_U_6,design,9 +Ripped,attr_Design_U_7,design,9 +Cut out,attr_Design_U_8,design,9 +Eyelet,attr_Design_U_9,design,9 +Folded,attr_Design_U_10,design,9 +Tied,attr_Design_U_11,design,9 +Drapes,attr_Design_U_12,design,9 +Ribbon,attr_Design_U_13,design,9 +Button,attr_Design_U_14,design,9 +Split,attr_Design_U_15,design,9 +Fishtail,attr_Design_U_16,design,9 +Cami dress,attr_Design_U_17,design,9 +Gathering,attr_Design_U_18,design,9 diff --git a/app/service/attribute_recognition/discriptor/dress/9_top_Softness.csv b/app/service/attribute_recognition/discriptor/dress/9_top_Softness.csv index ea612ab..91e8d32 100644 --- a/app/service/attribute_recognition/discriptor/dress/9_top_Softness.csv +++ b/app/service/attribute_recognition/discriptor/dress/9_top_Softness.csv @@ -1,4 +1,4 @@ labelName,join_attr,taskName,taskId -Soft,attr_Softness_U_1,Softness_D,9 -Medium,attr_Softness_U_2,Softness_D,9 -Hard,attr_Softness_U_3,Softness_D,9 +Soft,attr_Softness_U_1,softness,9 +Medium,attr_Softness_U_2,softness,9 +Hard,attr_Softness_U_3,softness,9 diff --git a/app/service/attribute_recognition/discriptor/dress/ori10_dress_Design.csv b/app/service/attribute_recognition/discriptor/dress/ori10_dress_Design.csv index 255b2c4..af126aa 100644 --- a/app/service/attribute_recognition/discriptor/dress/ori10_dress_Design.csv +++ b/app/service/attribute_recognition/discriptor/dress/ori10_dress_Design.csv @@ -1,16 +1,16 @@ labelName,join_attr,taskName,taskId -Asymmetrical,attr_Design_D_1,Design_D,10 -Tiered,attr_Design_D_2,Design_D,10 -Tassel,attr_Design_D_3,Design_D,10 -Ruffle,attr_Design_D_4,Design_D,10 -Pleated,attr_Design_D_5,Design_D,10 -Wrap,attr_Design_D_6,Design_D,10 -Ripped,attr_Design_D_7,Design_D,10 -Cut out,attr_Design_D_8,Design_D,10 -Eyelet,attr_Design_D_9,Design_D,10 -Folded,attr_Design_D_10,Design_D,10 -Tied,attr_Design_D_11,Design_D,10 -Drapes,attr_Design_D_12,Design_D,10 -Ribbon,attr_Design_D_13,Design_D,10 -Button,attr_Design_D_14,Design_D,10 -Gathering,attr_Design_D_15,Design_D,10 +Asymmetrical,attr_Design_D_1,design,10 +Tiered,attr_Design_D_2,design,10 +Tassel,attr_Design_D_3,design,10 +Ruffle,attr_Design_D_4,design,10 +Pleated,attr_Design_D_5,design,10 +Wrap,attr_Design_D_6,design,10 +Ripped,attr_Design_D_7,design,10 +Cut out,attr_Design_D_8,design,10 +Eyelet,attr_Design_D_9,design,10 +Folded,attr_Design_D_10,design,10 +Tied,attr_Design_D_11,design,10 +Drapes,attr_Design_D_12,design,10 +Ribbon,attr_Design_D_13,design,10 +Button,attr_Design_D_14,design,10 +Gathering,attr_Design_D_15,design,10 diff --git a/app/service/attribute_recognition/discriptor/dress/ori11_dress_OPType.csv b/app/service/attribute_recognition/discriptor/dress/ori11_dress_OPType.csv index 690647c..0ad7cb7 100644 --- a/app/service/attribute_recognition/discriptor/dress/ori11_dress_OPType.csv +++ b/app/service/attribute_recognition/discriptor/dress/ori11_dress_OPType.csv @@ -1,5 +1,5 @@ labelName,join_attr,taskName,taskId -Button,attr_OPType_D_1,OPType_D,11 -Zipper,attr_OPType_D_2,OPType_D,11 -Thread,attr_OPType_D_3,OPType_D,11 -Hook,attr_OPType_D_4,OPType_D,11 +Button,attr_OPType_D_1,opening_type,11 +Zipper,attr_OPType_D_2,opening_type,11 +Thread,attr_OPType_D_3,opening_type,11 +Hook,attr_OPType_D_4,opening_type,11 diff --git a/app/service/attribute_recognition/discriptor/dress/ori12_dress_Silhouette.csv b/app/service/attribute_recognition/discriptor/dress/ori12_dress_Silhouette.csv index 17a33f4..171b02b 100644 --- a/app/service/attribute_recognition/discriptor/dress/ori12_dress_Silhouette.csv +++ b/app/service/attribute_recognition/discriptor/dress/ori12_dress_Silhouette.csv @@ -8,4 +8,4 @@ Empire,attr_Silhouette_D_6,Silhouette_D,12 Hourglass,attr_Silhouette_D_7,Silhouette_D,12 Mermaid,attr_Silhouette_D_8,Silhouette_D,12 Sheath,attr_Silhouette_D_9,Silhouette_D,12 -Tent,attr_Silhouette_D_10,Silhouette_D,12 +Tent,attr_Silhouette_D_10,silhouette,12 diff --git a/app/service/attribute_recognition/discriptor/dress/ori13_dress_Type.csv b/app/service/attribute_recognition/discriptor/dress/ori13_dress_Type.csv index e95fdce..e240ab6 100644 --- a/app/service/attribute_recognition/discriptor/dress/ori13_dress_Type.csv +++ b/app/service/attribute_recognition/discriptor/dress/ori13_dress_Type.csv @@ -1,20 +1,20 @@ labelName,join_attr,taskName,taskId -Evening gown,attr_Dress_Type_1,Dress_Type,13 -Shirt-dress,attr_Dress_Type_2,Dress_Type,13 -Coat dress,attr_Dress_Type_3,Dress_Type,13 -Handkerchief dress,attr_Dress_Type_4,Dress_Type,13 -Jumper dress,attr_Dress_Type_5,Dress_Type,13 -Dungaree dress,attr_Dress_Type_6,Dress_Type,13 -Skater dress,attr_Dress_Type_7,Dress_Type,13 -Tea dress,attr_Dress_Type_8,Dress_Type,13 -Mermaid dress,attr_Dress_Type_9,Dress_Type,13 -Cocktail dress,attr_Dress_Type_10,Dress_Type,13 -A-Line dress,attr_Dress_Type_11,Dress_Type,13 -Bodycon dress,attr_Dress_Type_12,Dress_Type,13 -Maxi dress,attr_Dress_Type_13,Dress_Type,13 -Office dress,attr_Dress_Type_14,Dress_Type,13 -Pencil dress,attr_Dress_Type_15,Dress_Type,13 -Sheer dress,attr_Dress_Type_16,Dress_Type,13 -Shift dress,attr_Dress_Type_17,Dress_Type,13 -Slip dress,attr_Dress_Type_18,Dress_Type,13 -T-shirt dress,attr_Dress_Type_19,Dress_Type,13 +Evening gown,attr_Dress_Type_1,dress_type,13 +Shirt-dress,attr_Dress_Type_2,dress_type,13 +Coat dress,attr_Dress_Type_3,dress_type,13 +Handkerchief dress,attr_Dress_Type_4,dress_type,13 +Jumper dress,attr_Dress_Type_5,dress_type,13 +Dungaree dress,attr_Dress_Type_6,dress_type,13 +Skater dress,attr_Dress_Type_7,dress_type,13 +Tea dress,attr_Dress_Type_8,dress_type,13 +Mermaid dress,attr_Dress_Type_9,dress_type,13 +Cocktail dress,attr_Dress_Type_10,dress_type,13 +A-Line dress,attr_Dress_Type_11,dress_type,13 +Bodycon dress,attr_Dress_Type_12,dress_type,13 +Maxi dress,attr_Dress_Type_13,dress_type,13 +Office dress,attr_Dress_Type_14,dress_type,13 +Pencil dress,attr_Dress_Type_15,dress_type,13 +Sheer dress,attr_Dress_Type_16,dress_type,13 +Shift dress,attr_Dress_Type_17,dress_type,13 +Slip dress,attr_Dress_Type_18,dress_type,13 +T-shirt dress,attr_Dress_Type_19,dress_type,13 diff --git a/app/service/attribute_recognition/discriptor/dress/ori1_dress_length.csv b/app/service/attribute_recognition/discriptor/dress/ori1_dress_length.csv index d4d9217..fc07156 100644 --- a/app/service/attribute_recognition/discriptor/dress/ori1_dress_length.csv +++ b/app/service/attribute_recognition/discriptor/dress/ori1_dress_length.csv @@ -1,6 +1,6 @@ labelName,join_attr,taskName,taskId -Maxi,attr_Dress_length_1,Dress_length,1 -Midi,attr_Dress_length_2,Dress_length,1 -Mini,attr_Dress_length_3,Dress_length,1 -Over the knee,attr_Dress_length_4,Dress_length,1 -Floor Length,attr_Dress_length_5,Dress_length,1 +Maxi,attr_Dress_length_1,dress_length,1 +Midi,attr_Dress_length_2,dress_length,1 +Mini,attr_Dress_length_3,dress_length,1 +Over the knee,attr_Dress_length_4,dress_length,1 +Floor Length,attr_Dress_length_5,dress_length,1 diff --git a/app/service/attribute_recognition/discriptor/dress/ori2_dress_Sleeve_length.csv b/app/service/attribute_recognition/discriptor/dress/ori2_dress_Sleeve_length.csv index 51931d8..0b1667f 100644 --- a/app/service/attribute_recognition/discriptor/dress/ori2_dress_Sleeve_length.csv +++ b/app/service/attribute_recognition/discriptor/dress/ori2_dress_Sleeve_length.csv @@ -1,6 +1,6 @@ labelName,join_attr,taskName,taskId -Sleeveless,attr_Sleeve_length_D_1,Sleeve_length_D,2 -Short,attr_Sleeve_length_D_2,Sleeve_length_D,2 -Middle,attr_Sleeve_length_D_3,Sleeve_length_D,2 -Seven,attr_Sleeve_length_D_4,Sleeve_length_D,2 -Long,attr_Sleeve_length_D_5,Sleeve_length_D,2 +Sleeveless,attr_Sleeve_length_D_1,sleeve_length,2 +Short,attr_Sleeve_length_D_2,sleeve_length,2 +Middle,attr_Sleeve_length_D_3,sleeve_length,2 +Seven,attr_Sleeve_length_D_4,sleeve_length,2 +Long,attr_Sleeve_length_D_5,sleeve_length,2 diff --git a/app/service/attribute_recognition/discriptor/dress/ori3_dress_Sleeve_shape.csv b/app/service/attribute_recognition/discriptor/dress/ori3_dress_Sleeve_shape.csv index 0cc9dd1..245dee2 100644 --- a/app/service/attribute_recognition/discriptor/dress/ori3_dress_Sleeve_shape.csv +++ b/app/service/attribute_recognition/discriptor/dress/ori3_dress_Sleeve_shape.csv @@ -1,9 +1,9 @@ labelName,join_attr,taskName,taskId -Regular,attr_Sleeve_shape_D_1,Sleeve_shape_D,3 -Slim,attr_Sleeve_shape_D_2,Sleeve_shape_D,3 -Puff,attr_Sleeve_shape_D_3,Sleeve_shape_D,3 -Bell,attr_Sleeve_shape_D_4,Sleeve_shape_D,3 -Batwing,attr_Sleeve_shape_D_5,Sleeve_shape_D,3 -Shirt,attr_Sleeve_shape_D_6,Sleeve_shape_D,3 -Rib,attr_Sleeve_shape_D_7,Sleeve_shape_D,3 -Raglan,attr_Sleeve_shape_D_8,Sleeve_shape_D,3 +Regular,attr_Sleeve_shape_D_1,sleeve_shape,3 +Slim,attr_Sleeve_shape_D_2,sleeve_shape,3 +Puff,attr_Sleeve_shape_D_3,sleeve_shape,3 +Bell,attr_Sleeve_shape_D_4,sleeve_shape,3 +Batwing,attr_Sleeve_shape_D_5,sleeve_shape,3 +Shirt,attr_Sleeve_shape_D_6,sleeve_shape,3 +Rib,attr_Sleeve_shape_D_7,sleeve_shape,3 +Raglan,attr_Sleeve_shape_D_8,sleeve_shape,3 diff --git a/app/service/attribute_recognition/discriptor/dress/ori4_dress_Sleeve_shoulder.csv b/app/service/attribute_recognition/discriptor/dress/ori4_dress_Sleeve_shoulder.csv index 8f2fc6b..d989def 100644 --- a/app/service/attribute_recognition/discriptor/dress/ori4_dress_Sleeve_shoulder.csv +++ b/app/service/attribute_recognition/discriptor/dress/ori4_dress_Sleeve_shoulder.csv @@ -1,5 +1,5 @@ labelName,join_attr,taskName,taskId -Regular,attr_Sleeve_shoulder_D_1,Sleeve_shoulder_D,4 -Cold,attr_Sleeve_shoulder_D_2,Sleeve_shoulder_D,4 -Tucked,attr_Sleeve_shoulder_D_3,Sleeve_shoulder_D,4 -Balmain,attr_Sleeve_shoulder_D_4,Sleeve_shoulder_D,4 +Regular,attr_Sleeve_shoulder_D_1,sleeve_shoulder,4 +Cold,attr_Sleeve_shoulder_D_2,sleeve_shoulder,4 +Tucked,attr_Sleeve_shoulder_D_3,sleeve_shoulder,4 +Balmain,attr_Sleeve_shoulder_D_4,sleeve_shoulder,4 diff --git a/app/service/attribute_recognition/discriptor/dress/ori5_dress_Neckline.csv b/app/service/attribute_recognition/discriptor/dress/ori5_dress_Neckline.csv index 118749d..9e8edac 100644 --- a/app/service/attribute_recognition/discriptor/dress/ori5_dress_Neckline.csv +++ b/app/service/attribute_recognition/discriptor/dress/ori5_dress_Neckline.csv @@ -1,17 +1,17 @@ labelName,join_attr,taskName,taskId -Round,attr_Neckline_D_1,Neckline_D,5 -V,attr_Neckline_D_2,Neckline_D,5 -Square,attr_Neckline_D_3,Neckline_D,5 -One-shoulder,attr_Neckline_D_4,Neckline_D,5 -Off-shoulder,attr_Neckline_D_5,Neckline_D,5 -Strapless,attr_Neckline_D_6,Neckline_D,5 -Turtle,attr_Neckline_D_7,Neckline_D,5 -Boat,attr_Neckline_D_8,Neckline_D,5 -Halter,attr_Neckline_D_9,Neckline_D,5 -Spaghetti Strap,attr_Neckline_D_10,Neckline_D,5 -Sweetheart,attr_Neckline_D_11,Neckline_D,5 -U,attr_Neckline_D_12,Neckline_D,5 -choker,attr_Neckline_D_13,Neckline_D,5 -cowl,attr_Neckline_D_14,Neckline_D,5 -keyhole,attr_Neckline_D_15,Neckline_D,5 -split,attr_Neckline_D_16,Neckline_D,5 +Round,attr_Neckline_D_1,neckline,5 +V,attr_Neckline_D_2,neckline,5 +Square,attr_Neckline_D_3,neckline,5 +One-shoulder,attr_Neckline_D_4,neckline,5 +Off-shoulder,attr_Neckline_D_5,neckline,5 +Strapless,attr_Neckline_D_6,neckline,5 +Turtle,attr_Neckline_D_7,neckline,5 +Boat,attr_Neckline_D_8,neckline,5 +Halter,attr_Neckline_D_9,neckline,5 +Spaghetti Strap,attr_Neckline_D_10,neckline,5 +Sweetheart,attr_Neckline_D_11,neckline,5 +U,attr_Neckline_D_12,neckline,5 +choker,attr_Neckline_D_13,neckline,5 +cowl,attr_Neckline_D_14,neckline,5 +keyhole,attr_Neckline_D_15,neckline,5 +split,attr_Neckline_D_16,neckline,5 diff --git a/app/service/attribute_recognition/discriptor/dress/ori6_dress_Collar.csv b/app/service/attribute_recognition/discriptor/dress/ori6_dress_Collar.csv index 8bc6825..be6f8a3 100644 --- a/app/service/attribute_recognition/discriptor/dress/ori6_dress_Collar.csv +++ b/app/service/attribute_recognition/discriptor/dress/ori6_dress_Collar.csv @@ -1,11 +1,11 @@ labelName,join_attr,taskName,taskId -Peterpan-Bertha,attr_Collar_D_1,Collar_D,6 -Shirt,attr_Collar_D_2,Collar_D,6 -Rib,attr_Collar_D_3,Collar_D,6 -Turtle,attr_Collar_D_4,Collar_D,6 -Lapel,attr_Collar_D_5,Collar_D,6 -Hoodie,attr_Collar_D_6,Collar_D,6 -Mandarin,attr_Collar_D_7,Collar_D,6 -Tie,attr_Collar_D_8,Collar_D,6 -Ruffle,attr_Collar_D_9,Collar_D,6 -Cowl,attr_Collar_D_10,Collar_D,6 +Peterpan-Bertha,attr_Collar_D_1,collar,6 +Shirt,attr_Collar_D_2,collar,6 +Rib,attr_Collar_D_3,collar,6 +Turtle,attr_Collar_D_4,collar,6 +Lapel,attr_Collar_D_5,collar,6 +Hoodie,attr_Collar_D_6,collar,6 +Mandarin,attr_Collar_D_7,collar,6 +Tie,attr_Collar_D_8,collar,6 +Ruffle,attr_Collar_D_9,collar,6 +Cowl,attr_Collar_D_10,collar,6 diff --git a/app/service/attribute_recognition/discriptor/dress/ori7_dress_Print.csv b/app/service/attribute_recognition/discriptor/dress/ori7_dress_Print.csv index 6fcda6f..d25ebe9 100644 --- a/app/service/attribute_recognition/discriptor/dress/ori7_dress_Print.csv +++ b/app/service/attribute_recognition/discriptor/dress/ori7_dress_Print.csv @@ -1,16 +1,16 @@ labelName,join_attr,taskName,taskId -abstract,attr_Print_D_1,Print_D,7 -allover,attr_Print_D_2,Print_D,7 -animal printed,attr_Print_D_3,Print_D,7 -Camouflage,attr_Print_D_4,Print_D,7 -checks,attr_Print_D_5,Print_D,7 -color_block,attr_Print_D_6,Print_D,7 -disty print,attr_Print_D_7,Print_D,7 -dotted,attr_Print_D_8,Print_D,7 -floral,attr_Print_D_9,Print_D,7 -graphic print,attr_Print_D_10,Print_D,7 -logo and slogan print,attr_Print_D_11,Print_D,7 -patchwork,attr_Print_D_12,Print_D,7 -plain,attr_Print_D_13,Print_D,7 -plain_dnim,attr_Print_D_14,Print_D,7 -stripe,attr_Print_D_15,Print_D,7 +abstract,attr_Print_D_1,print,7 +allover,attr_Print_D_2,print,7 +animal printed,attr_Print_D_3,print,7 +Camouflage,attr_Print_D_4,print,7 +checks,attr_Print_D_5,print,7 +color_block,attr_Print_D_6,print,7 +disty print,attr_Print_D_7,print,7 +dotted,attr_Print_D_8,print,7 +floral,attr_Print_D_9,print,7 +graphic print,attr_Print_D_10,print,7 +logo and slogan print,attr_Print_D_11,print,7 +patchwork,attr_Print_D_12,print,7 +plain,attr_Print_D_13,print,7 +plain_dnim,attr_Print_D_14,print,7 +stripe,attr_Print_D_15,print,7 diff --git a/app/service/attribute_recognition/discriptor/dress/ori8_dress_Material.csv b/app/service/attribute_recognition/discriptor/dress/ori8_dress_Material.csv index 2006c6b..faa5517 100644 --- a/app/service/attribute_recognition/discriptor/dress/ori8_dress_Material.csv +++ b/app/service/attribute_recognition/discriptor/dress/ori8_dress_Material.csv @@ -1,28 +1,28 @@ labelName,join_attr,taskName,taskId -canvas,attr_Material_D_1,Material_D,8 -chambray,attr_Material_D_2,Material_D,8 -chenille,attr_Material_D_3,Material_D,8 -chiffon,attr_Material_D_4,Material_D,8 -corduroy,attr_Material_D_5,Material_D,8 -crepe,attr_Material_D_6,Material_D,8 -denim,attr_Material_D_7,Material_D,8 -faux_fur,attr_Material_D_8,Material_D,8 -faux_leather,attr_Material_D_9,Material_D,8 -flannel,attr_Material_D_10,Material_D,8 -fleece,attr_Material_D_11,Material_D,8 -gingham,attr_Material_D_12,Material_D,8 -jersey,attr_Material_D_13,Material_D,8 -knit,attr_Material_D_14,Material_D,8 -lace,attr_Material_D_15,Material_D,8 -lawn,attr_Material_D_16,Material_D,8 -neoprene,attr_Material_D_17,Material_D,8 -organza,attr_Material_D_18,Material_D,8 -plush,attr_Material_D_19,Material_D,8 -satin,attr_Material_D_20,Material_D,8 -serge,attr_Material_D_21,Material_D,8 -taffeta,attr_Material_D_22,Material_D,8 -tulle,attr_Material_D_23,Material_D,8 -tweed,attr_Material_D_24,Material_D,8 -twill,attr_Material_D_25,Material_D,8 -velvet,attr_Material_D_26,Material_D,8 -vinyl,attr_Material_D_27,Material_D,8 +canvas,attr_Material_D_1,material,8 +chambray,attr_Material_D_2,material,8 +chenille,attr_Material_D_3,material,8 +chiffon,attr_Material_D_4,material,8 +corduroy,attr_Material_D_5,material,8 +crepe,attr_Material_D_6,material,8 +denim,attr_Material_D_7,material,8 +faux_fur,attr_Material_D_8,material,8 +faux_leather,attr_Material_D_9,material,8 +flannel,attr_Material_D_10,material,8 +fleece,attr_Material_D_11,material,8 +gingham,attr_Material_D_12,material,8 +jersey,attr_Material_D_13,material,8 +knit,attr_Material_D_14,material,8 +lace,attr_Material_D_15,material,8 +lawn,attr_Material_D_16,material,8 +neoprene,attr_Material_D_17,material,8 +organza,attr_Material_D_18,material,8 +plush,attr_Material_D_19,material,8 +satin,attr_Material_D_20,material,8 +serge,attr_Material_D_21,material,8 +taffeta,attr_Material_D_22,material,8 +tulle,attr_Material_D_23,material,8 +tweed,attr_Material_D_24,material,8 +twill,attr_Material_D_25,material,8 +velvet,attr_Material_D_26,material,8 +vinyl,attr_Material_D_27,material,8 diff --git a/app/service/attribute_recognition/discriptor/dress/ori9_dress_Softness.csv b/app/service/attribute_recognition/discriptor/dress/ori9_dress_Softness.csv index c4271cb..8b1f607 100644 --- a/app/service/attribute_recognition/discriptor/dress/ori9_dress_Softness.csv +++ b/app/service/attribute_recognition/discriptor/dress/ori9_dress_Softness.csv @@ -1,4 +1,4 @@ labelName,join_attr,taskName,taskId -Soft,attr_Softness_D_1,Softness_D,9 -Medium,attr_Softness_D_2,Softness_D,9 -Hard,attr_Softness_D_3,Softness_D,9 +Soft,attr_Softness_D_1,softness,9 +Medium,attr_Softness_D_2,softness,9 +Hard,attr_Softness_D_3,softness,9 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/10_jumsuit_design.csv b/app/service/attribute_recognition/discriptor/jumpsuit/10_jumsuit_design.csv index b131b8c..770bd28 100644 --- a/app/service/attribute_recognition/discriptor/jumpsuit/10_jumsuit_design.csv +++ b/app/service/attribute_recognition/discriptor/jumpsuit/10_jumsuit_design.csv @@ -1,17 +1,17 @@ labelName,join_attr,taskName,taskId -Asymmetrical,attr_Design_J_1,Design_J,9 -Tassel,attr_Design_J_2,Design_J,9 -Ruffle,attr_Design_J_3,Design_J,9 -Pleated,attr_Design_J_4,Design_J,9 -Wrap,attr_Design_J_5,Design_J,9 -Cut out,attr_Design_J_6,Design_J,9 -Tied,attr_Design_J_7,Design_J,9 -Drapes,attr_Design_J_8,Design_J,9 -Ribbon,attr_Design_J_9,Design_J,9 -Button,attr_Design_J_10,Design_J,9 -Cami,attr_Design_J_11,Design_J,9 -Gathering,attr_Design_J_12,Design_J,9 -Pocket,attr_Design_J_13,Design_J,9 -Dungaree,attr_Design_J_14,Design_J,9 -Layering,attr_Design_J_15,Design_J,9 -Belted,attr_Design_J_16,Design_J,9 +Asymmetrical,attr_Design_J_1,design,9 +Tassel,attr_Design_J_2,design,9 +Ruffle,attr_Design_J_3,design,9 +Pleated,attr_Design_J_4,design,9 +Wrap,attr_Design_J_5,design,9 +Cut out,attr_Design_J_6,design,9 +Tied,attr_Design_J_7,design,9 +Drapes,attr_Design_J_8,design,9 +Ribbon,attr_Design_J_9,design,9 +Button,attr_Design_J_10,design,9 +Cami,attr_Design_J_11,design,9 +Gathering,attr_Design_J_12,design,9 +Pocket,attr_Design_J_13,design,9 +Dungaree,attr_Design_J_14,design,9 +Layering,attr_Design_J_15,design,9 +Belted,attr_Design_J_16,design,9 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/11_jumpsuit_OPType.csv b/app/service/attribute_recognition/discriptor/jumpsuit/11_jumpsuit_OPType.csv index ce3ef32..44c67a1 100644 --- a/app/service/attribute_recognition/discriptor/jumpsuit/11_jumpsuit_OPType.csv +++ b/app/service/attribute_recognition/discriptor/jumpsuit/11_jumpsuit_OPType.csv @@ -1,5 +1,5 @@ labelName,join_attr,taskName,taskId -Button,attr_OPType_J_1,OPType_J,11 -Zipper,attr_OPType_J_2,OPType_J,11 -Thread,attr_OPType_J_3,OPType_J,11 -Hook,attr_OPType_J_4,OPType_J,11 +Button,attr_OPType_J_1,opening_type,11 +Zipper,attr_OPType_J_2,opening_type,11 +Thread,attr_OPType_J_3,opening_type,11 +Hook,attr_OPType_J_4,opening_type,11 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/12_jumpsuit_subtype.csv b/app/service/attribute_recognition/discriptor/jumpsuit/12_jumpsuit_subtype.csv index 0905c3c..9228bc1 100644 --- a/app/service/attribute_recognition/discriptor/jumpsuit/12_jumpsuit_subtype.csv +++ b/app/service/attribute_recognition/discriptor/jumpsuit/12_jumpsuit_subtype.csv @@ -1,6 +1,6 @@ labelName,join_attr,taskName,taskId -Peg leg,attr_Jumpsuit_subtype_1,Jumpsuit_subtype,12 -Straight leg,attr_Jumpsuit_subtype_2,Jumpsuit_subtype,12 -Wide leg,attr_Jumpsuit_subtype_3,Jumpsuit_subtype,12 -Boot-cut flare,attr_Jumpsuit_subtype_4,Jumpsuit_subtype,12 -Slim fit,attr_Jumpsuit_subtype_5,Jumpsuit_subtype,12 +Peg leg,attr_Jumpsuit_subtype_1,jumpsuit_subtype,12 +Straight leg,attr_Jumpsuit_subtype_2,jumpsuit_subtype,12 +Wide leg,attr_Jumpsuit_subtype_3,jumpsuit_subtype,12 +Boot-cut flare,attr_Jumpsuit_subtype_4,jumpsuit_subtype,12 +Slim fit,attr_Jumpsuit_subtype_5,jumpsuit_subtype,12 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/1_jumsuit_length.csv b/app/service/attribute_recognition/discriptor/jumpsuit/1_jumsuit_length.csv index 41d90c5..adbd6f5 100644 --- a/app/service/attribute_recognition/discriptor/jumpsuit/1_jumsuit_length.csv +++ b/app/service/attribute_recognition/discriptor/jumpsuit/1_jumsuit_length.csv @@ -1,6 +1,6 @@ labelName,join_attr,taskName,taskId -Short,attr_Jumpsuit_length_1,Jumpsuit_length,1 -Middle,attr_Jumpsuit_length_2,Jumpsuit_length,1 -Seven,attr_Jumpsuit_length_3,Jumpsuit_length,1 -Nine,attr_Jumpsuit_length_4,Jumpsuit_length,1 -Long,attr_Jumpsuit_length_5,Jumpsuit_length,1 +Short,attr_Jumpsuit_length_1,jumpsuit_length,1 +Middle,attr_Jumpsuit_length_2,jumpsuit_length,1 +Seven,attr_Jumpsuit_length_3,jumpsuit_length,1 +Nine,attr_Jumpsuit_length_4,jumpsuit_length,1 +Long,attr_Jumpsuit_length_5,jumpsuit_length,1 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/2_jumpsuit_Sleeve_length.csv b/app/service/attribute_recognition/discriptor/jumpsuit/2_jumpsuit_Sleeve_length.csv index 2e07d4c..6404221 100644 --- a/app/service/attribute_recognition/discriptor/jumpsuit/2_jumpsuit_Sleeve_length.csv +++ b/app/service/attribute_recognition/discriptor/jumpsuit/2_jumpsuit_Sleeve_length.csv @@ -1,6 +1,6 @@ labelName,join_attr,taskName,taskId -Sleeveless,attr_Sleeve_length_J_1,Sleeve_length_J,2 -Short,attr_Sleeve_length_J_2,Sleeve_length_J,2 -Middle,attr_Sleeve_length_J_3,Sleeve_length_J,2 -Seven,attr_Sleeve_length_J_4,Sleeve_length_J,2 -Long,attr_Sleeve_length_J_5,Sleeve_length_J,2 +Sleeveless,attr_Sleeve_length_J_1,sleeve_length,2 +Short,attr_Sleeve_length_J_2,sleeve_length,2 +Middle,attr_Sleeve_length_J_3,sleeve_length,2 +Seven,attr_Sleeve_length_J_4,sleeve_length,2 +Long,attr_Sleeve_length_J_5,sleeve_length,2 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/3_jumpsuit_Sleeve_shape.csv b/app/service/attribute_recognition/discriptor/jumpsuit/3_jumpsuit_Sleeve_shape.csv index 44739de..b02dc76 100644 --- a/app/service/attribute_recognition/discriptor/jumpsuit/3_jumpsuit_Sleeve_shape.csv +++ b/app/service/attribute_recognition/discriptor/jumpsuit/3_jumpsuit_Sleeve_shape.csv @@ -1,9 +1,9 @@ labelName,join_attr,taskName,taskId -Regular,attr_Sleeve_shape_J_1,Sleeve_shape_J,3 -Slim,attr_Sleeve_shape_J_2,Sleeve_shape_J,3 -Puff,attr_Sleeve_shape_J_3,Sleeve_shape_J,3 -Bell,attr_Sleeve_shape_J_4,Sleeve_shape_J,3 -Batwing,attr_Sleeve_shape_J_5,Sleeve_shape_J,3 -Shirt,attr_Sleeve_shape_J_6,Sleeve_shape_J,3 -Rib,attr_Sleeve_shape_J_7,Sleeve_shape_J,3 -Raglan,attr_Sleeve_shape_J_8,Sleeve_shape_J,3 +Regular,attr_Sleeve_shape_J_1,sleeve_shape,3 +Slim,attr_Sleeve_shape_J_2,sleeve_shape,3 +Puff,attr_Sleeve_shape_J_3,sleeve_shape,3 +Bell,attr_Sleeve_shape_J_4,sleeve_shape,3 +Batwing,attr_Sleeve_shape_J_5,sleeve_shape,3 +Shirt,attr_Sleeve_shape_J_6,sleeve_shape,3 +Rib,attr_Sleeve_shape_J_7,sleeve_shape,3 +Raglan,attr_Sleeve_shape_J_8,sleeve_shape,3 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/4_jumpsuit_Sleeve_shoulder.csv b/app/service/attribute_recognition/discriptor/jumpsuit/4_jumpsuit_Sleeve_shoulder.csv index 97409df..2baec40 100644 --- a/app/service/attribute_recognition/discriptor/jumpsuit/4_jumpsuit_Sleeve_shoulder.csv +++ b/app/service/attribute_recognition/discriptor/jumpsuit/4_jumpsuit_Sleeve_shoulder.csv @@ -1,5 +1,5 @@ labelName,join_attr,taskName,taskId -Regular,attr_Sleeve_shoulder_J_1,Sleeve_shoulder_J,4 -Cold,attr_Sleeve_shoulder_J_2,Sleeve_shoulder_J,4 -Tucked,attr_Sleeve_shoulder_J_3,Sleeve_shoulder_J,4 -Balmain,attr_Sleeve_shoulder_J_4,Sleeve_shoulder_J,4 +Regular,attr_Sleeve_shoulder_J_1,sleeve_shoulder,4 +Cold,attr_Sleeve_shoulder_J_2,sleeve_shoulder,4 +Tucked,attr_Sleeve_shoulder_J_3,sleeve_shoulder,4 +Balmain,attr_Sleeve_shoulder_J_4,sleeve_shoulder,4 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/5_jumpsuit_Neckline.csv b/app/service/attribute_recognition/discriptor/jumpsuit/5_jumpsuit_Neckline.csv index 30c1420..4b18420 100644 --- a/app/service/attribute_recognition/discriptor/jumpsuit/5_jumpsuit_Neckline.csv +++ b/app/service/attribute_recognition/discriptor/jumpsuit/5_jumpsuit_Neckline.csv @@ -1,7 +1,7 @@ labelName,join_attr,taskName,taskId -Round,attr_Neckline_1,Neckline,6 -V,attr_Neckline_2,Neckline,6 -Square,attr_Neckline_3,Neckline,6 -One-shoulder,attr_Neckline_4,Neckline,6 -Off-shoulder,attr_Neckline_5,Neckline,6 -Strapless,attr_Neckline_6,Neckline,6 +Round,attr_Neckline_1,neckline,6 +V,attr_Neckline_2,neckline,6 +Square,attr_Neckline_3,neckline,6 +One-shoulder,attr_Neckline_4,neckline,6 +Off-shoulder,attr_Neckline_5,neckline,6 +Strapless,attr_Neckline_6,neckline,6 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/6_jumpsuit_Collar.csv b/app/service/attribute_recognition/discriptor/jumpsuit/6_jumpsuit_Collar.csv index 408eebb..7fffe01 100644 --- a/app/service/attribute_recognition/discriptor/jumpsuit/6_jumpsuit_Collar.csv +++ b/app/service/attribute_recognition/discriptor/jumpsuit/6_jumpsuit_Collar.csv @@ -1,11 +1,11 @@ labelName,join_attr,taskName,taskId -Peterpan,attr_Collar_J_1,Collar_J,6 -Shirt,attr_Collar_J_2,Collar_J,6 -Rib,attr_Collar_J_3,Collar_J,6 -Turtle,attr_Collar_J_4,Collar_J,6 -Lapel,attr_Collar_J_5,Collar_J,6 -Hoodie,attr_Collar_J_6,Collar_J,6 -Mandarin,attr_Collar_J_7,Collar_J,6 -Tie,attr_Collar_J_8,Collar_J,6 -Ruffle,attr_Collar_J_9,Collar_J,6 -Cowl,attr_Collar_J_10,Collar_J,6 +Peterpan,attr_Collar_J_1,collar,6 +Shirt,attr_Collar_J_2,collar,6 +Rib,attr_Collar_J_3,collar,6 +Turtle,attr_Collar_J_4,collar,6 +Lapel,attr_Collar_J_5,collar,6 +Hoodie,attr_Collar_J_6,collar,6 +Mandarin,attr_Collar_J_7,collar,6 +Tie,attr_Collar_J_8,collar,6 +Ruffle,attr_Collar_J_9,collar,6 +Cowl,attr_Collar_J_10,collar,6 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/7_jumpsuit_Print.csv b/app/service/attribute_recognition/discriptor/jumpsuit/7_jumpsuit_Print.csv index ca56ff8..9f7db68 100644 --- a/app/service/attribute_recognition/discriptor/jumpsuit/7_jumpsuit_Print.csv +++ b/app/service/attribute_recognition/discriptor/jumpsuit/7_jumpsuit_Print.csv @@ -1,16 +1,16 @@ labelName,join_attr,taskName,taskId -Abstract,attr_Print_J_1,Print_J,7 -Allover,attr_Print_J_2,Print_J,7 -Animal,attr_Print_J_3,Print_J,7 -Camouflage,attr_Print_J_4,Print_J,7 -Checks,attr_Print_J_5,Print_J,7 -Color_block,attr_Print_J_6,Print_J,7 -Disty print,attr_Print_J_7,Print_J,7 -Dotted,attr_Print_J_8,Print_J,7 -Floral,attr_Print_J_9,Print_J,7 -Graphic print,attr_Print_J_10,Print_J,7 -Logo and slogan,attr_Print_J_11,Print_J,7 -Patchwork,attr_Print_J_12,Print_J,7 -Plain,attr_Print_J_13,Print_J,7 -Plain_dnim,attr_Print_J_14,Print_J,7 -Stripe,attr_Print_J_15,Print_J,7 +Abstract,attr_Print_J_1,print,7 +Allover,attr_Print_J_2,print,7 +Animal,attr_Print_J_3,print,7 +Camouflage,attr_Print_J_4,print,7 +Checks,attr_Print_J_5,print,7 +Color_block,attr_Print_J_6,print,7 +Disty print,attr_Print_J_7,print,7 +Dotted,attr_Print_J_8,print,7 +Floral,attr_Print_J_9,print,7 +Graphic print,attr_Print_J_10,print,7 +Logo and slogan,attr_Print_J_11,print,7 +Patchwork,attr_Print_J_12,print,7 +Plain,attr_Print_J_13,print,7 +Plain_dnim,attr_Print_J_14,print,7 +Stripe,attr_Print_J_15,print,7 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/8_jumpsuit_Material.csv b/app/service/attribute_recognition/discriptor/jumpsuit/8_jumpsuit_Material.csv index b979cdc..259fd8d 100644 --- a/app/service/attribute_recognition/discriptor/jumpsuit/8_jumpsuit_Material.csv +++ b/app/service/attribute_recognition/discriptor/jumpsuit/8_jumpsuit_Material.csv @@ -1,28 +1,28 @@ labelName,join_attr,taskName,taskId -Canvas,attr_Material_J_1,Material_J,8 -Chambray,attr_Material_J_2,Material_J,8 -Chenille,attr_Material_J_3,Material_J,8 -Chiffon,attr_Material_J_4,Material_J,8 -Corduroy,attr_Material_J_5,Material_J,8 -Crepe,attr_Material_J_6,Material_J,8 -Denim,attr_Material_J_7,Material_J,8 -Faux_fur,attr_Material_J_8,Material_J,8 -Faux_leather,attr_Material_J_9,Material_J,8 -Flannel,attr_Material_J_10,Material_J,8 -Fleece,attr_Material_J_11,Material_J,8 -Gingham,attr_Material_J_12,Material_J,8 -Jersey,attr_Material_J_13,Material_J,8 -Knit,attr_Material_J_14,Material_J,8 -Lace,attr_Material_J_15,Material_J,8 -Lawn,attr_Material_J_16,Material_J,8 -Neoprene,attr_Material_J_17,Material_J,8 -Organza,attr_Material_J_18,Material_J,8 -Plush,attr_Material_J_19,Material_J,8 -Satin,attr_Material_J_20,Material_J,8 -Serge,attr_Material_J_21,Material_J,8 -Taffeta,attr_Material_J_22,Material_J,8 -Tulle,attr_Material_J_23,Material_J,8 -Tweed,attr_Material_J_24,Material_J,8 -Twill,attr_Material_J_25,Material_J,8 -Velvet,attr_Material_J_26,Material_J,8 -Vinyl,attr_Material_J_27,Material_J,8 +Canvas,attr_Material_J_1,material,8 +Chambray,attr_Material_J_2,material,8 +Chenille,attr_Material_J_3,material,8 +Chiffon,attr_Material_J_4,material,8 +Corduroy,attr_Material_J_5,material,8 +Crepe,attr_Material_J_6,material,8 +Denim,attr_Material_J_7,material,8 +Faux_fur,attr_Material_J_8,material,8 +Faux_leather,attr_Material_J_9,material,8 +Flannel,attr_Material_J_10,material,8 +Fleece,attr_Material_J_11,material,8 +Gingham,attr_Material_J_12,material,8 +Jersey,attr_Material_J_13,material,8 +Knit,attr_Material_J_14,material,8 +Lace,attr_Material_J_15,material,8 +Lawn,attr_Material_J_16,material,8 +Neoprene,attr_Material_J_17,material,8 +Organza,attr_Material_J_18,material,8 +Plush,attr_Material_J_19,material,8 +Satin,attr_Material_J_20,material,8 +Serge,attr_Material_J_21,material,8 +Taffeta,attr_Material_J_22,material,8 +Tulle,attr_Material_J_23,material,8 +Tweed,attr_Material_J_24,material,8 +Twill,attr_Material_J_25,material,8 +Velvet,attr_Material_J_26,material,8 +Vinyl,attr_Material_J_27,material,8 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/9_jumpsuit_Softness.csv b/app/service/attribute_recognition/discriptor/jumpsuit/9_jumpsuit_Softness.csv index 1711ac3..48fd593 100644 --- a/app/service/attribute_recognition/discriptor/jumpsuit/9_jumpsuit_Softness.csv +++ b/app/service/attribute_recognition/discriptor/jumpsuit/9_jumpsuit_Softness.csv @@ -1,4 +1,4 @@ labelName,join_attr,taskName,taskId -Soft,attr_Softness_J_1,Softness_J,9 -Medium,attr_Softness_J_2,Softness_J,9 -Hard,attr_Softness_J_3,Softness_J,9 +Soft,attr_Softness_J_1,softness,9 +Medium,attr_Softness_J_2,softness,9 +Hard,attr_Softness_J_3,softness,9 diff --git a/app/service/attribute_recognition/discriptor/outwear/10_outer_Design.csv b/app/service/attribute_recognition/discriptor/outwear/10_outer_Design.csv index 2061454..0371e39 100644 --- a/app/service/attribute_recognition/discriptor/outwear/10_outer_Design.csv +++ b/app/service/attribute_recognition/discriptor/outwear/10_outer_Design.csv @@ -1,19 +1,19 @@ labelName,join_attr,taskName,taskId -Asymmetrical,attr_Design_O_1,Design_O,10 -Tiered,attr_Design_O_2,Design_O,10 -Tassel,attr_Design_O_3,Design_O,10 -Ruffles,attr_Design_O_4,Design_O,10 -Pleated,attr_Design_O_5,Design_O,10 -Wrap,attr_Design_O_6,Design_O,10 -Ripped,attr_Design_O_7,Design_O,10 -Cut out,attr_Design_O_8,Design_O,10 -Eyelet,attr_Design_O_9,Design_O,10 -Folded,attr_Design_O_10,Design_O,10 -Tied,attr_Design_O_11,Design_O,10 -Drapes,attr_Design_O_12,Design_O,10 -Ribbon,attr_Design_O_13,Design_O,10 -Button,attr_Design_O_14,Design_O,10 -Crossed-over zipper,attr_Design_O_15,Design_O,10 -Crossed-over button,attr_Design_O_16,Design_O,10 -Single breasted,attr_Design_O_17,Design_O,10 -Double breasted,attr_Design_O_18,Design_O,10 +Asymmetrical,attr_Design_O_1,design,10 +Tiered,attr_Design_O_2,design,10 +Tassel,attr_Design_O_3,design,10 +Ruffles,attr_Design_O_4,design,10 +Pleated,attr_Design_O_5,design,10 +Wrap,attr_Design_O_6,design,10 +Ripped,attr_Design_O_7,design,10 +Cut out,attr_Design_O_8,design,10 +Eyelet,attr_Design_O_9,design,10 +Folded,attr_Design_O_10,design,10 +Tied,attr_Design_O_11,design,10 +Drapes,attr_Design_O_12,design,10 +Ribbon,attr_Design_O_13,design,10 +Button,attr_Design_O_14,design,10 +Crossed-over zipper,attr_Design_O_15,design,10 +Crossed-over button,attr_Design_O_16,design,10 +Single breasted,attr_Design_O_17,design,10 +Double breasted,attr_Design_O_18,design,10 diff --git a/app/service/attribute_recognition/discriptor/outwear/11_outer_opening.csv b/app/service/attribute_recognition/discriptor/outwear/11_outer_opening.csv index 292e480..9df222c 100644 --- a/app/service/attribute_recognition/discriptor/outwear/11_outer_opening.csv +++ b/app/service/attribute_recognition/discriptor/outwear/11_outer_opening.csv @@ -1,3 +1,3 @@ labelName,join_attr,taskName,taskId -Full,attr_Opening_O_1,Opening_O,11 -Half,attr_Opening_O_2,Opening_O,11 +Full,attr_Opening_O_1,opening,11 +Half,attr_Opening_O_2,opening,11 diff --git a/app/service/attribute_recognition/discriptor/outwear/12_outer_OPType.csv b/app/service/attribute_recognition/discriptor/outwear/12_outer_OPType.csv index 310c996..1655f04 100644 --- a/app/service/attribute_recognition/discriptor/outwear/12_outer_OPType.csv +++ b/app/service/attribute_recognition/discriptor/outwear/12_outer_OPType.csv @@ -1,5 +1,5 @@ labelName,join_attr,taskName,taskId -Button,attr_OPType_O_1,OPType_O,12 -Zipper,attr_OPType_O_2,OPType_O,12 -Thread,attr_OPType_O_3,OPType_O,12 -Hook,attr_OPType_O_4,OPType_O,12 +Button,attr_OPType_O_1,opening_type,12 +Zipper,attr_OPType_O_2,opening_type,12 +Thread,attr_OPType_O_3,opening_type,12 +Hook,attr_OPType_O_4,opening_type,12 diff --git a/app/service/attribute_recognition/discriptor/outwear/13_outer_Silhouette.csv b/app/service/attribute_recognition/discriptor/outwear/13_outer_Silhouette.csv index 0aa767f..ac76cd7 100644 --- a/app/service/attribute_recognition/discriptor/outwear/13_outer_Silhouette.csv +++ b/app/service/attribute_recognition/discriptor/outwear/13_outer_Silhouette.csv @@ -1,7 +1,7 @@ labelName,join_attr,taskName,taskId -A Line,attr_Silhouette_O_1,Silhouette_O,13 -H Shape,attr_Silhouette_O_2,Silhouette_O,13 -Slim,attr_Silhouette_O_3,Silhouette_O,13 -Flyman,attr_Silhouette_O_4,Silhouette_O,13 -Peplum,attr_Silhouette_O_5,Silhouette_O,13 -Oversize,attr_Silhouette_O_6,Silhouette_O,13 +A Line,attr_Silhouette_O_1,silhouette,13 +H Shape,attr_Silhouette_O_2,silhouette,13 +Slim,attr_Silhouette_O_3,silhouette,13 +Flyman,attr_Silhouette_O_4,silhouette,13 +Peplum,attr_Silhouette_O_5,silhouette,13 +Oversize,attr_Silhouette_O_6,silhouette,13 diff --git a/app/service/attribute_recognition/discriptor/outwear/1_outer_length.csv b/app/service/attribute_recognition/discriptor/outwear/1_outer_length.csv index 7f3fc4d..60c22bc 100644 --- a/app/service/attribute_recognition/discriptor/outwear/1_outer_length.csv +++ b/app/service/attribute_recognition/discriptor/outwear/1_outer_length.csv @@ -1,4 +1,4 @@ labelName,join_attr,taskName,taskId -Short,attr_Outer_length_1,Outer_length,1 -Regular,attr_Outer_length_2,Outer_length,1 -Long,attr_Outer_length_3,Outer_length,1 \ No newline at end of file +Short,attr_Outer_length_1,length,1 +Regular,attr_Outer_length_2,length,1 +Long,attr_Outer_length_3,length,1 \ No newline at end of file diff --git a/app/service/attribute_recognition/discriptor/outwear/2_outer_type.csv b/app/service/attribute_recognition/discriptor/outwear/2_outer_type.csv index 617903b..60b6ae5 100644 --- a/app/service/attribute_recognition/discriptor/outwear/2_outer_type.csv +++ b/app/service/attribute_recognition/discriptor/outwear/2_outer_type.csv @@ -1,18 +1,18 @@ labelName,join_attr,taskName,taskId -Coat,attr_Outer_type_1,Outer_Type,2 -Trench,attr_Outer_type_2,Outer_Type,2 -Baseball jacket,attr_Outer_type_3,Outer_Type,2 -Hoodie jacket,attr_Outer_type_4,Outer_Type,2 -Active jacket,attr_Outer_type_5,Outer_Type,2 -Jacket,attr_Outer_type_6,Outer_Type,2 -Blazer,attr_Outer_type_7,Outer_Type,2 -Cardigan,attr_Outer_type_8,Outer_Type,2 -Capes,attr_Outer_type_9,Outer_Type,2 -Fleeces Jacket,attr_Outer_type_10,Outer_Type,2 -Gilets/Puffer,attr_Outer_type_11,Outer_Type,2 -Aviator jacket,attr_Outer_type_12,Outer_Type,2 -Biker jacket,attr_Outer_type_13,Outer_Type,2 -Pea coat,attr_Outer_type_14,Outer_Type,2 -Shacket,attr_Outer_type_15,Outer_Type,2 -Denim jacket,attr_Outer_type_16,Outer_Type,2 -Raincoat,attr_Outer_type_17,Outer_Type,2 +Coat,attr_Outer_type_1,Type,2 +Trench,attr_Outer_type_2,Type,2 +Baseball jacket,attr_Outer_type_3,Type,2 +Hoodie jacket,attr_Outer_type_4,Type,2 +Active jacket,attr_Outer_type_5,Type,2 +Jacket,attr_Outer_type_6,Type,2 +Blazer,attr_Outer_type_7,Type,2 +Cardigan,attr_Outer_type_8,Type,2 +Capes,attr_Outer_type_9,Type,2 +Fleeces Jacket,attr_Outer_type_10,Type,2 +Gilets/Puffer,attr_Outer_type_11,Type,2 +Aviator jacket,attr_Outer_type_12,Type,2 +Biker jacket,attr_Outer_type_13,Type,2 +Pea coat,attr_Outer_type_14,Type,2 +Shacket,attr_Outer_type_15,Type,2 +Denim jacket,attr_Outer_type_16,Type,2 +Raincoat,attr_Outer_type_17,Type,2 diff --git a/app/service/attribute_recognition/discriptor/outwear/3_outer_sleeve_length.csv b/app/service/attribute_recognition/discriptor/outwear/3_outer_sleeve_length.csv index 3021778..7d2df69 100644 --- a/app/service/attribute_recognition/discriptor/outwear/3_outer_sleeve_length.csv +++ b/app/service/attribute_recognition/discriptor/outwear/3_outer_sleeve_length.csv @@ -1,6 +1,6 @@ labelName,join_attr,taskName,taskId -Sleeveless,attr_Sleeve_length_O_1,Sleeve_length_O,3 -Short,attr_Sleeve_length_O_2,Sleeve_length_O,3 -Middle,attr_Sleeve_length_O_3,Sleeve_length_O,3 -Seven,attr_Sleeve_length_O_4,Sleeve_length_O,3 -Long,attr_Sleeve_length_O_5,Sleeve_length_O,3 +Sleeveless,attr_sleeve_length_1,sleeve_length,3 +Short,attr_sleeve_length_2,sleeve_length,3 +Middle,attr_sleeve_length_3,sleeve_length,3 +Seven,attr_sleeve_length_4,sleeve_length,3 +Long,attr_sleeve_length_5,sleeve_length,3 diff --git a/app/service/attribute_recognition/discriptor/outwear/4_outer_sleeve_shape.csv b/app/service/attribute_recognition/discriptor/outwear/4_outer_sleeve_shape.csv index bdf6ccc..f5178df 100644 --- a/app/service/attribute_recognition/discriptor/outwear/4_outer_sleeve_shape.csv +++ b/app/service/attribute_recognition/discriptor/outwear/4_outer_sleeve_shape.csv @@ -1,9 +1,9 @@ labelName,join_attr,taskName,taskId -Regular,attr_Sleeve_shape_O_1,Sleeve_shape,4 -Slim,attr_Sleeve_shape_O_2,Sleeve_shape,4 -Puff,attr_Sleeve_shape_O_3,Sleeve_shape,4 -Bell,attr_Sleeve_shape_O_4,Sleeve_shape,4 -Batwing,attr_Sleeve_shape_O_5,Sleeve_shape,4 -Shirt,attr_Sleeve_shape_O_6,Sleeve_shape,4 -Rib,attr_Sleeve_shape_O_7,Sleeve_shape,4 -Raglan,attr_Sleeve_shape_O_8,Sleeve_shape,4 +Regular,attr_sleeve_shape_O_1,sleeve_shape,4 +Slim,attr_sleeve_shape_O_2,sleeve_shape,4 +Puff,attr_sleeve_shape_O_3,sleeve_shape,4 +Bell,attr_sleeve_shape_O_4,sleeve_shape,4 +Batwing,attr_sleeve_shape_O_5,sleeve_shape,4 +Shirt,attr_sleeve_shape_O_6,sleeve_shape,4 +Rib,attr_sleeve_shape_O_7,sleeve_shape,4 +Raglan,attr_sleeve_shape_O_8,sleeve_shape,4 diff --git a/app/service/attribute_recognition/discriptor/outwear/5_outer_sleeve_shoulder.csv b/app/service/attribute_recognition/discriptor/outwear/5_outer_sleeve_shoulder.csv index e5a500b..cf65b63 100644 --- a/app/service/attribute_recognition/discriptor/outwear/5_outer_sleeve_shoulder.csv +++ b/app/service/attribute_recognition/discriptor/outwear/5_outer_sleeve_shoulder.csv @@ -1,6 +1,6 @@ labelName,join_attr,taskName,taskId -Regular,attr_Sleeve_shoulder_O_1,Sleeve_shoulder,5 -Cold,attr_Sleeve_shoulder_O_2,Sleeve_shoulder,5 -Tucked,attr_Sleeve_shoulder_O_3,Sleeve_shoulder,5 -Balmain,attr_Sleeve_shoulder_O_4,Sleeve_shoulder,5 -Drop Shoulder,attr_Sleeve_shoulder_O_5,Sleeve_shoulder,5 +Regular,attr_sleeve_shoulder_O_1,sleeve_shoulder,5 +Cold,attr_sleeve_shoulder_O_2,sleeve_shoulder,5 +Tucked,attr_sleeve_shoulder_O_3,sleeve_shoulder,5 +Balmain,attr_sleeve_shoulder_O_4,sleeve_shoulder,5 +Drop Shoulder,attr_sleeve_shoulder_O_5,sleeve_shoulder,5 diff --git a/app/service/attribute_recognition/discriptor/outwear/6_outer_Collar.csv b/app/service/attribute_recognition/discriptor/outwear/6_outer_Collar.csv index e261e15..63c76e7 100644 --- a/app/service/attribute_recognition/discriptor/outwear/6_outer_Collar.csv +++ b/app/service/attribute_recognition/discriptor/outwear/6_outer_Collar.csv @@ -1,10 +1,10 @@ labelName,join_attr,taskName,taskId -Peterpan,attr_Callar_O_1,Collar,6 -Shirt,attr_Callar_O_2,Collar,6 -Rib,attr_Callar_O_3,Collar,6 -Turtle,attr_Callar_O_4,Collar,6 -Lapel,attr_Callar_O_5,Collar,6 -Hoodie,attr_Callar_O_6,Collar,6 -Mandarin,attr_Callar_O_7,Collar,6 -Ruffle,attr_Callar_O_8,Collar,6 -Jewel,attr_Callar_O_9,Collar,6 +Peterpan,attr_Callar_O_1,collar,6 +Shirt,attr_Callar_O_2,collar,6 +Rib,attr_Callar_O_3,collar,6 +Turtle,attr_Callar_O_4,collar,6 +Lapel,attr_Callar_O_5,collar,6 +Hoodie,attr_Callar_O_6,collar,6 +Mandarin,attr_Callar_O_7,collar,6 +Ruffle,attr_Callar_O_8,collar,6 +Jewel,attr_Callar_O_9,collar,6 diff --git a/app/service/attribute_recognition/discriptor/outwear/7_outer_Print.csv b/app/service/attribute_recognition/discriptor/outwear/7_outer_Print.csv index 4968479..5546fd4 100644 --- a/app/service/attribute_recognition/discriptor/outwear/7_outer_Print.csv +++ b/app/service/attribute_recognition/discriptor/outwear/7_outer_Print.csv @@ -1,16 +1,16 @@ labelName,join_attr,taskName,taskId -Abstract,attr_Print_O_1,Print_O,7 -Allover,attr_Print_O_2,Print_O,7 -Animal,attr_Print_O_3,Print_O,7 -Camouflage,attr_Print_O_4,Print_O,7 -Checks,attr_Print_O_5,Print_O,7 -Color_block,attr_Print_O_6,Print_O,7 -Disty print,attr_Print_O_7,Print_O,7 -Dotted,attr_Print_O_8,Print_O,7 -Floral,attr_Print_O_9,Print_O,7 -Graphic print,attr_Print_O_10,Print_O,7 -Logo and slogan,attr_Print_O_11,Print_O,7 -Patchwork,attr_Print_O_12,Print_O,7 -Plain,attr_Print_O_13,Print_O,7 -Plain_dnim,attr_Print_O_14,Print_O,7 -Stripe,attr_Print_O_15,Print_O,7 +Abstract,attr_Print_O_1,print,7 +Allover,attr_Print_O_2,print,7 +Animal,attr_Print_O_3,print,7 +Camouflage,attr_Print_O_4,print,7 +Checks,attr_Print_O_5,print,7 +Color_block,attr_Print_O_6,print,7 +Disty print,attr_Print_O_7,print,7 +Dotted,attr_Print_O_8,print,7 +Floral,attr_Print_O_9,print,7 +Graphic print,attr_Print_O_10,print,7 +Logo and slogan,attr_Print_O_11,print,7 +Patchwork,attr_Print_O_12,print,7 +Plain,attr_Print_O_13,print,7 +Plain_dnim,attr_Print_O_14,print,7 +Stripe,attr_Print_O_15,print,7 diff --git a/app/service/attribute_recognition/discriptor/outwear/8_outer_Material.csv b/app/service/attribute_recognition/discriptor/outwear/8_outer_Material.csv index acabec5..66c4555 100644 --- a/app/service/attribute_recognition/discriptor/outwear/8_outer_Material.csv +++ b/app/service/attribute_recognition/discriptor/outwear/8_outer_Material.csv @@ -1,28 +1,28 @@ labelName,join_attr,taskName,taskId -Canvas,attr_Material_O_1,Material_O,8 -Chambray,attr_Material_O_2,Material_O,8 -Chenille,attr_Material_O_3,Material_O,8 -Chiffon,attr_Material_O_4,Material_O,8 -Corduroy,attr_Material_O_5,Material_O,8 -Crepe,attr_Material_O_6,Material_O,8 -Denim,attr_Material_O_7,Material_O,8 -Faux_fur,attr_Material_O_8,Material_O,8 -Faux_leather,attr_Material_O_9,Material_O,8 -Flannel,attr_Material_O_10,Material_O,8 -Fleece,attr_Material_O_11,Material_O,8 -Gingham,attr_Material_O_12,Material_O,8 -Jersey,attr_Material_O_13,Material_O,8 -Knit,attr_Material_O_14,Material_O,8 -Lace,attr_Material_O_15,Material_O,8 -Lawn,attr_Material_O_16,Material_O,8 -Neoprene,attr_Material_O_17,Material_O,8 -Organza,attr_Material_O_18,Material_O,8 -Plush,attr_Material_O_19,Material_O,8 -Satin,attr_Material_O_20,Material_O,8 -Serge,attr_Material_O_21,Material_O,8 -Taffeta,attr_Material_O_22,Material_O,8 -Tulle,attr_Material_O_23,Material_O,8 -Tweed,attr_Material_O_24,Material_O,8 -Twill,attr_Material_O_25,Material_O,8 -Velvet,attr_Material_O_26,Material_O,8 -Vinyl,attr_Material_O_27,Material_O,8 +Canvas,attr_Material_O_1,material,8 +Chambray,attr_Material_O_2,material,8 +Chenille,attr_Material_O_3,material,8 +Chiffon,attr_Material_O_4,material,8 +Corduroy,attr_Material_O_5,material,8 +Crepe,attr_Material_O_6,material,8 +Denim,attr_Material_O_7,material,8 +Faux_fur,attr_Material_O_8,material,8 +Faux_leather,attr_Material_O_9,material,8 +Flannel,attr_Material_O_10,material,8 +Fleece,attr_Material_O_11,material,8 +Gingham,attr_Material_O_12,material,8 +Jersey,attr_Material_O_13,material,8 +Knit,attr_Material_O_14,material,8 +Lace,attr_Material_O_15,material,8 +Lawn,attr_Material_O_16,material,8 +Neoprene,attr_Material_O_17,material,8 +Organza,attr_Material_O_18,material,8 +Plush,attr_Material_O_19,material,8 +Satin,attr_Material_O_20,material,8 +Serge,attr_Material_O_21,material,8 +Taffeta,attr_Material_O_22,material,8 +Tulle,attr_Material_O_23,material,8 +Tweed,attr_Material_O_24,material,8 +Twill,attr_Material_O_25,material,8 +Velvet,attr_Material_O_26,material,8 +Vinyl,attr_Material_O_27,material,8 diff --git a/app/service/attribute_recognition/discriptor/outwear/9_outer_Softness.csv b/app/service/attribute_recognition/discriptor/outwear/9_outer_Softness.csv index 78495b7..ee0332d 100644 --- a/app/service/attribute_recognition/discriptor/outwear/9_outer_Softness.csv +++ b/app/service/attribute_recognition/discriptor/outwear/9_outer_Softness.csv @@ -1,4 +1,4 @@ labelName,join_attr,taskName,taskId -Soft,attr_Softness_O_1,Softness_O,9 -Medium,attr_Softness_O_2,Softness_O,9 -Hard,attr_Softness_O_3,Softness_O,9 +Soft,attr_Softness_O_1,softness,9 +Medium,attr_Softness_O_2,softness,9 +Hard,attr_Softness_O_3,softness,9 diff --git a/app/service/attribute_recognition/discriptor/top/10_top_Design.csv b/app/service/attribute_recognition/discriptor/top/10_top_Design.csv index b7c1064..8ffbcae 100644 --- a/app/service/attribute_recognition/discriptor/top/10_top_Design.csv +++ b/app/service/attribute_recognition/discriptor/top/10_top_Design.csv @@ -1,15 +1,15 @@ labelName,join_attr,taskName,taskId -Asymmetrical,attr_Design_U_1,Design_U,10 -Tiered,attr_Design_U_2,Design_U,10 -Tassel,attr_Design_U_3,Design_U,10 -Ruffle,attr_Design_U_4,Design_U,10 -Pleated,attr_Design_U_5,Design_U,10 -Wrap,attr_Design_U_6,Design_U,10 -Ripped,attr_Design_U_7,Design_U,10 -Cut out,attr_Design_U_8,Design_U,10 -Eyelet,attr_Design_U_9,Design_U,10 -Folded,attr_Design_U_10,Design_U,10 -Tied,attr_Design_U_11,Design_U,10 -Drapes,attr_Design_U_12,Design_U,10 -Ribbon,attr_Design_U_13,Design_U,10 -Button,attr_Design_U_14,Design_U,10 +Asymmetrical,attr_Design_U_1,design,10 +Tiered,attr_Design_U_2,design,10 +Tassel,attr_Design_U_3,design,10 +Ruffle,attr_Design_U_4,design,10 +Pleated,attr_Design_U_5,design,10 +Wrap,attr_Design_U_6,design,10 +Ripped,attr_Design_U_7,design,10 +Cut out,attr_Design_U_8,design,10 +Eyelet,attr_Design_U_9,design,10 +Folded,attr_Design_U_10,design,10 +Tied,attr_Design_U_11,design,10 +Drapes,attr_Design_U_12,design,10 +Ribbon,attr_Design_U_13,design,10 +Button,attr_Design_U_14,design,10 diff --git a/app/service/attribute_recognition/discriptor/top/11_top_OPType.csv b/app/service/attribute_recognition/discriptor/top/11_top_OPType.csv index e44be59..38fe8d8 100644 --- a/app/service/attribute_recognition/discriptor/top/11_top_OPType.csv +++ b/app/service/attribute_recognition/discriptor/top/11_top_OPType.csv @@ -1,5 +1,5 @@ labelName,join_attr,taskName,taskId -Button,attr_OPType_U_1,OPType_U,11 -Zipper,attr_OPType_U_2,OPType_U,11 -Thread,attr_OPType_U_3,OPType_U,11 -Hook,attr_OPType_U_4,OPType_U,11 +Button,attr_OPType_U_1,opening_type,11 +Zipper,attr_OPType_U_2,opening_type,11 +Thread,attr_OPType_U_3,opening_type,11 +Hook,attr_OPType_U_4,opening_type,11 diff --git a/app/service/attribute_recognition/discriptor/top/12_top_Silhouette.csv b/app/service/attribute_recognition/discriptor/top/12_top_Silhouette.csv index d00399e..1dda143 100644 --- a/app/service/attribute_recognition/discriptor/top/12_top_Silhouette.csv +++ b/app/service/attribute_recognition/discriptor/top/12_top_Silhouette.csv @@ -1,7 +1,7 @@ labelName,join_attr,taskName,taskId -A Line,attr_Silhouette_U_1,Silhouette_U,12 -H Shape,attr_Silhouette_U_2,Silhouette_U,12 -Slim,attr_Silhouette_U_3,Silhouette_U,12 -Flyman,attr_Silhouette_U_4,Silhouette_U,12 -Peplum,attr_Silhouette_U_5,Silhouette_U,12 -Oversize,attr_Silhouette_U_6,Silhouette_U,12 +A Line,attr_Silhouette_U_1,silhouette,12 +H Shape,attr_Silhouette_U_2,silhouette,12 +Slim,attr_Silhouette_U_3,silhouette,12 +Flyman,attr_Silhouette_U_4,silhouette,12 +Peplum,attr_Silhouette_U_5,silhouette,12 +Oversize,attr_Silhouette_U_6,silhouette,12 diff --git a/app/service/attribute_recognition/discriptor/top/1_top_length.csv b/app/service/attribute_recognition/discriptor/top/1_top_length.csv index fc8baba..04ddc9e 100644 --- a/app/service/attribute_recognition/discriptor/top/1_top_length.csv +++ b/app/service/attribute_recognition/discriptor/top/1_top_length.csv @@ -1,4 +1,4 @@ labelName,join_attr,taskName,taskId -Short,attr_Top_length_1,Top_length,1 -Regular,attr_Top_length_2,Top_length,1 -Long,attr_Top_length_3,Top_length,1 +Short,attr_Top_length_1,length,1 +Regular,attr_Top_length_2,length,1 +Long,attr_Top_length_3,length,1 diff --git a/app/service/attribute_recognition/discriptor/top/2_top_type.csv b/app/service/attribute_recognition/discriptor/top/2_top_type.csv index fa0095f..2891d84 100644 --- a/app/service/attribute_recognition/discriptor/top/2_top_type.csv +++ b/app/service/attribute_recognition/discriptor/top/2_top_type.csv @@ -1,15 +1,15 @@ labelName,join_attr,taskName,taskId -Bandeau,attr_toptype_1,Top_Type,2 -Blouse,attr_toptype_2,Top_Type,2 -Bodysuit,attr_toptype_3,Top_Type,2 -Bralets,attr_toptype_4,Top_Type,2 -Camisole,attr_toptype_5,Top_Type,2 -Crop Top,attr_toptype_6,Top_Type,2 -Hoodie,attr_toptype_7,Top_Type,2 -Pullover,attr_toptype_8,Top_Type,2 -Polo shirt,attr_toptype_9,Top_Type,2 -Shirt,attr_toptype_10,Top_Type,2 -strapeless,attr_toptype_11,Top_Type,2 -Sweater,attr_toptype_12,Top_Type,2 -Tank Top,attr_toptype_13,Top_Type,2 -T-shirt,attr_toptype_14,Top_Type,2 +Bandeau,attr_toptype_1,type,2 +Blouse,attr_toptype_2,type,2 +Bodysuit,attr_toptype_3,type,2 +Bralets,attr_toptype_4,type,2 +Camisole,attr_toptype_5,type,2 +Crop Top,attr_toptype_6,type,2 +Hoodie,attr_toptype_7,type,2 +Pullover,attr_toptype_8,type,2 +Polo shirt,attr_toptype_9,type,2 +Shirt,attr_toptype_10,type,2 +strapeless,attr_toptype_11,type,2 +Sweater,attr_toptype_12,type,2 +Tank Top,attr_toptype_13,type,2 +T-shirt,attr_toptype_14,type,2 diff --git a/app/service/attribute_recognition/discriptor/top/3_top_Sleeve_length.csv b/app/service/attribute_recognition/discriptor/top/3_top_Sleeve_length.csv index 8338fbd..5d345b1 100644 --- a/app/service/attribute_recognition/discriptor/top/3_top_Sleeve_length.csv +++ b/app/service/attribute_recognition/discriptor/top/3_top_Sleeve_length.csv @@ -1,6 +1,6 @@ labelName,join_attr,taskName,taskId -Sleeveless,attr_Sleeve_length_1,Sleeve_length,3 -Short,attr_Sleeve_length_2,Sleeve_length,3 -Middle,attr_Sleeve_length_3,Sleeve_length,3 -Seven,attr_Sleeve_length_4,Sleeve_length,3 -Long,attr_Sleeve_length_5,Sleeve_length,3 +Sleeveless,attr_Sleeve_length_1,sleeve_length,3 +Short,attr_Sleeve_length_2,sleeve_length,3 +Middle,attr_Sleeve_length_3,sleeve_length,3 +Seven,attr_Sleeve_length_4,sleeve_length,3 +Long,attr_Sleeve_length_5,sleeve_length,3 diff --git a/app/service/attribute_recognition/discriptor/top/4_top_Sleeve_shape.csv b/app/service/attribute_recognition/discriptor/top/4_top_Sleeve_shape.csv index ecc7cc8..9b6ef6e 100644 --- a/app/service/attribute_recognition/discriptor/top/4_top_Sleeve_shape.csv +++ b/app/service/attribute_recognition/discriptor/top/4_top_Sleeve_shape.csv @@ -1,9 +1,9 @@ labelName,join_attr,taskName,taskId -Regular,attr_Sleeve_shape_1,Sleeve_shape,4 -Slim,attr_Sleeve_shape_2,Sleeve_shape,4 -Puff,attr_Sleeve_shape_3,Sleeve_shape,4 -Bell,attr_Sleeve_shape_4,Sleeve_shape,4 -Batwing,attr_Sleeve_shape_5,Sleeve_shape,4 -Shirt,attr_Sleeve_shape_6,Sleeve_shape,4 -Rib,attr_Sleeve_shape_7,Sleeve_shape,4 -Raglan,attr_Sleeve_shape_8,Sleeve_shape,4 +Regular,attr_Sleeve_shape_1,sleeve_shape,4 +Slim,attr_Sleeve_shape_2,sleeve_shape,4 +Puff,attr_Sleeve_shape_3,sleeve_shape,4 +Bell,attr_Sleeve_shape_4,sleeve_shape,4 +Batwing,attr_Sleeve_shape_5,sleeve_shape,4 +Shirt,attr_Sleeve_shape_6,sleeve_shape,4 +Rib,attr_Sleeve_shape_7,sleeve_shape,4 +Raglan,attr_Sleeve_shape_8,sleeve_shape,4 diff --git a/app/service/attribute_recognition/discriptor/top/5_top_Sleeve_shoulder.csv b/app/service/attribute_recognition/discriptor/top/5_top_Sleeve_shoulder.csv index dc7dcff..e528584 100644 --- a/app/service/attribute_recognition/discriptor/top/5_top_Sleeve_shoulder.csv +++ b/app/service/attribute_recognition/discriptor/top/5_top_Sleeve_shoulder.csv @@ -1,5 +1,5 @@ labelName,join_attr,taskName,taskId -Regular,attr_Sleeve_shoulder_1,Sleeve_shoulder,5 -Cold,attr_Sleeve_shoulder_2,Sleeve_shoulder,5 -Tucked,attr_Sleeve_shoulder_3,Sleeve_shoulder,5 -Balmain,attr_Sleeve_shoulder_4,Sleeve_shoulder,5 +Regular,attr_Sleeve_shoulder_1,sleeve_shoulder,5 +Cold,attr_Sleeve_shoulder_2,sleeve_shoulder,5 +Tucked,attr_Sleeve_shoulder_3,sleeve_shoulder,5 +Balmain,attr_Sleeve_shoulder_4,sleeve_shoulder,5 diff --git a/app/service/attribute_recognition/discriptor/top/6_top_Neckline.csv b/app/service/attribute_recognition/discriptor/top/6_top_Neckline.csv index 30c1420..4b18420 100644 --- a/app/service/attribute_recognition/discriptor/top/6_top_Neckline.csv +++ b/app/service/attribute_recognition/discriptor/top/6_top_Neckline.csv @@ -1,7 +1,7 @@ labelName,join_attr,taskName,taskId -Round,attr_Neckline_1,Neckline,6 -V,attr_Neckline_2,Neckline,6 -Square,attr_Neckline_3,Neckline,6 -One-shoulder,attr_Neckline_4,Neckline,6 -Off-shoulder,attr_Neckline_5,Neckline,6 -Strapless,attr_Neckline_6,Neckline,6 +Round,attr_Neckline_1,neckline,6 +V,attr_Neckline_2,neckline,6 +Square,attr_Neckline_3,neckline,6 +One-shoulder,attr_Neckline_4,neckline,6 +Off-shoulder,attr_Neckline_5,neckline,6 +Strapless,attr_Neckline_6,neckline,6 diff --git a/app/service/attribute_recognition/discriptor/top/7_outer_Print.csv b/app/service/attribute_recognition/discriptor/top/7_outer_Print.csv index d315df5..5546fd4 100644 --- a/app/service/attribute_recognition/discriptor/top/7_outer_Print.csv +++ b/app/service/attribute_recognition/discriptor/top/7_outer_Print.csv @@ -1,16 +1,16 @@ labelName,join_attr,taskName,taskId -Abstract,attr_Print_O_1,Print_U,7 -Allover,attr_Print_O_2,Print_U,7 -Animal,attr_Print_O_3,Print_U,7 -Camouflage,attr_Print_O_4,Print_U,7 -Checks,attr_Print_O_5,Print_U,7 -Color_block,attr_Print_O_6,Print_U,7 -Disty print,attr_Print_O_7,Print_U,7 -Dotted,attr_Print_O_8,Print_U,7 -Floral,attr_Print_O_9,Print_U,7 -Graphic print,attr_Print_O_10,Print_U,7 -Logo and slogan,attr_Print_O_11,Print_U,7 -Patchwork,attr_Print_O_12,Print_U,7 -Plain,attr_Print_O_13,Print_U,7 -Plain_dnim,attr_Print_O_14,Print_U,7 -Stripe,attr_Print_O_15,Print_U,7 +Abstract,attr_Print_O_1,print,7 +Allover,attr_Print_O_2,print,7 +Animal,attr_Print_O_3,print,7 +Camouflage,attr_Print_O_4,print,7 +Checks,attr_Print_O_5,print,7 +Color_block,attr_Print_O_6,print,7 +Disty print,attr_Print_O_7,print,7 +Dotted,attr_Print_O_8,print,7 +Floral,attr_Print_O_9,print,7 +Graphic print,attr_Print_O_10,print,7 +Logo and slogan,attr_Print_O_11,print,7 +Patchwork,attr_Print_O_12,print,7 +Plain,attr_Print_O_13,print,7 +Plain_dnim,attr_Print_O_14,print,7 +Stripe,attr_Print_O_15,print,7 diff --git a/app/service/attribute_recognition/discriptor/top/7_top_Collar.csv b/app/service/attribute_recognition/discriptor/top/7_top_Collar.csv index a30c014..0fe78a8 100644 --- a/app/service/attribute_recognition/discriptor/top/7_top_Collar.csv +++ b/app/service/attribute_recognition/discriptor/top/7_top_Collar.csv @@ -1,11 +1,11 @@ labelName,join_attr,taskName,taskId -Peterpan,attr_Collar_1,Collar,7 -Shirt,attr_Collar_2,Collar,7 -Rib,attr_Collar_3,Collar,7 -Turtle,attr_Collar_4,Collar,7 -Lapel,attr_Collar_5,Collar,7 -Hoodie,attr_Collar_6,Collar,7 -Mandarin,attr_Collar_7,Collar,7 -Tie,attr_Collar_8,Collar,7 -Ruffle,attr_Collar_9,Collar,7 -Cowl,attr_Collar_10,Collar,7 +Peterpan,attr_Collar_1,collar,7 +Shirt,attr_Collar_2,collar,7 +Rib,attr_Collar_3,collar,7 +Turtle,attr_Collar_4,collar,7 +Lapel,attr_Collar_5,collar,7 +Hoodie,attr_Collar_6,collar,7 +Mandarin,attr_Collar_7,collar,7 +Tie,attr_Collar_8,collar,7 +Ruffle,attr_Collar_9,collar,7 +Cowl,attr_Collar_10,collar,7 diff --git a/app/service/attribute_recognition/discriptor/top/8_outer_Material.csv b/app/service/attribute_recognition/discriptor/top/8_outer_Material.csv index 49d47c3..66c4555 100644 --- a/app/service/attribute_recognition/discriptor/top/8_outer_Material.csv +++ b/app/service/attribute_recognition/discriptor/top/8_outer_Material.csv @@ -1,28 +1,28 @@ labelName,join_attr,taskName,taskId -Canvas,attr_Material_O_1,Material_U,8 -Chambray,attr_Material_O_2,Material_U,8 -Chenille,attr_Material_O_3,Material_U,8 -Chiffon,attr_Material_O_4,Material_U,8 -Corduroy,attr_Material_O_5,Material_U,8 -Crepe,attr_Material_O_6,Material_U,8 -Denim,attr_Material_O_7,Material_U,8 -Faux_fur,attr_Material_O_8,Material_U,8 -Faux_leather,attr_Material_O_9,Material_U,8 -Flannel,attr_Material_O_10,Material_U,8 -Fleece,attr_Material_O_11,Material_U,8 -Gingham,attr_Material_O_12,Material_U,8 -Jersey,attr_Material_O_13,Material_U,8 -Knit,attr_Material_O_14,Material_U,8 -Lace,attr_Material_O_15,Material_U,8 -Lawn,attr_Material_O_16,Material_U,8 -Neoprene,attr_Material_O_17,Material_U,8 -Organza,attr_Material_O_18,Material_U,8 -Plush,attr_Material_O_19,Material_U,8 -Satin,attr_Material_O_20,Material_U,8 -Serge,attr_Material_O_21,Material_U,8 -Taffeta,attr_Material_O_22,Material_U,8 -Tulle,attr_Material_O_23,Material_U,8 -Tweed,attr_Material_O_24,Material_U,8 -Twill,attr_Material_O_25,Material_U,8 -Velvet,attr_Material_O_26,Material_U,8 -Vinyl,attr_Material_O_27,Material_U,8 +Canvas,attr_Material_O_1,material,8 +Chambray,attr_Material_O_2,material,8 +Chenille,attr_Material_O_3,material,8 +Chiffon,attr_Material_O_4,material,8 +Corduroy,attr_Material_O_5,material,8 +Crepe,attr_Material_O_6,material,8 +Denim,attr_Material_O_7,material,8 +Faux_fur,attr_Material_O_8,material,8 +Faux_leather,attr_Material_O_9,material,8 +Flannel,attr_Material_O_10,material,8 +Fleece,attr_Material_O_11,material,8 +Gingham,attr_Material_O_12,material,8 +Jersey,attr_Material_O_13,material,8 +Knit,attr_Material_O_14,material,8 +Lace,attr_Material_O_15,material,8 +Lawn,attr_Material_O_16,material,8 +Neoprene,attr_Material_O_17,material,8 +Organza,attr_Material_O_18,material,8 +Plush,attr_Material_O_19,material,8 +Satin,attr_Material_O_20,material,8 +Serge,attr_Material_O_21,material,8 +Taffeta,attr_Material_O_22,material,8 +Tulle,attr_Material_O_23,material,8 +Tweed,attr_Material_O_24,material,8 +Twill,attr_Material_O_25,material,8 +Velvet,attr_Material_O_26,material,8 +Vinyl,attr_Material_O_27,material,8 diff --git a/app/service/attribute_recognition/discriptor/top/9_top_Softness.csv b/app/service/attribute_recognition/discriptor/top/9_top_Softness.csv index fe59104..91e8d32 100644 --- a/app/service/attribute_recognition/discriptor/top/9_top_Softness.csv +++ b/app/service/attribute_recognition/discriptor/top/9_top_Softness.csv @@ -1,4 +1,4 @@ labelName,join_attr,taskName,taskId -Soft,attr_Softness_U_1,Softness_U,9 -Medium,attr_Softness_U_2,Softness_U,9 -Hard,attr_Softness_U_3,Softness_U,9 +Soft,attr_Softness_U_1,softness,9 +Medium,attr_Softness_U_2,softness,9 +Hard,attr_Softness_U_3,softness,9 diff --git a/app/service/attribute_recognition/discriptor/top/ori10_top_Softness.csv b/app/service/attribute_recognition/discriptor/top/ori10_top_Softness.csv index 826d78a..8af3899 100644 --- a/app/service/attribute_recognition/discriptor/top/ori10_top_Softness.csv +++ b/app/service/attribute_recognition/discriptor/top/ori10_top_Softness.csv @@ -1,4 +1,4 @@ labelName,join_attr,taskName,taskId -Soft,attr_Softness_U_1,Softness_U,10 -Medium,attr_Softness_U_2,Softness_U,10 -Hard,attr_Softness_U_3,Softness_U,10 +Soft,attr_Softness_U_1,softness,10 +Medium,attr_Softness_U_2,softness,10 +Hard,attr_Softness_U_3,softness,10 diff --git a/app/service/attribute_recognition/discriptor/top/ori11_top_Design.csv b/app/service/attribute_recognition/discriptor/top/ori11_top_Design.csv index eb0dac2..e8b08dd 100644 --- a/app/service/attribute_recognition/discriptor/top/ori11_top_Design.csv +++ b/app/service/attribute_recognition/discriptor/top/ori11_top_Design.csv @@ -1,16 +1,16 @@ labelName,join_attr,taskName,taskId -Asymmetrical,attr_Design_U_1,Design_U,11 -Tiered,attr_Design_U_2,Design_U,11 -Tassel,attr_Design_U_3,Design_U,11 -Ruffle,attr_Design_U_4,Design_U,11 -Pleated,attr_Design_U_5,Design_U,11 -Wrap,attr_Design_U_6,Design_U,11 -Ripped,attr_Design_U_7,Design_U,11 -Cut out,attr_Design_U_8,Design_U,11 -Eyelet,attr_Design_U_9,Design_U,11 -Folded,attr_Design_U_10,Design_U,11 -Tied,attr_Design_U_11,Design_U,11 -Drapes,attr_Design_U_12,Design_U,11 -Ribbon,attr_Design_U_13,Design_U,11 -Button,attr_Design_U_14,Design_U,11 -Gathering,attr_Design_U_15,Design_U,11 +Asymmetrical,attr_Design_U_1,design,11 +Tiered,attr_Design_U_2,design,11 +Tassel,attr_Design_U_3,design,11 +Ruffle,attr_Design_U_4,design,11 +Pleated,attr_Design_U_5,design,11 +Wrap,attr_Design_U_6,design,11 +Ripped,attr_Design_U_7,design,11 +Cut out,attr_Design_U_8,design,11 +Eyelet,attr_Design_U_9,design,11 +Folded,attr_Design_U_10,design,11 +Tied,attr_Design_U_11,design,11 +Drapes,attr_Design_U_12,design,11 +Ribbon,attr_Design_U_13,design,11 +Button,attr_Design_U_14,design,11 +Gathering,attr_Design_U_15,design,11 diff --git a/app/service/attribute_recognition/discriptor/top/ori12_top_OPType.csv b/app/service/attribute_recognition/discriptor/top/ori12_top_OPType.csv index a97e864..493d7dd 100644 --- a/app/service/attribute_recognition/discriptor/top/ori12_top_OPType.csv +++ b/app/service/attribute_recognition/discriptor/top/ori12_top_OPType.csv @@ -1,5 +1,5 @@ labelName,join_attr,taskName,taskId -Button,attr_OPType_U_1,OPType_U,12 -Zipper,attr_OPType_U_2,OPType_U,12 -Thread,attr_OPType_U_3,OPType_U,12 -Hook,attr_OPType_U_4,OPType_U,12 +Button,attr_OPType_U_1,opening_type,12 +Zipper,attr_OPType_U_2,opening_type,12 +Thread,attr_OPType_U_3,opening_type,12 +Hook,attr_OPType_U_4,opening_type,12 diff --git a/app/service/attribute_recognition/discriptor/top/ori13_top_Silhouette.csv b/app/service/attribute_recognition/discriptor/top/ori13_top_Silhouette.csv index 548580c..6b903c5 100644 --- a/app/service/attribute_recognition/discriptor/top/ori13_top_Silhouette.csv +++ b/app/service/attribute_recognition/discriptor/top/ori13_top_Silhouette.csv @@ -1,7 +1,7 @@ labelName,join_attr,taskName,taskId -A Line,attr_Silhouette_U_1,Silhouette_U,13 -H Shape,attr_Silhouette_U_2,Silhouette_U,13 -Slim,attr_Silhouette_U_3,Silhouette_U,13 -Flyman,attr_Silhouette_U_4,Silhouette_U,13 -Peplum,attr_Silhouette_U_5,Silhouette_U,13 -Oversize,attr_Silhouette_U_6,Silhouette_U,13 +A Line,attr_Silhouette_U_1,silhouette,13 +H Shape,attr_Silhouette_U_2,silhouette,13 +Slim,attr_Silhouette_U_3,silhouette,13 +Flyman,attr_Silhouette_U_4,silhouette,13 +Peplum,attr_Silhouette_U_5,silhouette,13 +Oversize,attr_Silhouette_U_6,silhouette,13 diff --git a/app/service/attribute_recognition/discriptor/top/ori1_Top_length.csv b/app/service/attribute_recognition/discriptor/top/ori1_Top_length.csv index fc8baba..f859b49 100644 --- a/app/service/attribute_recognition/discriptor/top/ori1_Top_length.csv +++ b/app/service/attribute_recognition/discriptor/top/ori1_Top_length.csv @@ -1,4 +1,4 @@ labelName,join_attr,taskName,taskId -Short,attr_Top_length_1,Top_length,1 -Regular,attr_Top_length_2,Top_length,1 -Long,attr_Top_length_3,Top_length,1 +Short,attr_Top_length_1,top_length,1 +Regular,attr_Top_length_2,top_length,1 +Long,attr_Top_length_3,top_length,1 diff --git a/app/service/attribute_recognition/discriptor/top/ori2_Top_type.csv b/app/service/attribute_recognition/discriptor/top/ori2_Top_type.csv index 5c743f0..cbce457 100644 --- a/app/service/attribute_recognition/discriptor/top/ori2_Top_type.csv +++ b/app/service/attribute_recognition/discriptor/top/ori2_Top_type.csv @@ -1,15 +1,15 @@ labelName,join_attr,taskName,taskId -Blouse,attr_Top_type_1,Top_type,2 -Camisole,attr_Top_type_2,Top_type,2 -Shirt,attr_Top_type_3,Top_type,2 -T-shirt,attr_Top_type_4,Top_type,2 -Jumper-Pullover,attr_Top_type_5,Top_type,2 -Hoodie,attr_Top_type_6,Top_type,2 -Tank Top,attr_Top_type_7,Top_type,2 -Polo shirt,attr_Top_type_8,Top_type,2 -Crop Top,attr_Top_type_9,Top_type,2 -Bralets,attr_Top_type_10,Top_type,2 -Bodysuit,attr_Top_type_11,Top_type,2 -Bandeau,attr_Top_type_12,Top_type,2 -Sweater,attr_Top_type_13,Top_type,2 -Strapless,attr_Top_type_14,Top_type,2 +Blouse,attr_Top_type_1,top_type,2 +Camisole,attr_Top_type_2,top_type,2 +Shirt,attr_Top_type_3,top_type,2 +T-shirt,attr_Top_type_4,top_type,2 +Jumper-Pullover,attr_Top_type_5,top_type,2 +Hoodie,attr_Top_type_6,top_type,2 +Tank Top,attr_Top_type_7,top_type,2 +Polo shirt,attr_Top_type_8,top_type,2 +Crop Top,attr_Top_type_9,top_type,2 +Bralets,attr_Top_type_10,top_type,2 +Bodysuit,attr_Top_type_11,top_type,2 +Bandeau,attr_Top_type_12,top_type,2 +Sweater,attr_Top_type_13,top_type,2 +Strapless,attr_Top_type_14,top_type,2 diff --git a/app/service/attribute_recognition/discriptor/top/ori3_top_Sleeve_length.csv b/app/service/attribute_recognition/discriptor/top/ori3_top_Sleeve_length.csv index d2c000a..e77b2c9 100644 --- a/app/service/attribute_recognition/discriptor/top/ori3_top_Sleeve_length.csv +++ b/app/service/attribute_recognition/discriptor/top/ori3_top_Sleeve_length.csv @@ -1,6 +1,6 @@ labelName,join_attr,taskName,taskId -Sleeveless,attr_Sleeve_length_U_1,Sleeve_length_U,3 -Short,attr_Sleeve_length_U_2,Sleeve_length_U,3 -Middle,attr_Sleeve_length_U_3,Sleeve_length_U,3 -Seven,attr_Sleeve_length_U_4,Sleeve_length_U,3 -Long,attr_Sleeve_length_U_5,Sleeve_length_U,3 +Sleeveless,attr_Sleeve_length_U_1,sleeve_length,3 +Short,attr_Sleeve_length_U_2,sleeve_length,3 +Middle,attr_Sleeve_length_U_3,sleeve_length,3 +Seven,attr_Sleeve_length_U_4,sleeve_length,3 +Long,attr_Sleeve_length_U_5,sleeve_length,3 diff --git a/app/service/attribute_recognition/discriptor/top/ori4_top_Sleeve_shape.csv b/app/service/attribute_recognition/discriptor/top/ori4_top_Sleeve_shape.csv index d653f55..a3ec53e 100644 --- a/app/service/attribute_recognition/discriptor/top/ori4_top_Sleeve_shape.csv +++ b/app/service/attribute_recognition/discriptor/top/ori4_top_Sleeve_shape.csv @@ -1,9 +1,9 @@ labelName,join_attr,taskName,taskId -Regular,attr_Sleeve_shape_U_1,Sleeve_shape_U,4 -Slim,attr_Sleeve_shape_U_2,Sleeve_shape_U,4 -Puff,attr_Sleeve_shape_U_3,Sleeve_shape_U,4 -Bell,attr_Sleeve_shape_U_4,Sleeve_shape_U,4 -Batwing,attr_Sleeve_shape_U_5,Sleeve_shape_U,4 -Shirt,attr_Sleeve_shape_U_6,Sleeve_shape_U,4 -Rib,attr_Sleeve_shape_U_7,Sleeve_shape_U,4 -Raglan,attr_Sleeve_shape_U_8,Sleeve_shape_U,4 +Regular,attr_Sleeve_shape_U_1,sleeve_shape,4 +Slim,attr_Sleeve_shape_U_2,sleeve_shape,4 +Puff,attr_Sleeve_shape_U_3,sleeve_shape,4 +Bell,attr_Sleeve_shape_U_4,sleeve_shape,4 +Batwing,attr_Sleeve_shape_U_5,sleeve_shape,4 +Shirt,attr_Sleeve_shape_U_6,sleeve_shape,4 +Rib,attr_Sleeve_shape_U_7,sleeve_shape,4 +Raglan,attr_Sleeve_shape_U_8,sleeve_shape,4 diff --git a/app/service/attribute_recognition/discriptor/top/ori5_top_Sleeve_shoulder.csv b/app/service/attribute_recognition/discriptor/top/ori5_top_Sleeve_shoulder.csv index cfca938..20a580d 100644 --- a/app/service/attribute_recognition/discriptor/top/ori5_top_Sleeve_shoulder.csv +++ b/app/service/attribute_recognition/discriptor/top/ori5_top_Sleeve_shoulder.csv @@ -1,5 +1,5 @@ labelName,join_attr,taskName,taskId -Regular,attr_Sleeve_shoulder_U_1,Sleeve_shoulder_U,5 -Cold,attr_Sleeve_shoulder_U_2,Sleeve_shoulder_U,5 -Tucked,attr_Sleeve_shoulder_U_3,Sleeve_shoulder_U,5 -Balmain,attr_Sleeve_shoulder_U_4,Sleeve_shoulder_U,5 +Regular,attr_Sleeve_shoulder_U_1,sleeve_shoulder,5 +Cold,attr_Sleeve_shoulder_U_2,sleeve_shoulder,5 +Tucked,attr_Sleeve_shoulder_U_3,sleeve_shoulder,5 +Balmain,attr_Sleeve_shoulder_U_4,sleeve_shoulder,5 diff --git a/app/service/attribute_recognition/discriptor/top/ori6_top_Neckline.csv b/app/service/attribute_recognition/discriptor/top/ori6_top_Neckline.csv index b031dd7..b53ba45 100644 --- a/app/service/attribute_recognition/discriptor/top/ori6_top_Neckline.csv +++ b/app/service/attribute_recognition/discriptor/top/ori6_top_Neckline.csv @@ -1,16 +1,16 @@ labelName,join_attr,taskName,taskId -Round,attr_Neckline_U_1,Neckline_U,6 -V,attr_Neckline_U_2,Neckline_U,6 -Square,attr_Neckline_U_3,Neckline_U,6 -One-shoulder,attr_Neckline_U_4,Neckline_U,6 -Off-shoulder,attr_Neckline_U_5,Neckline_U,6 -Strapless,attr_Neckline_U_6,Neckline_U,6 -boat,attr_Neckline_U_7,Neckline_U,6 -choker,attr_Neckline_U_8,Neckline_U,6 -cowl,attr_Neckline_U_9,Neckline_U,6 -halter,attr_Neckline_U_10,Neckline_U,6 -keyhole,attr_Neckline_U_11,Neckline_U,6 -spaghetti,attr_Neckline_U_12,Neckline_U,6 -split,attr_Neckline_U_13,Neckline_U,6 -sweetheart,attr_Neckline_U_14,Neckline_U,6 -U,attr_Neckline_U_15,Neckline_U,6 +Round,attr_Neckline_U_1,neckline,6 +V,attr_Neckline_U_2,neckline,6 +Square,attr_Neckline_U_3,neckline,6 +One-shoulder,attr_Neckline_U_4,neckline,6 +Off-shoulder,attr_Neckline_U_5,neckline,6 +Strapless,attr_Neckline_U_6,neckline,6 +boat,attr_Neckline_U_7,neckline,6 +choker,attr_Neckline_U_8,neckline,6 +cowl,attr_Neckline_U_9,neckline,6 +halter,attr_Neckline_U_10,neckline,6 +keyhole,attr_Neckline_U_11,neckline,6 +spaghetti,attr_Neckline_U_12,neckline,6 +split,attr_Neckline_U_13,neckline,6 +sweetheart,attr_Neckline_U_14,neckline,6 +U,attr_Neckline_U_15,neckline,6 diff --git a/app/service/attribute_recognition/discriptor/top/ori7_top_Collar.csv b/app/service/attribute_recognition/discriptor/top/ori7_top_Collar.csv index 685d6a3..24c930a 100644 --- a/app/service/attribute_recognition/discriptor/top/ori7_top_Collar.csv +++ b/app/service/attribute_recognition/discriptor/top/ori7_top_Collar.csv @@ -1,11 +1,11 @@ labelName,join_attr,taskName,taskId -Peterpan-Bertha,attr_Collar_U_1,Collar_U,7 -Shirt,attr_Collar_U_2,Collar_U,7 -Rib,attr_Collar_U_3,Collar_U,7 -Turtle,attr_Collar_U_4,Collar_U,7 -Lapel,attr_Collar_U_5,Collar_U,7 -Hoodie,attr_Collar_U_6,Collar_U,7 -Mandarin,attr_Collar_U_7,Collar_U,7 -Tie,attr_Collar_U_8,Collar_U,7 -Ruffle,attr_Collar_U_9,Collar_U,7 -Cowl,attr_Collar_U_10,Collar_U,7 +Peterpan-Bertha,attr_Collar_U_1,collar,7 +Shirt,attr_Collar_U_2,collar,7 +Rib,attr_Collar_U_3,collar,7 +Turtle,attr_Collar_U_4,collar,7 +Lapel,attr_Collar_U_5,collar,7 +Hoodie,attr_Collar_U_6,collar,7 +Mandarin,attr_Collar_U_7,collar,7 +Tie,attr_Collar_U_8,collar,7 +Ruffle,attr_Collar_U_9,collar,7 +Cowl,attr_Collar_U_10,collar,7 diff --git a/app/service/attribute_recognition/discriptor/top/ori8_top_Print.csv b/app/service/attribute_recognition/discriptor/top/ori8_top_Print.csv index bfab57c..b04e747 100644 --- a/app/service/attribute_recognition/discriptor/top/ori8_top_Print.csv +++ b/app/service/attribute_recognition/discriptor/top/ori8_top_Print.csv @@ -1,16 +1,16 @@ labelName,join_attr,taskName,taskId -abstract,attr_Print_U_1,Print_U,8 -allover,attr_Print_U_2,Print_U,8 -animal printed,attr_Print_U_3,Print_U,8 -Camouflage,attr_Print_U_4,Print_U,8 -checks,attr_Print_U_5,Print_U,8 -color_block,attr_Print_U_6,Print_U,8 -disty print,attr_Print_U_7,Print_U,8 -dotted,attr_Print_U_8,Print_U,8 -floral,attr_Print_U_9,Print_U,8 -graphic print,attr_Print_U_10,Print_U,8 -logo and slogan print,attr_Print_U_11,Print_U,8 -patchwork,attr_Print_U_12,Print_U,8 -plain,attr_Print_U_13,Print_U,8 -plain_dnim,attr_Print_U_14,Print_U,8 -stripe,attr_Print_U_15,Print_U,8 +abstract,attr_Print_U_1,print,8 +allover,attr_Print_U_2,print,8 +animal printed,attr_Print_U_3,print,8 +Camouflage,attr_Print_U_4,print,8 +checks,attr_Print_U_5,print,8 +color_block,attr_Print_U_6,print,8 +disty print,attr_Print_U_7,print,8 +dotted,attr_Print_U_8,print,8 +floral,attr_Print_U_9,print,8 +graphic print,attr_Print_U_10,print,8 +logo and slogan print,attr_Print_U_11,print,8 +patchwork,attr_Print_U_12,print,8 +plain,attr_Print_U_13,print,8 +plain_dnim,attr_Print_U_14,print,8 +stripe,attr_Print_U_15,print,8 diff --git a/app/service/attribute_recognition/discriptor/top/ori9_top_Material.csv b/app/service/attribute_recognition/discriptor/top/ori9_top_Material.csv index f5622d5..62c4d89 100644 --- a/app/service/attribute_recognition/discriptor/top/ori9_top_Material.csv +++ b/app/service/attribute_recognition/discriptor/top/ori9_top_Material.csv @@ -1,28 +1,28 @@ labelName,join_attr,taskName,taskId -canvas,attr_Material_U_1,Material_U,9 -chambray,attr_Material_U_2,Material_U,9 -chenille,attr_Material_U_3,Material_U,9 -chiffon,attr_Material_U_4,Material_U,9 -corduroy,attr_Material_U_5,Material_U,9 -crepe,attr_Material_U_6,Material_U,9 -denim,attr_Material_U_7,Material_U,9 -faux_fur,attr_Material_U_8,Material_U,9 -faux_leather,attr_Material_U_9,Material_U,9 -flannel,attr_Material_U_10,Material_U,9 -fleece,attr_Material_U_11,Material_U,9 -gingham,attr_Material_U_12,Material_U,9 -jersey,attr_Material_U_13,Material_U,9 -knit,attr_Material_U_14,Material_U,9 -lace,attr_Material_U_15,Material_U,9 -lawn,attr_Material_U_16,Material_U,9 -neoprene,attr_Material_U_17,Material_U,9 -organza,attr_Material_U_18,Material_U,9 -plush,attr_Material_U_19,Material_U,9 -satin,attr_Material_U_20,Material_U,9 -serge,attr_Material_U_21,Material_U,9 -taffeta,attr_Material_U_22,Material_U,9 -tulle,attr_Material_U_23,Material_U,9 -tweed,attr_Material_U_24,Material_U,9 -twill,attr_Material_U_25,Material_U,9 -velvet,attr_Material_U_26,Material_U,9 -vinyl,attr_Material_U_27,Material_U,9 +canvas,attr_Material_U_1,material,9 +chambray,attr_Material_U_2,material,9 +chenille,attr_Material_U_3,material,9 +chiffon,attr_Material_U_4,material,9 +corduroy,attr_Material_U_5,material,9 +crepe,attr_Material_U_6,material,9 +denim,attr_Material_U_7,material,9 +faux_fur,attr_Material_U_8,material,9 +faux_leather,attr_Material_U_9,material,9 +flannel,attr_Material_U_10,material,9 +fleece,attr_Material_U_11,material,9 +gingham,attr_Material_U_12,material,9 +jersey,attr_Material_U_13,material,9 +knit,attr_Material_U_14,material,9 +lace,attr_Material_U_15,material,9 +lawn,attr_Material_U_16,material,9 +neoprene,attr_Material_U_17,material,9 +organza,attr_Material_U_18,material,9 +plush,attr_Material_U_19,material,9 +satin,attr_Material_U_20,material,9 +serge,attr_Material_U_21,material,9 +taffeta,attr_Material_U_22,material,9 +tulle,attr_Material_U_23,material,9 +tweed,attr_Material_U_24,material,9 +twill,attr_Material_U_25,material,9 +velvet,attr_Material_U_26,material,9 +vinyl,attr_Material_U_27,material,9 diff --git a/app/service/attribute_recognition/service.py b/app/service/attribute_recognition/service.py index 2b143cf..5ca5927 100644 --- a/app/service/attribute_recognition/service.py +++ b/app/service/attribute_recognition/service.py @@ -208,8 +208,8 @@ class AttributeRecognition: if __name__ == '__main__': - from app.service.attribute_recognition import const + from app.service.attribute_recognition import const_debug request_data = {'upload_img_path': ['./test_top1.jpg'], 'upload_img_id': ["2"]} service = AttributeRecognition() - pprint(service.attribute(const, request_data)) + pprint(service.attribute(const_debug, request_data)) diff --git a/app/service/outfit_matcher/test_param/recommendation_test.json b/app/service/outfit_matcher/test_param/recommendation_test.json index 616dfc7..6e6f624 100644 --- a/app/service/outfit_matcher/test_param/recommendation_test.json +++ b/app/service/outfit_matcher/test_param/recommendation_test.json @@ -1,849 +1,29 @@ { - "topk": 5, + "topk": 1, "max_outfits": 100, "is_best": true, "query": [ - { - "item_name": "MKTS27047", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MKTS27047.jpg" - }, - { - "item_name": "MKTS27028", - "semantic_category": "OUTERWEAR/JACKET", - "image_path": "test/2024 SS/MKTS27028.jpg" - }, - { - "item_name": "MSE_58057", - "semantic_category": "OUTERWEAR/BLAZER", - "image_path": "test/2024 SS/MSE_58057.jpg" - }, - { - "item_name": "MSE_58107", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MSE_58107.jpg" - }, - { - "item_name": "MSE_58495", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MSE_58495.jpg" - } - ], - "database": [ - { - "item_name": "MKTS27017", - "semantic_category": "OUTERWEAR/WINDBREAKER", - "image_path": "test/2024 SS/MKTS27017.jpg" - }, - { - "item_name": "MKTS27047", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MKTS27047.jpg" - }, - { - "item_name": "MKTS27000", - "semantic_category": "BOTTOM/PANTS", - "image_path": "test/2024 SS/MKTS27000.jpg" - }, - { - "item_name": "MKTS27001", - "semantic_category": "BOTTOM/SHORTS", - "image_path": "test/2024 SS/MKTS27001.jpg" - }, - { - "item_name": "MZOS27178", - "semantic_category": "KNIT/CARDIGAN", - "image_path": "test/2024 SS/MZOS27178.jpg" - }, - { - "item_name": "MZOS27179", - "semantic_category": "KNIT/KNIT TOP", - "image_path": "test/2024 SS/MZOS27179.jpg" - }, - { - "item_name": "MWSS27184", - "semantic_category": "TOP/TEE", - "image_path": "test/2024 SS/MWSS27184.jpg" - }, - { - "item_name": "MWSS27191", - "semantic_category": "OUTERWEAR/TWIN SET", - "image_path": "test/2024 SS/MWSS27191.jpg" - }, - { - "item_name": "MWSS27193", - "semantic_category": "OUTERWEAR/JACKET", - "image_path": "test/2024 SS/MWSS27193.jpg" - }, - { - "item_name": "MWSS27195", - "semantic_category": "OUTERWEAR/GILET", - "image_path": "test/2024 SS/MWSS27195.jpg" - }, - { - "item_name": "MWSS27200", - "semantic_category": "KNIT/VEST", - "image_path": "test/2024 SS/MWSS27200.jpg" - }, - { - "item_name": "MWSS27209", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MWSS27209.jpg" - }, - { - "item_name": "MWSS27210", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MWSS27210.jpg" - }, - { - "item_name": "MWSS27211", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MWSS27211.jpg" - }, { "item_name": "MWSS27212", "semantic_category": "TOP/BLOUSE", "image_path": "test/2024 SS/MWSS27212.jpg" - }, - { - "item_name": "MKTS27008", - "semantic_category": "OUTERWEAR/BLAZER", - "image_path": "test/2024 SS/MKTS27008.jpg" - }, - { - "item_name": "MKTS27009", - "semantic_category": "BOTTOM/PANTS", - "image_path": "test/2024 SS/MKTS27009.jpg" - }, - { - "item_name": "MKTS27010", - "semantic_category": "OUTERWEAR/BLAZER", - "image_path": "test/2024 SS/MKTS27010.jpg" - }, - { - "item_name": "MKTS27012", - "semantic_category": "OUTERWEAR/JACKET", - "image_path": "test/2024 SS/MKTS27012.jpg" - }, - { - "item_name": "MKTS27013", - "semantic_category": "BOTTOM/SHORTS", - "image_path": "test/2024 SS/MKTS27013.jpg" - }, - { - "item_name": "MKTS27014", - "semantic_category": "ONE PIECE/TWIN SET", - "image_path": "test/2024 SS/MKTS27014.jpg" - }, - { - "item_name": "MKTS27015", - "semantic_category": "OUTERWEAR/GILET", - "image_path": "test/2024 SS/MKTS27015.jpg" - }, - { - "item_name": "MKTS27016", - "semantic_category": "BOTTOM/SHORTS", - "image_path": "test/2024 SS/MKTS27016.jpg" - }, - { - "item_name": "MKTS27027", - "semantic_category": "BOTTOM/PANTS", - "image_path": "test/2024 SS/MKTS27027.jpg" - }, - { - "item_name": "MKTS27028", - "semantic_category": "OUTERWEAR/JACKET", - "image_path": "test/2024 SS/MKTS27028.jpg" - }, - { - "item_name": "MKTS27029", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MKTS27029.jpg" - }, - { - "item_name": "MKTS27030", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MKTS27030.jpg" - }, - { - "item_name": "MKTS27031", - "semantic_category": "BOTTOM/SKIRT", - "image_path": "test/2024 SS/MKTS27031.jpg" - }, - { - "item_name": "MKTS27034", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MKTS27034.jpg" - }, - { - "item_name": "MKTS27035", - "semantic_category": "ONE PIECE/TWIN SET", - "image_path": "test/2024 SS/MKTS27035.jpg" - }, - { - "item_name": "MKTS27038", - "semantic_category": "TOP/TOP", - "image_path": "test/2024 SS/MKTS27038.jpg" - }, - { - "item_name": "MKTS27039", - "semantic_category": "TOP/TOP", - "image_path": "test/2024 SS/MKTS27039.jpg" - }, - { - "item_name": "MKTS27040", - "semantic_category": "TOP/TOP", - "image_path": "test/2024 SS/MKTS27040.jpg" - }, - { - "item_name": "MKTS27045", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MKTS27045.jpg" - }, - { - "item_name": "MKTS27046", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MKTS27046.jpg" - }, - { - "item_name": "MKTS27050", - "semantic_category": "TOP/TOP", - "image_path": "test/2024 SS/MKTS27050.jpg" - }, - { - "item_name": "MKTS27059", - "semantic_category": "TOP/TEE", - "image_path": "test/2024 SS/MKTS27059.jpg" - }, - { - "item_name": "MKTS27061", - "semantic_category": "TOP/TOP", - "image_path": "test/2024 SS/MKTS27061.jpg" - }, - { - "item_name": "MKTS27062", - "semantic_category": "TOP/BLOUSE", - "image_path": "test/2024 SS/MKTS27062.jpg" - }, - { - "item_name": "MKTS27066", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MKTS27066.jpg" - }, - { - "item_name": "MKTS27067", - "semantic_category": "TOP/TEE", - "image_path": "test/2024 SS/MKTS27067.jpg" - }, - { - "item_name": "MKTS27068", - "semantic_category": "ONE PIECE/TWIN SET", - "image_path": "test/2024 SS/MKTS27068.jpg" - }, - { - "item_name": "MKTS27002", - "semantic_category": "TOP/BLOUSE", - "image_path": "test/2024 SS/MKTS27002.jpg" - }, - { - "item_name": "MKTS27003", - "semantic_category": "OUTERWEAR/GILET", - "image_path": "test/2024 SS/MKTS27003.jpg" - }, - { - "item_name": "MKTS27004", - "semantic_category": "BOTTOM/PANTS", - "image_path": "test/2024 SS/MKTS27004.jpg" - }, - { - "item_name": "MKTS27011", - "semantic_category": "TOP/VEST", - "image_path": "test/2024 SS/MKTS27011.jpg" - }, - { - "item_name": "MKTS27018", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MKTS27018.jpg" - }, - { - "item_name": "MKTS27019", - "semantic_category": "OUTERWEAR/BLAZER", - "image_path": "test/2024 SS/MKTS27019.jpg" - }, - { - "item_name": "MKTS27058", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MKTS27058.jpg" - }, - { - "item_name": "MLSS27101", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MLSS27101.jpg" - }, - { - "item_name": "MLSS27102", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MLSS27102.jpg" - }, - { - "item_name": "MLSS27103", - "semantic_category": "OUTERWEAR/GILET", - "image_path": "test/2024 SS/MLSS27103.jpg" - }, - { - "item_name": "MLSS27104", - "semantic_category": "BOTTOM/SHORTS", - "image_path": "test/2024 SS/MLSS27104.jpg" - }, - { - "item_name": "MLSS27107", - "semantic_category": "JEANS/JEANS", - "image_path": "test/2024 SS/MLSS27107.jpg" - }, - { - "item_name": "MLSS27109", - "semantic_category": "JEANS/JEANS JACKET", - "image_path": "test/2024 SS/MLSS27109.jpg" - }, - { - "item_name": "MLSS27110", - "semantic_category": "JEANS/JEANS JACKET", - "image_path": "test/2024 SS/MLSS27110.jpg" - }, - { - "item_name": "MLSS27111", - "semantic_category": "JEANS/JEANS PANTS", - "image_path": "test/2024 SS/MLSS27111.jpg" - }, - { - "item_name": "MLSS27112", - "semantic_category": "JEANS/JEANS PANTS", - "image_path": "test/2024 SS/MLSS27112.jpg" - }, - { - "item_name": "MLSS27113", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MLSS27113.jpg" - }, - { - "item_name": "MLSS27119", - "semantic_category": "JEANS/JEANS SKIRT", - "image_path": "test/2024 SS/MLSS27119.jpg" - }, - { - "item_name": "MLSS27122", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MLSS27122.jpg" - }, - { - "item_name": "MLSS27123", - "semantic_category": "TOP/TOP", - "image_path": "test/2024 SS/MLSS27123.jpg" - }, - { - "item_name": "MLSS27128", - "semantic_category": "JEANS/JEANS JACKET", - "image_path": "test/2024 SS/MLSS27128.jpg" - }, - { - "item_name": "MLSS27129", - "semantic_category": "JEANS/JEANS SHORTS", - "image_path": "test/2024 SS/MLSS27129.jpg" - }, - { - "item_name": "MLSS27132", - "semantic_category": "TOP/TOP", - "image_path": "test/2024 SS/MLSS27132.jpg" - }, - { - "item_name": "MLSS27133", - "semantic_category": "BOTTOM/SKIRT", - "image_path": "test/2024 SS/MLSS27133.jpg" - }, - { - "item_name": "MLSS27136", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MLSS27136.jpg" - }, - { - "item_name": "MLSS27137", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MLSS27137.jpg" - }, - { - "item_name": "MLSS27140", - "semantic_category": "OUTERWEAR/JACKET", - "image_path": "test/2024 SS/MLSS27140.jpg" - }, - { - "item_name": "MLSS27141", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MLSS27141.jpg" - }, - { - "item_name": "MLSS27142", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MLSS27142.jpg" - }, - { - "item_name": "MLSS27145", - "semantic_category": "OUTERWEAR/WINDBREAKER", - "image_path": "test/2024 SS/MLSS27145.jpg" - }, - { - "item_name": "MLSS27146", - "semantic_category": "TOP/TOP", - "image_path": "test/2024 SS/MLSS27146.jpg" - }, - { - "item_name": "MLSS27147", - "semantic_category": "BOTTOM/SKIRT", - "image_path": "test/2024 SS/MLSS27147.jpg" - }, - { - "item_name": "MLSS27148", - "semantic_category": "TOP/TOP", - "image_path": "test/2024 SS/MLSS27148.jpg" - }, - { - "item_name": "MLSS27149", - "semantic_category": "BOTTOM/PANTS", - "image_path": "test/2024 SS/MLSS27149.jpg" - }, - { - "item_name": "MLSS27150", - "semantic_category": "OUTERWEAR/JACKET", - "image_path": "test/2024 SS/MLSS27150.jpg" - }, - { - "item_name": "MLSS27152", - "semantic_category": "TOP/TEE", - "image_path": "test/2024 SS/MLSS27152.jpg" - }, - { - "item_name": "MLSS27154", - "semantic_category": "TOP/TEE", - "image_path": "test/2024 SS/MLSS27154.jpg" - }, - { - "item_name": "MLSS27156", - "semantic_category": "TOP/VEST", - "image_path": "test/2024 SS/MLSS27156.jpg" - }, - { - "item_name": "MLSS27157", - "semantic_category": "OUTERWEAR/WINDBREAKER", - "image_path": "test/2024 SS/MLSS27157.jpg" - }, - { - "item_name": "MLSS27159", - "semantic_category": "BOTTOM/PANTS", - "image_path": "test/2024 SS/MLSS27159.jpg" - }, - { - "item_name": "MLSS27160", - "semantic_category": "BOTTOM/PANTS", - "image_path": "test/2024 SS/MLSS27160.jpg" - }, - { - "item_name": "MLSS27161", - "semantic_category": "KNIT/CARDIGAN", - "image_path": "test/2024 SS/MLSS27161.jpg" - }, + } + ], + "database": [ { "item_name": "MLSS27162", "semantic_category": "TOP/SHIRT", "image_path": "test/2024 SS/MLSS27162.jpg" }, { - "item_name": "MLSS27167", - "semantic_category": "OUTERWEAR/JACKET", - "image_path": "test/2024 SS/MLSS27167.jpg" + "item_name": "MKTS27017", + "semantic_category": "OUTERWEAR/WINDBREAKER", + "image_path": "test/2024 SS/MKTS27017.jpg" }, { - "item_name": "MLSS27173", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MLSS27173.jpg" - }, - { - "item_name": "MLSS27174", - "semantic_category": "TOP/TOP", - "image_path": "test/2024 SS/MLSS27174.jpg" - }, - { - "item_name": "MLSS27175", + "item_name": "MLSS27160", "semantic_category": "BOTTOM/PANTS", - "image_path": "test/2024 SS/MLSS27175.jpg" - }, - { - "item_name": "MLSS27176", - "semantic_category": "BOTTOM/SKIRT", - "image_path": "test/2024 SS/MLSS27176.jpg" - }, - { - "item_name": "MKTS27073", - "semantic_category": "BOTTOM/SKIRT", - "image_path": "test/2024 SS/MKTS27073.jpg" - }, - { - "item_name": "MLSS27226", - "semantic_category": "BOTTOM/SKIRT", - "image_path": "test/2024 SS/MLSS27226.jpg" - }, - { - "item_name": "MPO_SP7685", - "semantic_category": "TOP/BLOUSE", - "image_path": "test/2024 SS/MPO_SP7685.jpg" - }, - { - "item_name": "MPO_SP7686", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MPO_SP7686.jpg" - }, - { - "item_name": "MPO_SP7687", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MPO_SP7687.jpg" - }, - { - "item_name": "MPO_SP7692", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MPO_SP7692.jpg" - }, - { - "item_name": "MPO_SP7693", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MPO_SP7693.jpg" - }, - { - "item_name": "MPO_SP7694", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MPO_SP7694.jpg" - }, - { - "item_name": "MPO_SP7696", - "semantic_category": "BOTTOM/PANTS", - "image_path": "test/2024 SS/MPO_SP7696.jpg" - }, - { - "item_name": "MPO_SP7697", - "semantic_category": "JEANS/JEANS", - "image_path": "test/2024 SS/MPO_SP7697.jpg" - }, - { - "item_name": "MPO_SP7704", - "semantic_category": "OUTERWEAR/BLAZER", - "image_path": "test/2024 SS/MPO_SP7704.jpg" - }, - { - "item_name": "MPO_SP7705", - "semantic_category": "OUTERWEAR/JACKET", - "image_path": "test/2024 SS/MPO_SP7705.jpg" - }, - { - "item_name": "MPO_SP7706", - "semantic_category": "JEANS/JEANS JACKET", - "image_path": "test/2024 SS/MPO_SP7706.jpg" - }, - { - "item_name": "MPO_SP7711", - "semantic_category": "TOP/VEST", - "image_path": "test/2024 SS/MPO_SP7711.jpg" - }, - { - "item_name": "MPO_SP7712", - "semantic_category": "TOP/TANK", - "image_path": "test/2024 SS/MPO_SP7712.jpg" - }, - { - "item_name": "MPO_SP7717", - "semantic_category": "TOP/TEE", - "image_path": "test/2024 SS/MPO_SP7717.jpg" - }, - { - "item_name": "MPO_SP7722", - "semantic_category": "TOP/TOP", - "image_path": "test/2024 SS/MPO_SP7722.jpg" - }, - { - "item_name": "MPO_SP7723", - "semantic_category": "TOP/BLOUSE", - "image_path": "test/2024 SS/MPO_SP7723.jpg" - }, - { - "item_name": "MPO_SP7726", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MPO_SP7726.jpg" - }, - { - "item_name": "MPO_SP7729", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MPO_SP7729.jpg" - }, - { - "item_name": "MPO_SP7731", - "semantic_category": "TOP/BLOUSE", - "image_path": "test/2024 SS/MPO_SP7731.jpg" - }, - { - "item_name": "MPO_SP7732", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MPO_SP7732.jpg" - }, - { - "item_name": "MPO_SP7735", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MPO_SP7735.jpg" - }, - { - "item_name": "MSE_58197", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MSE_58197.jpg" - }, - { - "item_name": "MSE_58198", - "semantic_category": "TOP/BLOUSE", - "image_path": "test/2024 SS/MSE_58198.jpg" - }, - { - "item_name": "MSE_58199", - "semantic_category": "BOTTOM/PANTS", - "image_path": "test/2024 SS/MSE_58199.jpg" - }, - { - "item_name": "MSE_58112", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MSE_58112.jpg" - }, - { - "item_name": "MSE_58114", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MSE_58114.jpg" - }, - { - "item_name": "MSE_58241", - "semantic_category": "TOP/BLOUSE", - "image_path": "test/2024 SS/MSE_58241.jpg" - }, - { - "item_name": "MSE_57987", - "semantic_category": "BOTTOM/PANTS", - "image_path": "test/2024 SS/MSE_57987.jpg" - }, - { - "item_name": "MSE_57988", - "semantic_category": "OUTERWEAR/BLAZER", - "image_path": "test/2024 SS/MSE_57988.jpg" - }, - { - "item_name": "MSE_58203", - "semantic_category": "OUTERWEAR/BLAZER", - "image_path": "test/2024 SS/MSE_58203.jpg" - }, - { - "item_name": "MSE_58106", - "semantic_category": "BOTTOM/PANTS", - "image_path": "test/2024 SS/MSE_58106.jpg" - }, - { - "item_name": "MSE_58107", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MSE_58107.jpg" - }, - { - "item_name": "MSE_58132", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MSE_58132.jpg" - }, - { - "item_name": "MSE_58133", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MSE_58133.jpg" - }, - { - "item_name": "MSE_58057", - "semantic_category": "OUTERWEAR/BLAZER", - "image_path": "test/2024 SS/MSE_58057.jpg" - }, - { - "item_name": "MSE_58058", - "semantic_category": "BOTTOM/PANTS", - "image_path": "test/2024 SS/MSE_58058.jpg" - }, - { - "item_name": "MSE_58222", - "semantic_category": "BOTTOM/SKIRT", - "image_path": "test/2024 SS/MSE_58222.jpg" - }, - { - "item_name": "MSE_58317", - "semantic_category": "TOP/BLOUSE", - "image_path": "test/2024 SS/MSE_58317.jpg" - }, - { - "item_name": "MSE_58045", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MSE_58045.jpg" - }, - { - "item_name": "MSE_58275", - "semantic_category": "JEANS/JEANS DRESS", - "image_path": "test/2024 SS/MSE_58275.jpg" - }, - { - "item_name": "MSE_58276", - "semantic_category": "JEANS/JEANS JACKET", - "image_path": "test/2024 SS/MSE_58276.jpg" - }, - { - "item_name": "MSE_58277", - "semantic_category": "JEANS/JEANS SKIRT", - "image_path": "test/2024 SS/MSE_58277.jpg" - }, - { - "item_name": "MSE_58183", - "semantic_category": "TOP/BLOUSE", - "image_path": "test/2024 SS/MSE_58183.jpg" - }, - { - "item_name": "MSE_58184", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MSE_58184.jpg" - }, - { - "item_name": "MSE_58185", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MSE_58185.jpg" - }, - { - "item_name": "MSE_58188", - "semantic_category": "BOTTOM/SKIRT", - "image_path": "test/2024 SS/MSE_58188.jpg" - }, - { - "item_name": "MSE_54385", - "semantic_category": "BOTTOM/PANTS", - "image_path": "test/2024 SS/MSE_54385.jpg" - }, - { - "item_name": "MSE_56720", - "semantic_category": "OUTERWEAR/BLAZER", - "image_path": "test/2024 SS/MSE_56720.jpg" - }, - { - "item_name": "MSE_58174", - "semantic_category": "TOP/TEE", - "image_path": "test/2024 SS/MSE_58174.jpg" - }, - { - "item_name": "MSE_58044", - "semantic_category": "OUTERWEAR/JACKET", - "image_path": "test/2024 SS/MSE_58044.jpg" - }, - { - "item_name": "MSE_58361", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MSE_58361.jpg" - }, - { - "item_name": "MSE_58495", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MSE_58495.jpg" - }, - { - "item_name": "MSE_58536", - "semantic_category": "ACCESSORY/BAG", - "image_path": "test/2024 SS/MSE_58536.jpg" - }, - { - "item_name": "MSE_58653", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MSE_58653.jpg" - }, - { - "item_name": "MSE_58287", - "semantic_category": "BOTTOM/SHORTS", - "image_path": "test/2024 SS/MSE_58287.jpg" - }, - { - "item_name": "MSE_58289", - "semantic_category": "OUTERWEAR/BLAZER", - "image_path": "test/2024 SS/MSE_58289.jpg" - }, - { - "item_name": "MSE_58323", - "semantic_category": "TOP/BLOUSE", - "image_path": "test/2024 SS/MSE_58323.jpg" - }, - { - "item_name": "MSE_58421", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MSE_58421.jpg" - }, - { - "item_name": "MSE_58451", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MSE_58451.jpg" - }, - { - "item_name": "MSE_58473", - "semantic_category": "KNIT/KNIT TOP", - "image_path": "test/2024 SS/MSE_58473.jpg" - }, - { - "item_name": "MSE_58498", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MSE_58498.jpg" - }, - { - "item_name": "MSE_58499", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MSE_58499.jpg" - }, - { - "item_name": "MSE_58510", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MSE_58510.jpg" - }, - { - "item_name": "MSE_58516", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MSE_58516.jpg" - }, - { - "item_name": "MSE_58518", - "semantic_category": "BOTTOM/SKIRT", - "image_path": "test/2024 SS/MSE_58518.jpg" - }, - { - "item_name": "MSE_58530", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MSE_58530.jpg" - }, - { - "item_name": "MSE_58540", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MSE_58540.jpg" - }, - { - "item_name": "MSE_58547", - "semantic_category": "TOP/TEE", - "image_path": "test/2024 SS/MSE_58547.jpg" - }, - { - "item_name": "MSE_58618", - "semantic_category": "TOP/BLOUSE", - "image_path": "test/2024 SS/MSE_58618.jpg" - }, - { - "item_name": "MSE_58655", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MSE_58655.jpg" - }, - { - "item_name": "MSE_58658", - "semantic_category": "TOP/TEE", - "image_path": "test/2024 SS/MSE_58658.jpg" + "image_path": "test/2024 SS/MLSS27160.jpg" } ] } \ No newline at end of file From 01d81da2c1528108502e575000540c4168d24a7d Mon Sep 17 00:00:00 2001 From: zhouchengrong Date: Wed, 27 Mar 2024 17:38:08 +0800 Subject: [PATCH 15/26] =?UTF-8?q?=E5=B1=9E=E6=80=A7=E6=A3=80=E6=B5=8B?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=EF=BC=8C=E5=93=8D=E5=BA=94=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E8=A7=84=E8=8C=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/logs/errors.log | 20 ++++ .../discriptor/bottom/2_bottom_subtype.csv | 40 ++++---- .../discriptor/bottom/3_bottom_length.csv | 10 +- .../discriptor/bottom/5_bottom_Softness.csv | 6 +- .../discriptor/bottom/6_bottom_Design.csv | 32 +++---- .../discriptor/bottom/7_bottom_OPType.csv | 10 +- .../discriptor/bottom/7_outer_Print.csv | 30 +++--- .../discriptor/bottom/8_bottom_Silhouette.csv | 10 +- .../discriptor/bottom/8_outer_Material.csv | 54 +++++------ .../bottom/ori10_bottom_Silhoutte.csv | 10 +- .../discriptor/bottom/ori1_bottom_Type.csv | 4 +- .../discriptor/bottom/ori2_bottom_subtype.csv | 92 +++++++++---------- .../bottom/ori3_bottom_structure.csv | 6 +- .../discriptor/bottom/ori4_bottom_length.csv | 10 +- .../discriptor/bottom/ori5_bottom_Print.csv | 30 +++--- .../bottom/ori6_bottom_Material.csv | 54 +++++------ .../bottom/ori7_bottom_Softness.csv | 6 +- .../discriptor/bottom/ori8_bottom_Design.csv | 32 +++---- .../discriptor/bottom/ori9_bottom_OPType.csv | 10 +- .../discriptor/dress/11_dress_Silhouette.csv | 20 ++-- .../discriptor/dress/11_top_OPType.csv | 8 +- .../discriptor/dress/12_dress_type.csv | 38 ++++---- .../discriptor/dress/1_dress_length.csv | 10 +- .../discriptor/dress/3_top_Sleeve_length.csv | 10 +- .../discriptor/dress/4_top_Sleeve_shape.csv | 16 ++-- .../dress/5_top_Sleeve_shoulder.csv | 8 +- .../discriptor/dress/6_top_Neckline.csv | 12 +-- .../discriptor/dress/7_outer_Print.csv | 30 +++--- .../discriptor/dress/7_top_Collar.csv | 20 ++-- .../discriptor/dress/8_outer_Material.csv | 54 +++++------ .../discriptor/dress/9_dress_Design.csv | 36 ++++---- .../discriptor/dress/9_top_Softness.csv | 6 +- .../discriptor/dress/ori10_dress_Design.csv | 30 +++--- .../discriptor/dress/ori11_dress_OPType.csv | 8 +- .../dress/ori12_dress_Silhouette.csv | 20 ++-- .../discriptor/dress/ori13_dress_Type.csv | 38 ++++---- .../discriptor/dress/ori1_dress_length.csv | 10 +- .../dress/ori2_dress_Sleeve_length.csv | 10 +- .../dress/ori3_dress_Sleeve_shape.csv | 16 ++-- .../dress/ori4_dress_Sleeve_shoulder.csv | 8 +- .../discriptor/dress/ori5_dress_Neckline.csv | 32 +++---- .../discriptor/dress/ori6_dress_Collar.csv | 20 ++-- .../discriptor/dress/ori7_dress_Print.csv | 30 +++--- .../discriptor/dress/ori8_dress_Material.csv | 54 +++++------ .../discriptor/dress/ori9_dress_Softness.csv | 6 +- .../discriptor/jumpsuit/10_jumsuit_design.csv | 32 +++---- .../jumpsuit/11_jumpsuit_OPType.csv | 8 +- .../jumpsuit/12_jumpsuit_subtype.csv | 10 +- .../discriptor/jumpsuit/1_jumsuit_length.csv | 10 +- .../jumpsuit/2_jumpsuit_Sleeve_length.csv | 10 +- .../jumpsuit/3_jumpsuit_Sleeve_shape.csv | 16 ++-- .../jumpsuit/4_jumpsuit_Sleeve_shoulder.csv | 8 +- .../jumpsuit/5_jumpsuit_Neckline.csv | 12 +-- .../discriptor/jumpsuit/6_jumpsuit_Collar.csv | 20 ++-- .../discriptor/jumpsuit/7_jumpsuit_Print.csv | 30 +++--- .../jumpsuit/8_jumpsuit_Material.csv | 54 +++++------ .../jumpsuit/9_jumpsuit_Softness.csv | 6 +- .../discriptor/outwear/10_outer_Design.csv | 36 ++++---- .../discriptor/outwear/11_outer_opening.csv | 4 +- .../discriptor/outwear/12_outer_OPType.csv | 8 +- .../outwear/13_outer_Silhouette.csv | 12 +-- .../discriptor/outwear/1_outer_length.csv | 6 +- .../discriptor/outwear/2_outer_type.csv | 34 +++---- .../outwear/3_outer_sleeve_length.csv | 10 +- .../outwear/4_outer_sleeve_shape.csv | 16 ++-- .../outwear/5_outer_sleeve_shoulder.csv | 10 +- .../discriptor/outwear/6_outer_Collar.csv | 18 ++-- .../discriptor/outwear/8_outer_Material.csv | 54 +++++------ .../discriptor/outwear/9_outer_Softness.csv | 6 +- .../discriptor/top/10_top_Design.csv | 28 +++--- .../discriptor/top/11_top_OPType.csv | 8 +- .../discriptor/top/12_top_Silhouette.csv | 12 +-- .../discriptor/top/1_top_length.csv | 6 +- .../discriptor/top/2_top_type.csv | 28 +++--- .../discriptor/top/3_top_Sleeve_length.csv | 10 +- .../discriptor/top/4_top_Sleeve_shape.csv | 16 ++-- .../discriptor/top/5_top_Sleeve_shoulder.csv | 8 +- .../discriptor/top/6_top_Neckline.csv | 12 +-- .../discriptor/top/7_outer_Print.csv | 30 +++--- .../discriptor/top/7_top_Collar.csv | 20 ++-- .../discriptor/top/8_outer_Material.csv | 54 +++++------ .../discriptor/top/9_top_Softness.csv | 6 +- .../discriptor/top/ori10_top_Softness.csv | 6 +- .../discriptor/top/ori11_top_Design.csv | 30 +++--- .../discriptor/top/ori12_top_OPType.csv | 8 +- .../discriptor/top/ori13_top_Silhouette.csv | 12 +-- .../discriptor/top/ori1_Top_length.csv | 6 +- .../discriptor/top/ori2_Top_type.csv | 28 +++--- .../discriptor/top/ori3_top_Sleeve_length.csv | 10 +- .../discriptor/top/ori4_top_Sleeve_shape.csv | 16 ++-- .../top/ori5_top_Sleeve_shoulder.csv | 8 +- .../discriptor/top/ori6_top_Neckline.csv | 30 +++--- .../discriptor/top/ori7_top_Collar.csv | 20 ++-- .../discriptor/top/ori8_top_Print.csv | 30 +++--- .../discriptor/top/ori9_top_Material.csv | 54 +++++------ 95 files changed, 981 insertions(+), 961 deletions(-) diff --git a/app/logs/errors.log b/app/logs/errors.log index d4310d1..546eed1 100644 --- a/app/logs/errors.log +++ b/app/logs/errors.log @@ -1676,3 +1676,23 @@ RuntimeError: shape '[6, 3, -1]' is invalid for input of size 896 2024-03-27 16:01:53,943 api_attribute.py [line:18] INFO test 2024-03-27 16:23:31,085 api_attribute.py [line:18] INFO test 2024-03-27 16:23:31,085 api_attribute.py [line:18] INFO test +2024-03-27 16:59:17,028 decorator.py [line:11] INFO function:【load_image】,runtime:【372.1579358577728】s +2024-03-27 16:59:17,028 decorator.py [line:11] INFO function:【load_image】,runtime:【372.1579358577728】s +2024-03-27 16:59:28,246 decorator.py [line:11] INFO function:【load_image】,runtime:【4.365650177001953】s +2024-03-27 16:59:28,246 decorator.py [line:11] INFO function:【load_image】,runtime:【4.365650177001953】s +2024-03-27 16:59:35,344 decorator.py [line:11] INFO function:【load_image】,runtime:【1.5201640129089355】s +2024-03-27 16:59:35,344 decorator.py [line:11] INFO function:【load_image】,runtime:【1.5201640129089355】s +2024-03-27 16:59:36,538 decorator.py [line:11] INFO function:【load_image】,runtime:【1.1855032444000244】s +2024-03-27 16:59:36,538 decorator.py [line:11] INFO function:【load_image】,runtime:【1.1855032444000244】s +2024-03-27 16:59:38,242 decorator.py [line:11] INFO function:【get_result】,runtime:【4.41891622543335】s +2024-03-27 16:59:38,242 decorator.py [line:11] INFO function:【get_result】,runtime:【4.41891622543335】s +2024-03-27 16:59:38,244 api_outfit_matcher.py [line:43] INFO run time is : 4.420928478240967 +2024-03-27 16:59:38,244 api_outfit_matcher.py [line:43] INFO run time is : 4.420928478240967 +2024-03-27 17:05:01,804 decorator.py [line:11] INFO function:【load_image】,runtime:【251.81508135795593】s +2024-03-27 17:05:01,804 decorator.py [line:11] INFO function:【load_image】,runtime:【251.81508135795593】s +2024-03-27 17:05:02,568 decorator.py [line:11] INFO function:【load_image】,runtime:【0.7592649459838867】s +2024-03-27 17:05:02,568 decorator.py [line:11] INFO function:【load_image】,runtime:【0.7592649459838867】s +2024-03-27 17:05:02,615 decorator.py [line:11] INFO function:【get_result】,runtime:【252.62576150894165】s +2024-03-27 17:05:02,615 decorator.py [line:11] INFO function:【get_result】,runtime:【252.62576150894165】s +2024-03-27 17:05:02,616 api_outfit_matcher.py [line:43] INFO run time is : 252.62676739692688 +2024-03-27 17:05:02,616 api_outfit_matcher.py [line:43] INFO run time is : 252.62676739692688 diff --git a/app/service/attribute_recognition/discriptor/bottom/2_bottom_subtype.csv b/app/service/attribute_recognition/discriptor/bottom/2_bottom_subtype.csv index 3c6f0bc..7cb9fb2 100644 --- a/app/service/attribute_recognition/discriptor/bottom/2_bottom_subtype.csv +++ b/app/service/attribute_recognition/discriptor/bottom/2_bottom_subtype.csv @@ -1,21 +1,21 @@ labelName,join_attr,taskName,taskId -A Line Skirt,bottom_Sub-Type_1,sub_type,2 -Bodycon Skirt,bottom_Sub-Type_2,sub_type,2 -Boot-Cut,bottom_Sub-Type_3,sub_type,2 -Bubble skirt,bottom_Sub-Type_4,sub_type,2 -Cargo Pants,bottom_Sub-Type_5,sub_type,2 -Culottes,bottom_Sub-Type_6,sub_type,2 -Handkerchief Skirt,bottom_Sub-Type_7,sub_type,2 -Jeans,bottom_Sub-Type_8,sub_type,2 -Joggers,bottom_Sub-Type_9,sub_type,2 -Leather pants,bottom_Sub-Type_10,sub_type,2 -Leggings,bottom_Sub-Type_11,sub_type,2 -Mermaid,bottom_Sub-Type_12,sub_type,2 -Pattened pants,bottom_Sub-Type_13,sub_type,2 -Peg leg Pants-Cigarette Pants,bottom_Sub-Type_14,sub_type,2 -Pencil Skirt,bottom_Sub-Type_15,sub_type,2 -Pleated Skirt,bottom_Sub-Type_16,sub_type,2 -Shorts,bottom_Sub-Type_17,sub_type,2 -Skater Skirt,bottom_Sub-Type_18,sub_type,2 -Suit Trousers,bottom_Sub-Type_19,sub_type,2 -Tier Skirt,bottom_Sub-Type_20,sub_type,2 +A Line Skirt,bottom_Sub-Type_1,Sub_Type,2 +Bodycon Skirt,bottom_Sub-Type_2,Sub_Type,2 +Boot-Cut,bottom_Sub-Type_3,Sub_Type,2 +Bubble skirt,bottom_Sub-Type_4,Sub_Type,2 +Cargo Pants,bottom_Sub-Type_5,Sub_Type,2 +Culottes,bottom_Sub-Type_6,Sub_Type,2 +Handkerchief Skirt,bottom_Sub-Type_7,Sub_Type,2 +Jeans,bottom_Sub-Type_8,Sub_Type,2 +Joggers,bottom_Sub-Type_9,Sub_Type,2 +Leather pants,bottom_Sub-Type_10,Sub_Type,2 +Leggings,bottom_Sub-Type_11,Sub_Type,2 +Mermaid,bottom_Sub-Type_12,Sub_Type,2 +Pattened pants,bottom_Sub-Type_13,Sub_Type,2 +Peg leg Pants-Cigarette Pants,bottom_Sub-Type_14,Sub_Type,2 +Pencil Skirt,bottom_Sub-Type_15,Sub_Type,2 +Pleated Skirt,bottom_Sub-Type_16,Sub_Type,2 +Shorts,bottom_Sub-Type_17,Sub_Type,2 +Skater Skirt,bottom_Sub-Type_18,Sub_Type,2 +Suit Trousers,bottom_Sub-Type_19,Sub_Type,2 +Tier Skirt,bottom_Sub-Type_20,Sub_Type,2 diff --git a/app/service/attribute_recognition/discriptor/bottom/3_bottom_length.csv b/app/service/attribute_recognition/discriptor/bottom/3_bottom_length.csv index 4948c3d..ecaf257 100644 --- a/app/service/attribute_recognition/discriptor/bottom/3_bottom_length.csv +++ b/app/service/attribute_recognition/discriptor/bottom/3_bottom_length.csv @@ -1,6 +1,6 @@ labelName,join_attr,taskName,taskId -Short,attr_BTM_length_1,length,3 -Middle,attr_BTM_length_2,length,3 -Seven,attr_BTM_length_3,length,3 -Nine,attr_BTM_length_4,length,3 -Long,attr_BTM_length_5,length,3 +Short,attr_BTM_length_1,Length,3 +Middle,attr_BTM_length_2,Length,3 +Seven,attr_BTM_length_3,Length,3 +Nine,attr_BTM_length_4,Length,3 +Long,attr_BTM_length_5,Length,3 diff --git a/app/service/attribute_recognition/discriptor/bottom/5_bottom_Softness.csv b/app/service/attribute_recognition/discriptor/bottom/5_bottom_Softness.csv index 908d99f..8269778 100644 --- a/app/service/attribute_recognition/discriptor/bottom/5_bottom_Softness.csv +++ b/app/service/attribute_recognition/discriptor/bottom/5_bottom_Softness.csv @@ -1,4 +1,4 @@ labelName,join_attr,taskName,taskId -Soft,attr_Softness_B_1,softness,5 -Medium,attr_Softness_B_2,softness,5 -Hard,attr_Softness_B_3,softness,5 +Soft,attr_Softness_B_1,Softness,5 +Medium,attr_Softness_B_2,Softness,5 +Hard,attr_Softness_B_3,Softness,5 diff --git a/app/service/attribute_recognition/discriptor/bottom/6_bottom_Design.csv b/app/service/attribute_recognition/discriptor/bottom/6_bottom_Design.csv index fcf8955..27bf3d1 100644 --- a/app/service/attribute_recognition/discriptor/bottom/6_bottom_Design.csv +++ b/app/service/attribute_recognition/discriptor/bottom/6_bottom_Design.csv @@ -1,17 +1,17 @@ labelName,join_attr,taskName,taskId -Asymmetrical,attr_Design_B_1,design,6 -Tiered,attr_Design_B_2,design,6 -Tassel,attr_Design_B_3,design,6 -Ruffle,attr_Design_B_4,design,6 -Pleated,attr_Design_B_5,design,6 -Wrap,attr_Design_B_6,design,6 -Ripped,attr_Design_B_7,design,6 -Cut out,attr_Design_B_8,design,6 -Eyelet,attr_Design_B_9,design,6 -Folded,attr_Design_B_10,design,6 -Tied,attr_Design_B_11,design,6 -Drapes,attr_Design_B_12,design,6 -Ribbon,attr_Design_B_13,design,6 -Button,attr_Design_B_14,design,6 -Split,attr_Design_B_15,design,6 -Fishtail,attr_Design_B_16,design,6 +Asymmetrical,attr_Design_B_1,Design,6 +Tiered,attr_Design_B_2,Design,6 +Tassel,attr_Design_B_3,Design,6 +Ruffle,attr_Design_B_4,Design,6 +Pleated,attr_Design_B_5,Design,6 +Wrap,attr_Design_B_6,Design,6 +Ripped,attr_Design_B_7,Design,6 +Cut out,attr_Design_B_8,Design,6 +Eyelet,attr_Design_B_9,Design,6 +Folded,attr_Design_B_10,Design,6 +Tied,attr_Design_B_11,Design,6 +Drapes,attr_Design_B_12,Design,6 +Ribbon,attr_Design_B_13,Design,6 +Button,attr_Design_B_14,Design,6 +Split,attr_Design_B_15,Design,6 +Fishtail,attr_Design_B_16,Design,6 diff --git a/app/service/attribute_recognition/discriptor/bottom/7_bottom_OPType.csv b/app/service/attribute_recognition/discriptor/bottom/7_bottom_OPType.csv index d41b148..008d981 100644 --- a/app/service/attribute_recognition/discriptor/bottom/7_bottom_OPType.csv +++ b/app/service/attribute_recognition/discriptor/bottom/7_bottom_OPType.csv @@ -1,6 +1,6 @@ labelName,join_attr,taskName,taskId -Button,attr_OPType_B_1,opening_type,7 -Zipper,attr_OPType_B_2,opening_type,7 -Thread,attr_OPType_B_3,opening_type,7 -Hook,attr_OPType_B_4,opening_type,7 -Elastic,attr_OPType_B_5,opening_type,7 +Button,attr_OPType_B_1,Opening_Type,7 +Zipper,attr_OPType_B_2,Opening_Type,7 +Thread,attr_OPType_B_3,Opening_Type,7 +Hook,attr_OPType_B_4,Opening_Type,7 +Elastic,attr_OPType_B_5,Opening_Type,7 diff --git a/app/service/attribute_recognition/discriptor/bottom/7_outer_Print.csv b/app/service/attribute_recognition/discriptor/bottom/7_outer_Print.csv index 5546fd4..cb5695d 100644 --- a/app/service/attribute_recognition/discriptor/bottom/7_outer_Print.csv +++ b/app/service/attribute_recognition/discriptor/bottom/7_outer_Print.csv @@ -1,16 +1,16 @@ labelName,join_attr,taskName,taskId -Abstract,attr_Print_O_1,print,7 -Allover,attr_Print_O_2,print,7 -Animal,attr_Print_O_3,print,7 -Camouflage,attr_Print_O_4,print,7 -Checks,attr_Print_O_5,print,7 -Color_block,attr_Print_O_6,print,7 -Disty print,attr_Print_O_7,print,7 -Dotted,attr_Print_O_8,print,7 -Floral,attr_Print_O_9,print,7 -Graphic print,attr_Print_O_10,print,7 -Logo and slogan,attr_Print_O_11,print,7 -Patchwork,attr_Print_O_12,print,7 -Plain,attr_Print_O_13,print,7 -Plain_dnim,attr_Print_O_14,print,7 -Stripe,attr_Print_O_15,print,7 +Abstract,attr_Print_O_1,Print,7 +Allover,attr_Print_O_2,Print,7 +Animal,attr_Print_O_3,Print,7 +Camouflage,attr_Print_O_4,Print,7 +Checks,attr_Print_O_5,Print,7 +Color_block,attr_Print_O_6,Print,7 +Disty print,attr_Print_O_7,Print,7 +Dotted,attr_Print_O_8,Print,7 +Floral,attr_Print_O_9,Print,7 +Graphic print,attr_Print_O_10,Print,7 +Logo and slogan,attr_Print_O_11,Print,7 +Patchwork,attr_Print_O_12,Print,7 +Plain,attr_Print_O_13,Print,7 +Plain_dnim,attr_Print_O_14,Print,7 +Stripe,attr_Print_O_15,Print,7 diff --git a/app/service/attribute_recognition/discriptor/bottom/8_bottom_Silhouette.csv b/app/service/attribute_recognition/discriptor/bottom/8_bottom_Silhouette.csv index 481ef28..9bd771a 100644 --- a/app/service/attribute_recognition/discriptor/bottom/8_bottom_Silhouette.csv +++ b/app/service/attribute_recognition/discriptor/bottom/8_bottom_Silhouette.csv @@ -1,6 +1,6 @@ labelName,join_attr,taskName,taskId -A Line,attr_Silhouette_B_1,silhouette,8 -H Shape,attr_Silhouette_B_2,silhouette,8 -Slim,attr_Silhouette_B_3,silhouette,8 -Peg-leg,attr_Silhouette_B_4,silhouette,8 -Peplum,attr_Silhouette_B_5,silhouette,8 +A Line,attr_Silhouette_B_1,Silhouette,8 +H Shape,attr_Silhouette_B_2,Silhouette,8 +Slim,attr_Silhouette_B_3,Silhouette,8 +Peg-leg,attr_Silhouette_B_4,Silhouette,8 +Peplum,attr_Silhouette_B_5,Silhouette,8 diff --git a/app/service/attribute_recognition/discriptor/bottom/8_outer_Material.csv b/app/service/attribute_recognition/discriptor/bottom/8_outer_Material.csv index 66c4555..2db5c94 100644 --- a/app/service/attribute_recognition/discriptor/bottom/8_outer_Material.csv +++ b/app/service/attribute_recognition/discriptor/bottom/8_outer_Material.csv @@ -1,28 +1,28 @@ labelName,join_attr,taskName,taskId -Canvas,attr_Material_O_1,material,8 -Chambray,attr_Material_O_2,material,8 -Chenille,attr_Material_O_3,material,8 -Chiffon,attr_Material_O_4,material,8 -Corduroy,attr_Material_O_5,material,8 -Crepe,attr_Material_O_6,material,8 -Denim,attr_Material_O_7,material,8 -Faux_fur,attr_Material_O_8,material,8 -Faux_leather,attr_Material_O_9,material,8 -Flannel,attr_Material_O_10,material,8 -Fleece,attr_Material_O_11,material,8 -Gingham,attr_Material_O_12,material,8 -Jersey,attr_Material_O_13,material,8 -Knit,attr_Material_O_14,material,8 -Lace,attr_Material_O_15,material,8 -Lawn,attr_Material_O_16,material,8 -Neoprene,attr_Material_O_17,material,8 -Organza,attr_Material_O_18,material,8 -Plush,attr_Material_O_19,material,8 -Satin,attr_Material_O_20,material,8 -Serge,attr_Material_O_21,material,8 -Taffeta,attr_Material_O_22,material,8 -Tulle,attr_Material_O_23,material,8 -Tweed,attr_Material_O_24,material,8 -Twill,attr_Material_O_25,material,8 -Velvet,attr_Material_O_26,material,8 -Vinyl,attr_Material_O_27,material,8 +Canvas,attr_Material_O_1,Material,8 +Chambray,attr_Material_O_2,Material,8 +Chenille,attr_Material_O_3,Material,8 +Chiffon,attr_Material_O_4,Material,8 +Corduroy,attr_Material_O_5,Material,8 +Crepe,attr_Material_O_6,Material,8 +Denim,attr_Material_O_7,Material,8 +Faux_fur,attr_Material_O_8,Material,8 +Faux_leather,attr_Material_O_9,Material,8 +Flannel,attr_Material_O_10,Material,8 +Fleece,attr_Material_O_11,Material,8 +Gingham,attr_Material_O_12,Material,8 +Jersey,attr_Material_O_13,Material,8 +Knit,attr_Material_O_14,Material,8 +Lace,attr_Material_O_15,Material,8 +Lawn,attr_Material_O_16,Material,8 +Neoprene,attr_Material_O_17,Material,8 +Organza,attr_Material_O_18,Material,8 +Plush,attr_Material_O_19,Material,8 +Satin,attr_Material_O_20,Material,8 +Serge,attr_Material_O_21,Material,8 +Taffeta,attr_Material_O_22,Material,8 +Tulle,attr_Material_O_23,Material,8 +Tweed,attr_Material_O_24,Material,8 +Twill,attr_Material_O_25,Material,8 +Velvet,attr_Material_O_26,Material,8 +Vinyl,attr_Material_O_27,Material,8 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori10_bottom_Silhoutte.csv b/app/service/attribute_recognition/discriptor/bottom/ori10_bottom_Silhoutte.csv index b661900..48a01f9 100644 --- a/app/service/attribute_recognition/discriptor/bottom/ori10_bottom_Silhoutte.csv +++ b/app/service/attribute_recognition/discriptor/bottom/ori10_bottom_Silhoutte.csv @@ -1,6 +1,6 @@ labelName,join_attr,taskName,taskId -A Line,attr_Silhouette_B_1,silhouette,10 -H Shape,attr_Silhouette_B_2,silhouette,10 -Slim,attr_Silhouette_B_3,silhouette,10 -Peg-top,attr_Silhouette_B_4,silhouette,10 -Peplum,attr_Silhouette_B_5,silhouette,10 +A Line,attr_Silhouette_B_1,Silhouette,10 +H Shape,attr_Silhouette_B_2,Silhouette,10 +Slim,attr_Silhouette_B_3,Silhouette,10 +Peg-top,attr_Silhouette_B_4,Silhouette,10 +Peplum,attr_Silhouette_B_5,Silhouette,10 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori1_bottom_Type.csv b/app/service/attribute_recognition/discriptor/bottom/ori1_bottom_Type.csv index 6ab3391..86966df 100644 --- a/app/service/attribute_recognition/discriptor/bottom/ori1_bottom_Type.csv +++ b/app/service/attribute_recognition/discriptor/bottom/ori1_bottom_Type.csv @@ -1,3 +1,3 @@ labelName,join_attr,taskName,taskId -Pants,BTM_Type_1,type,1 -Skirt,BTM_Type_2,type,1 +Pants,BTM_Type_1,Silhouette,1 +Skirt,BTM_Type_2,Silhouette,1 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori2_bottom_subtype.csv b/app/service/attribute_recognition/discriptor/bottom/ori2_bottom_subtype.csv index 91f66fb..93d835f 100644 --- a/app/service/attribute_recognition/discriptor/bottom/ori2_bottom_subtype.csv +++ b/app/service/attribute_recognition/discriptor/bottom/ori2_bottom_subtype.csv @@ -1,47 +1,47 @@ labelName,join_attr,taskName,taskId -Jeans,BTM_Sub-Type_1,sub_type,2 -Leggings,BTM_Sub-Type_2,sub_type,2 -Joggers,BTM_Sub-Type_3,sub_type,2 -Suit Trousers,BTM_Sub-Type_4,sub_type,2 -Cargo Pants,BTM_Sub-Type_5,sub_type,2 -Culottes,BTM_Sub-Type_6,sub_type,2 -Peg leg Pants ,BTM_Sub-Type_7,sub_type,2 -A Line Skirt_gathered,BTM_Sub-Type_8,sub_type,2 -Pencil Skirt,BTM_Sub-Type_9,sub_type,2 -Handkerchief Skirt,BTM_Sub-Type_10,sub_type,2 -Mermaid/Fishtail Skirt,BTM_Sub-Type_11,sub_type,2 -Skater Skirt,BTM_Sub-Type_12,sub_type,2 -Bodycon Skirt,BTM_Sub-Type_13,sub_type,2 -Shorts,BTM_Sub-Type_14,sub_type,2 -boot-cut_flare,BTM_Sub-Type_15,sub_type,2 -Pleated Skirt,BTM_Sub-Type_16,sub_type,2 -Bubble skirt,BTM_Sub-Type_17,sub_type,2 -Leather pants,BTM_Sub-Type_18,sub_type,2 -pattened pants,BTM_Sub-Type_19,sub_type,2 -Tier Skirt,BTM_Sub-Type_20,sub_type,2 -asymmetric_mullet,BTM_Sub-Type_21,sub_type,2 -baggy,BTM_Sub-Type_22,sub_type,2 -denim skirt,BTM_Sub-Type_23,sub_type,2 -flare skirt,BTM_Sub-Type_24,sub_type,2 -fringe skirt,BTM_Sub-Type_25,sub_type,2 -godet skirt,BTM_Sub-Type_26,sub_type,2 -high rise pants,BTM_Sub-Type_27,sub_type,2 -hight waist skirt,BTM_Sub-Type_28,sub_type,2 -hat pants,BTM_Sub-Type_29,sub_type,2 -leather skirts,BTM_Sub-Type_30,sub_type,2 -long skirts,BTM_Sub-Type_31,sub_type,2 -low rise pants,BTM_Sub-Type_32,sub_type,2 -mini skirt,BTM_Sub-Type_33,sub_type,2 -panel kirt,BTM_Sub-Type_34,sub_type,2 -peg top skirt,BTM_Sub-Type_35,sub_type,2 -pencil pants,BTM_Sub-Type_36,sub_type,2 -shorts (denim),BTM_Sub-Type_37,sub_type,2 -skinny_cigarette pants,BTM_Sub-Type_38,sub_type,2 -split skirt,BTM_Sub-Type_39,sub_type,2 -stirrup,BTM_Sub-Type_40,sub_type,2 -stranget pants,BTM_Sub-Type_41,sub_type,2 -straight skirt,BTM_Sub-Type_42,sub_type,2 -wide leg pants,BTM_Sub-Type_43,sub_type,2 -wrap skirt,BTM_Sub-Type_44,sub_type,2 -Jeans,BTM_Sub-Type_45,sub_type,2 -Leggings,BTM_Sub-Type_46,sub_type,2 +Jeans,BTM_Sub-Type_1,Sub_Type,2 +Leggings,BTM_Sub-Type_2,Sub_Type,2 +Joggers,BTM_Sub-Type_3,Sub_Type,2 +Suit Trousers,BTM_Sub-Type_4,Sub_Type,2 +Cargo Pants,BTM_Sub-Type_5,Sub_Type,2 +Culottes,BTM_Sub-Type_6,Sub_Type,2 +Peg leg Pants ,BTM_Sub-Type_7,Sub_Type,2 +A Line Skirt_gathered,BTM_Sub-Type_8,Sub_Type,2 +Pencil Skirt,BTM_Sub-Type_9,Sub_Type,2 +Handkerchief Skirt,BTM_Sub-Type_10,Sub_Type,2 +Mermaid/Fishtail Skirt,BTM_Sub-Type_11,Sub_Type,2 +Skater Skirt,BTM_Sub-Type_12,Sub_Type,2 +Bodycon Skirt,BTM_Sub-Type_13,Sub_Type,2 +Shorts,BTM_Sub-Type_14,Sub_Type,2 +boot-cut_flare,BTM_Sub-Type_15,Sub_Type,2 +Pleated Skirt,BTM_Sub-Type_16,Sub_Type,2 +Bubble skirt,BTM_Sub-Type_17,Sub_Type,2 +Leather pants,BTM_Sub-Type_18,Sub_Type,2 +pattened pants,BTM_Sub-Type_19,Sub_Type,2 +Tier Skirt,BTM_Sub-Type_20,Sub_Type,2 +asymmetric_mullet,BTM_Sub-Type_21,Sub_Type,2 +baggy,BTM_Sub-Type_22,Sub_Type,2 +denim skirt,BTM_Sub-Type_23,Sub_Type,2 +flare skirt,BTM_Sub-Type_24,Sub_Type,2 +fringe skirt,BTM_Sub-Type_25,Sub_Type,2 +godet skirt,BTM_Sub-Type_26,Sub_Type,2 +high rise pants,BTM_Sub-Type_27,Sub_Type,2 +hight waist skirt,BTM_Sub-Type_28,Sub_Type,2 +hat pants,BTM_Sub-Type_29,Sub_Type,2 +leather skirts,BTM_Sub-Type_30,Sub_Type,2 +long skirts,BTM_Sub-Type_31,Sub_Type,2 +low rise pants,BTM_Sub-Type_32,Sub_Type,2 +mini skirt,BTM_Sub-Type_33,Sub_Type,2 +panel kirt,BTM_Sub-Type_34,Sub_Type,2 +peg top skirt,BTM_Sub-Type_35,Sub_Type,2 +pencil pants,BTM_Sub-Type_36,Sub_Type,2 +shorts (denim),BTM_Sub-Type_37,Sub_Type,2 +skinny_cigarette pants,BTM_Sub-Type_38,Sub_Type,2 +split skirt,BTM_Sub-Type_39,Sub_Type,2 +stirrup,BTM_Sub-Type_40,Sub_Type,2 +stranget pants,BTM_Sub-Type_41,Sub_Type,2 +straight skirt,BTM_Sub-Type_42,Sub_Type,2 +wide leg pants,BTM_Sub-Type_43,Sub_Type,2 +wrap skirt,BTM_Sub-Type_44,Sub_Type,2 +Jeans,BTM_Sub-Type_45,Sub_Type,2 +Leggings,BTM_Sub-Type_46,Sub_Type,2 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori3_bottom_structure.csv b/app/service/attribute_recognition/discriptor/bottom/ori3_bottom_structure.csv index bac9eb0..e968d11 100644 --- a/app/service/attribute_recognition/discriptor/bottom/ori3_bottom_structure.csv +++ b/app/service/attribute_recognition/discriptor/bottom/ori3_bottom_structure.csv @@ -1,4 +1,4 @@ labelName,join_attr,taskName,taskId -Woven,attr_BTM_Structure_1,structure,3 -Knit,attr_BTM_Structure_2,structure,3 -Sweater,attr_BTM_Structure_3,structure,3 +Woven,attr_BTM_Structure_1,Structure,3 +Knit,attr_BTM_Structure_2,Structure,3 +Sweater,attr_BTM_Structure_3,Structure,3 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori4_bottom_length.csv b/app/service/attribute_recognition/discriptor/bottom/ori4_bottom_length.csv index 497fd02..87465d1 100644 --- a/app/service/attribute_recognition/discriptor/bottom/ori4_bottom_length.csv +++ b/app/service/attribute_recognition/discriptor/bottom/ori4_bottom_length.csv @@ -1,6 +1,6 @@ labelName,join_attr,taskName,taskId -Short,attr_BTM_length_1,length,4 -Middle,attr_BTM_length_2,length,4 -Seven,attr_BTM_length_3,length,4 -Nine,attr_BTM_length_4,length,4 -Long,attr_BTM_length_5,length,4 +Short,attr_BTM_length_1,Length,4 +Middle,attr_BTM_length_2,Length,4 +Seven,attr_BTM_length_3,Length,4 +Nine,attr_BTM_length_4,Length,4 +Long,attr_BTM_length_5,Length,4 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori5_bottom_Print.csv b/app/service/attribute_recognition/discriptor/bottom/ori5_bottom_Print.csv index 680828a..4d6410e 100644 --- a/app/service/attribute_recognition/discriptor/bottom/ori5_bottom_Print.csv +++ b/app/service/attribute_recognition/discriptor/bottom/ori5_bottom_Print.csv @@ -1,16 +1,16 @@ labelName,join_attr,taskName,taskId -abstract,attr_Print_B_1,print,5 -allover,attr_Print_B_2,print,5 -animal printed,attr_Print_B_3,print,5 -Camouflage,attr_Print_B_4,print,5 -checks,attr_Print_B_5,print,5 -color_block,attr_Print_B_6,print,5 -disty print,attr_Print_B_7,print,5 -dotted,attr_Print_B_8,print,5 -floral,attr_Print_B_9,print,5 -graphic print,attr_Print_B_10,print,5 -logo and slogan print,attr_Print_B_11,print,5 -patchwork,attr_Print_B_12,print,5 -plain,attr_Print_B_13,print,5 -plain_dnim,attr_Print_B_14,print,5 -stripe,attr_Print_B_15,print,5 +abstract,attr_Print_B_1,Print,5 +allover,attr_Print_B_2,Print,5 +animal printed,attr_Print_B_3,Print,5 +Camouflage,attr_Print_B_4,Print,5 +checks,attr_Print_B_5,Print,5 +color_block,attr_Print_B_6,Print,5 +disty print,attr_Print_B_7,Print,5 +dotted,attr_Print_B_8,Print,5 +floral,attr_Print_B_9,Print,5 +graphic print,attr_Print_B_10,Print,5 +logo and slogan print,attr_Print_B_11,Print,5 +patchwork,attr_Print_B_12,Print,5 +plain,attr_Print_B_13,Print,5 +plain_dnim,attr_Print_B_14,Print,5 +stripe,attr_Print_B_15,Print,5 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori6_bottom_Material.csv b/app/service/attribute_recognition/discriptor/bottom/ori6_bottom_Material.csv index 413a709..6d94f8b 100644 --- a/app/service/attribute_recognition/discriptor/bottom/ori6_bottom_Material.csv +++ b/app/service/attribute_recognition/discriptor/bottom/ori6_bottom_Material.csv @@ -1,28 +1,28 @@ labelName,join_attr,taskName,taskId -canvas,attr_Material_B_1,material,6 -chambray,attr_Material_B_2,material,6 -chenille,attr_Material_B_3,material,6 -chiffon,attr_Material_B_4,material,6 -corduroy,attr_Material_B_5,material,6 -crepe,attr_Material_B_6,material,6 -denim,attr_Material_B_7,material,6 -faux_fur,attr_Material_B_8,material,6 -faux_leather,attr_Material_B_9,material,6 -flannel,attr_Material_B_10,material,6 -fleece,attr_Material_B_11,material,6 -gingham,attr_Material_B_12,material,6 -jersey,attr_Material_B_13,material,6 -knit,attr_Material_B_14,material,6 -lace,attr_Material_B_15,material,6 -lawn,attr_Material_B_16,material,6 -neoprene,attr_Material_B_17,material,6 -organza,attr_Material_B_18,material,6 -plush,attr_Material_B_19,material,6 -satin,attr_Material_B_20,material,6 -serge,attr_Material_B_21,material,6 -taffeta,attr_Material_B_22,material,6 -tulle,attr_Material_B_23,material,6 -tweed,attr_Material_B_24,material,6 -twill,attr_Material_B_25,material,6 -velvet,attr_Material_B_26,material,6 -vinyl,attr_Material_B_27,material,6 +canvas,attr_Material_B_1,Material,6 +chambray,attr_Material_B_2,Material,6 +chenille,attr_Material_B_3,Material,6 +chiffon,attr_Material_B_4,Material,6 +corduroy,attr_Material_B_5,Material,6 +crepe,attr_Material_B_6,Material,6 +denim,attr_Material_B_7,Material,6 +faux_fur,attr_Material_B_8,Material,6 +faux_leather,attr_Material_B_9,Material,6 +flannel,attr_Material_B_10,Material,6 +fleece,attr_Material_B_11,Material,6 +gingham,attr_Material_B_12,Material,6 +jersey,attr_Material_B_13,Material,6 +knit,attr_Material_B_14,Material,6 +lace,attr_Material_B_15,Material,6 +lawn,attr_Material_B_16,Material,6 +neoprene,attr_Material_B_17,Material,6 +organza,attr_Material_B_18,Material,6 +plush,attr_Material_B_19,Material,6 +satin,attr_Material_B_20,Material,6 +serge,attr_Material_B_21,Material,6 +taffeta,attr_Material_B_22,Material,6 +tulle,attr_Material_B_23,Material,6 +tweed,attr_Material_B_24,Material,6 +twill,attr_Material_B_25,Material,6 +velvet,attr_Material_B_26,Material,6 +vinyl,attr_Material_B_27,Material,6 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori7_bottom_Softness.csv b/app/service/attribute_recognition/discriptor/bottom/ori7_bottom_Softness.csv index bec27a8..74421f0 100644 --- a/app/service/attribute_recognition/discriptor/bottom/ori7_bottom_Softness.csv +++ b/app/service/attribute_recognition/discriptor/bottom/ori7_bottom_Softness.csv @@ -1,4 +1,4 @@ labelName,join_attr,taskName,taskId -Soft,attr_Softness_B_1,softness,7 -Medium,attr_Softness_B_2,softness,7 -Hard,attr_Softness_B_3,softness,7 +Soft,attr_Softness_B_1,Softness,7 +Medium,attr_Softness_B_2,Softness,7 +Hard,attr_Softness_B_3,Softness,7 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori8_bottom_Design.csv b/app/service/attribute_recognition/discriptor/bottom/ori8_bottom_Design.csv index 8d08340..6a8e5d7 100644 --- a/app/service/attribute_recognition/discriptor/bottom/ori8_bottom_Design.csv +++ b/app/service/attribute_recognition/discriptor/bottom/ori8_bottom_Design.csv @@ -1,17 +1,17 @@ labelName,join_attr,taskName,taskId -Asymmetrical,attr_Design_B_1,design,8 -Tiered,attr_Design_B_2,design,8 -Tassel,attr_Design_B_3,design,8 -Ruffle,attr_Design_B_4,design,8 -Pleated,attr_Design_B_5,design,8 -Wrap,attr_Design_B_6,design,8 -Ripped,attr_Design_B_7,design,8 -Cut out,attr_Design_B_8,design,8 -Eyelet,attr_Design_B_9,design,8 -Folded,attr_Design_B_10,design,8 -Tied,attr_Design_B_11,design,8 -Drapes,attr_Design_B_12,design,8 -Ribbon,attr_Design_B_13,design,8 -Button,attr_Design_B_14,design,8 -Split,attr_Design_B_15,design,8 -Fishtail,attr_Design_B_16,design,8 +Asymmetrical,attr_Design_B_1,Design,8 +Tiered,attr_Design_B_2,Design,8 +Tassel,attr_Design_B_3,Design,8 +Ruffle,attr_Design_B_4,Design,8 +Pleated,attr_Design_B_5,Design,8 +Wrap,attr_Design_B_6,Design,8 +Ripped,attr_Design_B_7,Design,8 +Cut out,attr_Design_B_8,Design,8 +Eyelet,attr_Design_B_9,Design,8 +Folded,attr_Design_B_10,Design,8 +Tied,attr_Design_B_11,Design,8 +Drapes,attr_Design_B_12,Design,8 +Ribbon,attr_Design_B_13,Design,8 +Button,attr_Design_B_14,Design,8 +Split,attr_Design_B_15,Design,8 +Fishtail,attr_Design_B_16,Design,8 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori9_bottom_OPType.csv b/app/service/attribute_recognition/discriptor/bottom/ori9_bottom_OPType.csv index f2009bb..5aaef17 100644 --- a/app/service/attribute_recognition/discriptor/bottom/ori9_bottom_OPType.csv +++ b/app/service/attribute_recognition/discriptor/bottom/ori9_bottom_OPType.csv @@ -1,6 +1,6 @@ labelName,join_attr,taskName,taskId -Button,attr_OPType_B_1,opening_type,9 -Zipper,attr_OPType_B_2,opening_type,9 -Thread,attr_OPType_B_3,opening_type,9 -Hook,attr_OPType_B_4,opening_type,9 -Elastic,attr_OPType_B_5,opening_type,9 +Button,attr_OPType_B_1,Opening_Type,9 +Zipper,attr_OPType_B_2,Opening_Type,9 +Thread,attr_OPType_B_3,Opening_Type,9 +Hook,attr_OPType_B_4,Opening_Type,9 +Elastic,attr_OPType_B_5,Opening_Type,9 diff --git a/app/service/attribute_recognition/discriptor/dress/11_dress_Silhouette.csv b/app/service/attribute_recognition/discriptor/dress/11_dress_Silhouette.csv index 25303dc..97499f4 100644 --- a/app/service/attribute_recognition/discriptor/dress/11_dress_Silhouette.csv +++ b/app/service/attribute_recognition/discriptor/dress/11_dress_Silhouette.csv @@ -1,11 +1,11 @@ labelName,join_attr,taskName,taskId -A Line,attr_Silhouette_U_1,silhouette,11 -H Shape,attr_Silhouette_U_2,silhouette,11 -Slim,attr_Silhouette_U_3,silhouette,11 -Oversized,attr_Silhouette_U_4,silhouette,11 -Cacoon,attr_Silhouette_U_5,silhouette,11 -Empire,attr_Silhouette_U_6,silhouette,11 -Hourglass,attr_Silhouette_U_7,silhouette,11 -Mermaid,attr_Silhouette_U_8,silhouette,11 -Sheath,attr_Silhouette_U_9,silhouette,11 -Tent,attr_Silhouette_U_10,silhouette,11 +A Line,attr_Silhouette_U_1,Silhouette,11 +H Shape,attr_Silhouette_U_2,Silhouette,11 +Slim,attr_Silhouette_U_3,Silhouette,11 +Oversized,attr_Silhouette_U_4,Silhouette,11 +Cacoon,attr_Silhouette_U_5,Silhouette,11 +Empire,attr_Silhouette_U_6,Silhouette,11 +Hourglass,attr_Silhouette_U_7,Silhouette,11 +Mermaid,attr_Silhouette_U_8,Silhouette,11 +Sheath,attr_Silhouette_U_9,Silhouette,11 +Tent,attr_Silhouette_U_10,Silhouette,11 diff --git a/app/service/attribute_recognition/discriptor/dress/11_top_OPType.csv b/app/service/attribute_recognition/discriptor/dress/11_top_OPType.csv index 38fe8d8..870631b 100644 --- a/app/service/attribute_recognition/discriptor/dress/11_top_OPType.csv +++ b/app/service/attribute_recognition/discriptor/dress/11_top_OPType.csv @@ -1,5 +1,5 @@ labelName,join_attr,taskName,taskId -Button,attr_OPType_U_1,opening_type,11 -Zipper,attr_OPType_U_2,opening_type,11 -Thread,attr_OPType_U_3,opening_type,11 -Hook,attr_OPType_U_4,opening_type,11 +Button,attr_OPType_U_1,Opening_Type,11 +Zipper,attr_OPType_U_2,Opening_Type,11 +Thread,attr_OPType_U_3,Opening_Type,11 +Hook,attr_OPType_U_4,Opening_Type,11 diff --git a/app/service/attribute_recognition/discriptor/dress/12_dress_type.csv b/app/service/attribute_recognition/discriptor/dress/12_dress_type.csv index 2d425f8..a49f413 100644 --- a/app/service/attribute_recognition/discriptor/dress/12_dress_type.csv +++ b/app/service/attribute_recognition/discriptor/dress/12_dress_type.csv @@ -1,20 +1,20 @@ labelName,join_attr,taskName,taskId -Evening gown,attr_dresstype_1,dress_type,12 -Shirt-dress,attr_dresstype_2,dress_type,12 -Coat dress,attr_dresstype_3,dress_type,12 -Handkerchief dress,attr_dresstype_4,dress_type,12 -Jumper dress,attr_dresstype_5,dress_type,12 -Dungaree dress,attr_dresstype_6,dress_type,12 -Skater dress,attr_dresstype_7,dress_type,12 -Tea dress,attr_dresstype_8,dress_type,12 -Mermaid dress,attr_dresstype_9,dress_type,12 -Cocktail dress,attr_dresstype_10,dress_type,12 -A-Line dress,attr_dresstype_11,dress_type,12 -Bodycon dress,attr_dresstype_12,dress_type,12 -Maxi dress,attr_dresstype_13,dress_type,12 -Office dress,attr_dresstype_14,dress_type,12 -Pencil dress,attr_dresstype_15,dress_type,12 -Sheer dress,attr_dresstype_16,dress_type,12 -Shift dress,attr_dresstype_17,dress_type,12 -Slip dress,attr_dresstype_18,dress_type,12 -T-shirt dress,attr_dresstype_19,dress_type,12 \ No newline at end of file +Evening gown,attr_dresstype_1,Silhouette,12 +Shirt-dress,attr_dresstype_2,Silhouette,12 +Coat dress,attr_dresstype_3,Silhouette,12 +Handkerchief dress,attr_dresstype_4,Silhouette,12 +Jumper dress,attr_dresstype_5,Silhouette,12 +Dungaree dress,attr_dresstype_6,Silhouette,12 +Skater dress,attr_dresstype_7,Silhouette,12 +Tea dress,attr_dresstype_8,Silhouette,12 +Mermaid dress,attr_dresstype_9,Silhouette,12 +Cocktail dress,attr_dresstype_10,Silhouette,12 +A-Line dress,attr_dresstype_11,Silhouette,12 +Bodycon dress,attr_dresstype_12,Silhouette,12 +Maxi dress,attr_dresstype_13,Silhouette,12 +Office dress,attr_dresstype_14,Silhouette,12 +Pencil dress,attr_dresstype_15,Silhouette,12 +Sheer dress,attr_dresstype_16,Silhouette,12 +Shift dress,attr_dresstype_17,Silhouette,12 +Slip dress,attr_dresstype_18,Silhouette,12 +T-shirt dress,attr_dresstype_19,Silhouette,12 \ No newline at end of file diff --git a/app/service/attribute_recognition/discriptor/dress/1_dress_length.csv b/app/service/attribute_recognition/discriptor/dress/1_dress_length.csv index fc07156..9568d0c 100644 --- a/app/service/attribute_recognition/discriptor/dress/1_dress_length.csv +++ b/app/service/attribute_recognition/discriptor/dress/1_dress_length.csv @@ -1,6 +1,6 @@ labelName,join_attr,taskName,taskId -Maxi,attr_Dress_length_1,dress_length,1 -Midi,attr_Dress_length_2,dress_length,1 -Mini,attr_Dress_length_3,dress_length,1 -Over the knee,attr_Dress_length_4,dress_length,1 -Floor Length,attr_Dress_length_5,dress_length,1 +Maxi,attr_Dress_length_1,Length,1 +Midi,attr_Dress_length_2,Length,1 +Mini,attr_Dress_length_3,Length,1 +Over the knee,attr_Dress_length_4,Length,1 +Floor Length,attr_Dress_length_5,Length,1 diff --git a/app/service/attribute_recognition/discriptor/dress/3_top_Sleeve_length.csv b/app/service/attribute_recognition/discriptor/dress/3_top_Sleeve_length.csv index 5d345b1..1f2a0f3 100644 --- a/app/service/attribute_recognition/discriptor/dress/3_top_Sleeve_length.csv +++ b/app/service/attribute_recognition/discriptor/dress/3_top_Sleeve_length.csv @@ -1,6 +1,6 @@ labelName,join_attr,taskName,taskId -Sleeveless,attr_Sleeve_length_1,sleeve_length,3 -Short,attr_Sleeve_length_2,sleeve_length,3 -Middle,attr_Sleeve_length_3,sleeve_length,3 -Seven,attr_Sleeve_length_4,sleeve_length,3 -Long,attr_Sleeve_length_5,sleeve_length,3 +Sleeveless,attr_Sleeve_length_1,Sleeve_Length,3 +Short,attr_Sleeve_length_2,Sleeve_Length,3 +Middle,attr_Sleeve_length_3,Sleeve_Length,3 +Seven,attr_Sleeve_length_4,Sleeve_Length,3 +Long,attr_Sleeve_length_5,Sleeve_Length,3 diff --git a/app/service/attribute_recognition/discriptor/dress/4_top_Sleeve_shape.csv b/app/service/attribute_recognition/discriptor/dress/4_top_Sleeve_shape.csv index 9b6ef6e..d429c11 100644 --- a/app/service/attribute_recognition/discriptor/dress/4_top_Sleeve_shape.csv +++ b/app/service/attribute_recognition/discriptor/dress/4_top_Sleeve_shape.csv @@ -1,9 +1,9 @@ labelName,join_attr,taskName,taskId -Regular,attr_Sleeve_shape_1,sleeve_shape,4 -Slim,attr_Sleeve_shape_2,sleeve_shape,4 -Puff,attr_Sleeve_shape_3,sleeve_shape,4 -Bell,attr_Sleeve_shape_4,sleeve_shape,4 -Batwing,attr_Sleeve_shape_5,sleeve_shape,4 -Shirt,attr_Sleeve_shape_6,sleeve_shape,4 -Rib,attr_Sleeve_shape_7,sleeve_shape,4 -Raglan,attr_Sleeve_shape_8,sleeve_shape,4 +Regular,attr_Sleeve_shape_1,Sleeve_Shape,4 +Slim,attr_Sleeve_shape_2,Sleeve_Shape,4 +Puff,attr_Sleeve_shape_3,Sleeve_Shape,4 +Bell,attr_Sleeve_shape_4,Sleeve_Shape,4 +Batwing,attr_Sleeve_shape_5,Sleeve_Shape,4 +Shirt,attr_Sleeve_shape_6,Sleeve_Shape,4 +Rib,attr_Sleeve_shape_7,Sleeve_Shape,4 +Raglan,attr_Sleeve_shape_8,Sleeve_Shape,4 diff --git a/app/service/attribute_recognition/discriptor/dress/5_top_Sleeve_shoulder.csv b/app/service/attribute_recognition/discriptor/dress/5_top_Sleeve_shoulder.csv index e528584..c31e7ea 100644 --- a/app/service/attribute_recognition/discriptor/dress/5_top_Sleeve_shoulder.csv +++ b/app/service/attribute_recognition/discriptor/dress/5_top_Sleeve_shoulder.csv @@ -1,5 +1,5 @@ labelName,join_attr,taskName,taskId -Regular,attr_Sleeve_shoulder_1,sleeve_shoulder,5 -Cold,attr_Sleeve_shoulder_2,sleeve_shoulder,5 -Tucked,attr_Sleeve_shoulder_3,sleeve_shoulder,5 -Balmain,attr_Sleeve_shoulder_4,sleeve_shoulder,5 +Regular,attr_Sleeve_shoulder_1,Sleeve_Shoulder,5 +Cold,attr_Sleeve_shoulder_2,Sleeve_Shoulder,5 +Tucked,attr_Sleeve_shoulder_3,Sleeve_Shoulder,5 +Balmain,attr_Sleeve_shoulder_4,Sleeve_Shoulder,5 diff --git a/app/service/attribute_recognition/discriptor/dress/6_top_Neckline.csv b/app/service/attribute_recognition/discriptor/dress/6_top_Neckline.csv index 4b18420..30c1420 100644 --- a/app/service/attribute_recognition/discriptor/dress/6_top_Neckline.csv +++ b/app/service/attribute_recognition/discriptor/dress/6_top_Neckline.csv @@ -1,7 +1,7 @@ labelName,join_attr,taskName,taskId -Round,attr_Neckline_1,neckline,6 -V,attr_Neckline_2,neckline,6 -Square,attr_Neckline_3,neckline,6 -One-shoulder,attr_Neckline_4,neckline,6 -Off-shoulder,attr_Neckline_5,neckline,6 -Strapless,attr_Neckline_6,neckline,6 +Round,attr_Neckline_1,Neckline,6 +V,attr_Neckline_2,Neckline,6 +Square,attr_Neckline_3,Neckline,6 +One-shoulder,attr_Neckline_4,Neckline,6 +Off-shoulder,attr_Neckline_5,Neckline,6 +Strapless,attr_Neckline_6,Neckline,6 diff --git a/app/service/attribute_recognition/discriptor/dress/7_outer_Print.csv b/app/service/attribute_recognition/discriptor/dress/7_outer_Print.csv index 5546fd4..cb5695d 100644 --- a/app/service/attribute_recognition/discriptor/dress/7_outer_Print.csv +++ b/app/service/attribute_recognition/discriptor/dress/7_outer_Print.csv @@ -1,16 +1,16 @@ labelName,join_attr,taskName,taskId -Abstract,attr_Print_O_1,print,7 -Allover,attr_Print_O_2,print,7 -Animal,attr_Print_O_3,print,7 -Camouflage,attr_Print_O_4,print,7 -Checks,attr_Print_O_5,print,7 -Color_block,attr_Print_O_6,print,7 -Disty print,attr_Print_O_7,print,7 -Dotted,attr_Print_O_8,print,7 -Floral,attr_Print_O_9,print,7 -Graphic print,attr_Print_O_10,print,7 -Logo and slogan,attr_Print_O_11,print,7 -Patchwork,attr_Print_O_12,print,7 -Plain,attr_Print_O_13,print,7 -Plain_dnim,attr_Print_O_14,print,7 -Stripe,attr_Print_O_15,print,7 +Abstract,attr_Print_O_1,Print,7 +Allover,attr_Print_O_2,Print,7 +Animal,attr_Print_O_3,Print,7 +Camouflage,attr_Print_O_4,Print,7 +Checks,attr_Print_O_5,Print,7 +Color_block,attr_Print_O_6,Print,7 +Disty print,attr_Print_O_7,Print,7 +Dotted,attr_Print_O_8,Print,7 +Floral,attr_Print_O_9,Print,7 +Graphic print,attr_Print_O_10,Print,7 +Logo and slogan,attr_Print_O_11,Print,7 +Patchwork,attr_Print_O_12,Print,7 +Plain,attr_Print_O_13,Print,7 +Plain_dnim,attr_Print_O_14,Print,7 +Stripe,attr_Print_O_15,Print,7 diff --git a/app/service/attribute_recognition/discriptor/dress/7_top_Collar.csv b/app/service/attribute_recognition/discriptor/dress/7_top_Collar.csv index 0fe78a8..a30c014 100644 --- a/app/service/attribute_recognition/discriptor/dress/7_top_Collar.csv +++ b/app/service/attribute_recognition/discriptor/dress/7_top_Collar.csv @@ -1,11 +1,11 @@ labelName,join_attr,taskName,taskId -Peterpan,attr_Collar_1,collar,7 -Shirt,attr_Collar_2,collar,7 -Rib,attr_Collar_3,collar,7 -Turtle,attr_Collar_4,collar,7 -Lapel,attr_Collar_5,collar,7 -Hoodie,attr_Collar_6,collar,7 -Mandarin,attr_Collar_7,collar,7 -Tie,attr_Collar_8,collar,7 -Ruffle,attr_Collar_9,collar,7 -Cowl,attr_Collar_10,collar,7 +Peterpan,attr_Collar_1,Collar,7 +Shirt,attr_Collar_2,Collar,7 +Rib,attr_Collar_3,Collar,7 +Turtle,attr_Collar_4,Collar,7 +Lapel,attr_Collar_5,Collar,7 +Hoodie,attr_Collar_6,Collar,7 +Mandarin,attr_Collar_7,Collar,7 +Tie,attr_Collar_8,Collar,7 +Ruffle,attr_Collar_9,Collar,7 +Cowl,attr_Collar_10,Collar,7 diff --git a/app/service/attribute_recognition/discriptor/dress/8_outer_Material.csv b/app/service/attribute_recognition/discriptor/dress/8_outer_Material.csv index 7303c32..2db5c94 100644 --- a/app/service/attribute_recognition/discriptor/dress/8_outer_Material.csv +++ b/app/service/attribute_recognition/discriptor/dress/8_outer_Material.csv @@ -1,28 +1,28 @@ labelName,join_attr,taskName,taskId -Canvas,attr_Material_O_1,design,8 -Chambray,attr_Material_O_2,design,8 -Chenille,attr_Material_O_3,design,8 -Chiffon,attr_Material_O_4,design,8 -Corduroy,attr_Material_O_5,design,8 -Crepe,attr_Material_O_6,design,8 -Denim,attr_Material_O_7,design,8 -Faux_fur,attr_Material_O_8,design,8 -Faux_leather,attr_Material_O_9,design,8 -Flannel,attr_Material_O_10,design,8 -Fleece,attr_Material_O_11,design,8 -Gingham,attr_Material_O_12,design,8 -Jersey,attr_Material_O_13,design,8 -Knit,attr_Material_O_14,design,8 -Lace,attr_Material_O_15,design,8 -Lawn,attr_Material_O_16,design,8 -Neoprene,attr_Material_O_17,design,8 -Organza,attr_Material_O_18,design,8 -Plush,attr_Material_O_19,design,8 -Satin,attr_Material_O_20,design,8 -Serge,attr_Material_O_21,design,8 -Taffeta,attr_Material_O_22,design,8 -Tulle,attr_Material_O_23,design,8 -Tweed,attr_Material_O_24,design,8 -Twill,attr_Material_O_25,design,8 -Velvet,attr_Material_O_26,design,8 -Vinyl,attr_Material_O_27,design,8 +Canvas,attr_Material_O_1,Material,8 +Chambray,attr_Material_O_2,Material,8 +Chenille,attr_Material_O_3,Material,8 +Chiffon,attr_Material_O_4,Material,8 +Corduroy,attr_Material_O_5,Material,8 +Crepe,attr_Material_O_6,Material,8 +Denim,attr_Material_O_7,Material,8 +Faux_fur,attr_Material_O_8,Material,8 +Faux_leather,attr_Material_O_9,Material,8 +Flannel,attr_Material_O_10,Material,8 +Fleece,attr_Material_O_11,Material,8 +Gingham,attr_Material_O_12,Material,8 +Jersey,attr_Material_O_13,Material,8 +Knit,attr_Material_O_14,Material,8 +Lace,attr_Material_O_15,Material,8 +Lawn,attr_Material_O_16,Material,8 +Neoprene,attr_Material_O_17,Material,8 +Organza,attr_Material_O_18,Material,8 +Plush,attr_Material_O_19,Material,8 +Satin,attr_Material_O_20,Material,8 +Serge,attr_Material_O_21,Material,8 +Taffeta,attr_Material_O_22,Material,8 +Tulle,attr_Material_O_23,Material,8 +Tweed,attr_Material_O_24,Material,8 +Twill,attr_Material_O_25,Material,8 +Velvet,attr_Material_O_26,Material,8 +Vinyl,attr_Material_O_27,Material,8 diff --git a/app/service/attribute_recognition/discriptor/dress/9_dress_Design.csv b/app/service/attribute_recognition/discriptor/dress/9_dress_Design.csv index 644106a..03016b0 100644 --- a/app/service/attribute_recognition/discriptor/dress/9_dress_Design.csv +++ b/app/service/attribute_recognition/discriptor/dress/9_dress_Design.csv @@ -1,19 +1,19 @@ labelName,join_attr,taskName,taskId -Asymmetrical,attr_Design_U_1,design,9 -Tiered,attr_Design_U_2,design,9 -Tassel,attr_Design_U_3,design,9 -Ruffle,attr_Design_U_4,design,9 -Pleated,attr_Design_U_5,design,9 -Wrap,attr_Design_U_6,design,9 -Ripped,attr_Design_U_7,design,9 -Cut out,attr_Design_U_8,design,9 -Eyelet,attr_Design_U_9,design,9 -Folded,attr_Design_U_10,design,9 -Tied,attr_Design_U_11,design,9 -Drapes,attr_Design_U_12,design,9 -Ribbon,attr_Design_U_13,design,9 -Button,attr_Design_U_14,design,9 -Split,attr_Design_U_15,design,9 -Fishtail,attr_Design_U_16,design,9 -Cami dress,attr_Design_U_17,design,9 -Gathering,attr_Design_U_18,design,9 +Asymmetrical,attr_Design_U_1,Design,9 +Tiered,attr_Design_U_2,Design,9 +Tassel,attr_Design_U_3,Design,9 +Ruffle,attr_Design_U_4,Design,9 +Pleated,attr_Design_U_5,Design,9 +Wrap,attr_Design_U_6,Design,9 +Ripped,attr_Design_U_7,Design,9 +Cut out,attr_Design_U_8,Design,9 +Eyelet,attr_Design_U_9,Design,9 +Folded,attr_Design_U_10,Design,9 +Tied,attr_Design_U_11,Design,9 +Drapes,attr_Design_U_12,Design,9 +Ribbon,attr_Design_U_13,Design,9 +Button,attr_Design_U_14,Design,9 +Split,attr_Design_U_15,Design,9 +Fishtail,attr_Design_U_16,Design,9 +Cami dress,attr_Design_U_17,Design,9 +Gathering,attr_Design_U_18,Design,9 diff --git a/app/service/attribute_recognition/discriptor/dress/9_top_Softness.csv b/app/service/attribute_recognition/discriptor/dress/9_top_Softness.csv index 91e8d32..dc8b5f0 100644 --- a/app/service/attribute_recognition/discriptor/dress/9_top_Softness.csv +++ b/app/service/attribute_recognition/discriptor/dress/9_top_Softness.csv @@ -1,4 +1,4 @@ labelName,join_attr,taskName,taskId -Soft,attr_Softness_U_1,softness,9 -Medium,attr_Softness_U_2,softness,9 -Hard,attr_Softness_U_3,softness,9 +Soft,attr_Softness_U_1,Softness,9 +Medium,attr_Softness_U_2,Softness,9 +Hard,attr_Softness_U_3,Softness,9 diff --git a/app/service/attribute_recognition/discriptor/dress/ori10_dress_Design.csv b/app/service/attribute_recognition/discriptor/dress/ori10_dress_Design.csv index af126aa..db0561e 100644 --- a/app/service/attribute_recognition/discriptor/dress/ori10_dress_Design.csv +++ b/app/service/attribute_recognition/discriptor/dress/ori10_dress_Design.csv @@ -1,16 +1,16 @@ labelName,join_attr,taskName,taskId -Asymmetrical,attr_Design_D_1,design,10 -Tiered,attr_Design_D_2,design,10 -Tassel,attr_Design_D_3,design,10 -Ruffle,attr_Design_D_4,design,10 -Pleated,attr_Design_D_5,design,10 -Wrap,attr_Design_D_6,design,10 -Ripped,attr_Design_D_7,design,10 -Cut out,attr_Design_D_8,design,10 -Eyelet,attr_Design_D_9,design,10 -Folded,attr_Design_D_10,design,10 -Tied,attr_Design_D_11,design,10 -Drapes,attr_Design_D_12,design,10 -Ribbon,attr_Design_D_13,design,10 -Button,attr_Design_D_14,design,10 -Gathering,attr_Design_D_15,design,10 +Asymmetrical,attr_Design_D_1,Design,10 +Tiered,attr_Design_D_2,Design,10 +Tassel,attr_Design_D_3,Design,10 +Ruffle,attr_Design_D_4,Design,10 +Pleated,attr_Design_D_5,Design,10 +Wrap,attr_Design_D_6,Design,10 +Ripped,attr_Design_D_7,Design,10 +Cut out,attr_Design_D_8,Design,10 +Eyelet,attr_Design_D_9,Design,10 +Folded,attr_Design_D_10,Design,10 +Tied,attr_Design_D_11,Design,10 +Drapes,attr_Design_D_12,Design,10 +Ribbon,attr_Design_D_13,Design,10 +Button,attr_Design_D_14,Design,10 +Gathering,attr_Design_D_15,Design,10 diff --git a/app/service/attribute_recognition/discriptor/dress/ori11_dress_OPType.csv b/app/service/attribute_recognition/discriptor/dress/ori11_dress_OPType.csv index 0ad7cb7..34be31e 100644 --- a/app/service/attribute_recognition/discriptor/dress/ori11_dress_OPType.csv +++ b/app/service/attribute_recognition/discriptor/dress/ori11_dress_OPType.csv @@ -1,5 +1,5 @@ labelName,join_attr,taskName,taskId -Button,attr_OPType_D_1,opening_type,11 -Zipper,attr_OPType_D_2,opening_type,11 -Thread,attr_OPType_D_3,opening_type,11 -Hook,attr_OPType_D_4,opening_type,11 +Button,attr_OPType_D_1,Opening_Type,11 +Zipper,attr_OPType_D_2,Opening_Type,11 +Thread,attr_OPType_D_3,Opening_Type,11 +Hook,attr_OPType_D_4,Opening_Type,11 diff --git a/app/service/attribute_recognition/discriptor/dress/ori12_dress_Silhouette.csv b/app/service/attribute_recognition/discriptor/dress/ori12_dress_Silhouette.csv index 171b02b..170bd18 100644 --- a/app/service/attribute_recognition/discriptor/dress/ori12_dress_Silhouette.csv +++ b/app/service/attribute_recognition/discriptor/dress/ori12_dress_Silhouette.csv @@ -1,11 +1,11 @@ labelName,join_attr,taskName,taskId -A Line,attr_Silhouette_D_1,Silhouette_D,12 -H Shape,attr_Silhouette_D_2,Silhouette_D,12 -Slim,attr_Silhouette_D_3,Silhouette_D,12 -Oversized,attr_Silhouette_D_4,Silhouette_D,12 -Cacoon,attr_Silhouette_D_5,Silhouette_D,12 -Empire,attr_Silhouette_D_6,Silhouette_D,12 -Hourglass,attr_Silhouette_D_7,Silhouette_D,12 -Mermaid,attr_Silhouette_D_8,Silhouette_D,12 -Sheath,attr_Silhouette_D_9,Silhouette_D,12 -Tent,attr_Silhouette_D_10,silhouette,12 +A Line,attr_Silhouette_D_1,Silhouette,12 +H Shape,attr_Silhouette_D_2,Silhouette,12 +Slim,attr_Silhouette_D_3,Silhouette,12 +Oversized,attr_Silhouette_D_4,Silhouette,12 +Cacoon,attr_Silhouette_D_5,Silhouette,12 +Empire,attr_Silhouette_D_6,Silhouette,12 +Hourglass,attr_Silhouette_D_7,Silhouette,12 +Mermaid,attr_Silhouette_D_8,Silhouette,12 +Sheath,attr_Silhouette_D_9,Silhouette,12 +Tent,attr_Silhouette_D_10,Silhouette,12 diff --git a/app/service/attribute_recognition/discriptor/dress/ori13_dress_Type.csv b/app/service/attribute_recognition/discriptor/dress/ori13_dress_Type.csv index e240ab6..ad55e33 100644 --- a/app/service/attribute_recognition/discriptor/dress/ori13_dress_Type.csv +++ b/app/service/attribute_recognition/discriptor/dress/ori13_dress_Type.csv @@ -1,20 +1,20 @@ labelName,join_attr,taskName,taskId -Evening gown,attr_Dress_Type_1,dress_type,13 -Shirt-dress,attr_Dress_Type_2,dress_type,13 -Coat dress,attr_Dress_Type_3,dress_type,13 -Handkerchief dress,attr_Dress_Type_4,dress_type,13 -Jumper dress,attr_Dress_Type_5,dress_type,13 -Dungaree dress,attr_Dress_Type_6,dress_type,13 -Skater dress,attr_Dress_Type_7,dress_type,13 -Tea dress,attr_Dress_Type_8,dress_type,13 -Mermaid dress,attr_Dress_Type_9,dress_type,13 -Cocktail dress,attr_Dress_Type_10,dress_type,13 -A-Line dress,attr_Dress_Type_11,dress_type,13 -Bodycon dress,attr_Dress_Type_12,dress_type,13 -Maxi dress,attr_Dress_Type_13,dress_type,13 -Office dress,attr_Dress_Type_14,dress_type,13 -Pencil dress,attr_Dress_Type_15,dress_type,13 -Sheer dress,attr_Dress_Type_16,dress_type,13 -Shift dress,attr_Dress_Type_17,dress_type,13 -Slip dress,attr_Dress_Type_18,dress_type,13 -T-shirt dress,attr_Dress_Type_19,dress_type,13 +Evening gown,attr_Dress_Type_1,Silhouette,13 +Shirt-dress,attr_Dress_Type_2,Silhouette,13 +Coat dress,attr_Dress_Type_3,Silhouette,13 +Handkerchief dress,attr_Dress_Type_4,Silhouette,13 +Jumper dress,attr_Dress_Type_5,Silhouette,13 +Dungaree dress,attr_Dress_Type_6,Silhouette,13 +Skater dress,attr_Dress_Type_7,Silhouette,13 +Tea dress,attr_Dress_Type_8,Silhouette,13 +Mermaid dress,attr_Dress_Type_9,Silhouette,13 +Cocktail dress,attr_Dress_Type_10,Silhouette,13 +A-Line dress,attr_Dress_Type_11,Silhouette,13 +Bodycon dress,attr_Dress_Type_12,Silhouette,13 +Maxi dress,attr_Dress_Type_13,Silhouette,13 +Office dress,attr_Dress_Type_14,Silhouette,13 +Pencil dress,attr_Dress_Type_15,Silhouette,13 +Sheer dress,attr_Dress_Type_16,Silhouette,13 +Shift dress,attr_Dress_Type_17,Silhouette,13 +Slip dress,attr_Dress_Type_18,Silhouette,13 +T-shirt dress,attr_Dress_Type_19,Silhouette,13 diff --git a/app/service/attribute_recognition/discriptor/dress/ori1_dress_length.csv b/app/service/attribute_recognition/discriptor/dress/ori1_dress_length.csv index fc07156..9568d0c 100644 --- a/app/service/attribute_recognition/discriptor/dress/ori1_dress_length.csv +++ b/app/service/attribute_recognition/discriptor/dress/ori1_dress_length.csv @@ -1,6 +1,6 @@ labelName,join_attr,taskName,taskId -Maxi,attr_Dress_length_1,dress_length,1 -Midi,attr_Dress_length_2,dress_length,1 -Mini,attr_Dress_length_3,dress_length,1 -Over the knee,attr_Dress_length_4,dress_length,1 -Floor Length,attr_Dress_length_5,dress_length,1 +Maxi,attr_Dress_length_1,Length,1 +Midi,attr_Dress_length_2,Length,1 +Mini,attr_Dress_length_3,Length,1 +Over the knee,attr_Dress_length_4,Length,1 +Floor Length,attr_Dress_length_5,Length,1 diff --git a/app/service/attribute_recognition/discriptor/dress/ori2_dress_Sleeve_length.csv b/app/service/attribute_recognition/discriptor/dress/ori2_dress_Sleeve_length.csv index 0b1667f..14a2dc5 100644 --- a/app/service/attribute_recognition/discriptor/dress/ori2_dress_Sleeve_length.csv +++ b/app/service/attribute_recognition/discriptor/dress/ori2_dress_Sleeve_length.csv @@ -1,6 +1,6 @@ labelName,join_attr,taskName,taskId -Sleeveless,attr_Sleeve_length_D_1,sleeve_length,2 -Short,attr_Sleeve_length_D_2,sleeve_length,2 -Middle,attr_Sleeve_length_D_3,sleeve_length,2 -Seven,attr_Sleeve_length_D_4,sleeve_length,2 -Long,attr_Sleeve_length_D_5,sleeve_length,2 +Sleeveless,attr_Sleeve_length_D_1,Sleeve_Length,2 +Short,attr_Sleeve_length_D_2,Sleeve_Length,2 +Middle,attr_Sleeve_length_D_3,Sleeve_Length,2 +Seven,attr_Sleeve_length_D_4,Sleeve_Length,2 +Long,attr_Sleeve_length_D_5,Sleeve_Length,2 diff --git a/app/service/attribute_recognition/discriptor/dress/ori3_dress_Sleeve_shape.csv b/app/service/attribute_recognition/discriptor/dress/ori3_dress_Sleeve_shape.csv index 245dee2..7277acf 100644 --- a/app/service/attribute_recognition/discriptor/dress/ori3_dress_Sleeve_shape.csv +++ b/app/service/attribute_recognition/discriptor/dress/ori3_dress_Sleeve_shape.csv @@ -1,9 +1,9 @@ labelName,join_attr,taskName,taskId -Regular,attr_Sleeve_shape_D_1,sleeve_shape,3 -Slim,attr_Sleeve_shape_D_2,sleeve_shape,3 -Puff,attr_Sleeve_shape_D_3,sleeve_shape,3 -Bell,attr_Sleeve_shape_D_4,sleeve_shape,3 -Batwing,attr_Sleeve_shape_D_5,sleeve_shape,3 -Shirt,attr_Sleeve_shape_D_6,sleeve_shape,3 -Rib,attr_Sleeve_shape_D_7,sleeve_shape,3 -Raglan,attr_Sleeve_shape_D_8,sleeve_shape,3 +Regular,attr_Sleeve_shape_D_1,Sleeve_Shape,3 +Slim,attr_Sleeve_shape_D_2,Sleeve_Shape,3 +Puff,attr_Sleeve_shape_D_3,Sleeve_Shape,3 +Bell,attr_Sleeve_shape_D_4,Sleeve_Shape,3 +Batwing,attr_Sleeve_shape_D_5,Sleeve_Shape,3 +Shirt,attr_Sleeve_shape_D_6,Sleeve_Shape,3 +Rib,attr_Sleeve_shape_D_7,Sleeve_Shape,3 +Raglan,attr_Sleeve_shape_D_8,Sleeve_Shape,3 diff --git a/app/service/attribute_recognition/discriptor/dress/ori4_dress_Sleeve_shoulder.csv b/app/service/attribute_recognition/discriptor/dress/ori4_dress_Sleeve_shoulder.csv index d989def..36656f8 100644 --- a/app/service/attribute_recognition/discriptor/dress/ori4_dress_Sleeve_shoulder.csv +++ b/app/service/attribute_recognition/discriptor/dress/ori4_dress_Sleeve_shoulder.csv @@ -1,5 +1,5 @@ labelName,join_attr,taskName,taskId -Regular,attr_Sleeve_shoulder_D_1,sleeve_shoulder,4 -Cold,attr_Sleeve_shoulder_D_2,sleeve_shoulder,4 -Tucked,attr_Sleeve_shoulder_D_3,sleeve_shoulder,4 -Balmain,attr_Sleeve_shoulder_D_4,sleeve_shoulder,4 +Regular,attr_Sleeve_shoulder_D_1,Sleeve_Shoulder,4 +Cold,attr_Sleeve_shoulder_D_2,Sleeve_Shoulder,4 +Tucked,attr_Sleeve_shoulder_D_3,Sleeve_Shoulder,4 +Balmain,attr_Sleeve_shoulder_D_4,Sleeve_Shoulder,4 diff --git a/app/service/attribute_recognition/discriptor/dress/ori5_dress_Neckline.csv b/app/service/attribute_recognition/discriptor/dress/ori5_dress_Neckline.csv index 9e8edac..5e76802 100644 --- a/app/service/attribute_recognition/discriptor/dress/ori5_dress_Neckline.csv +++ b/app/service/attribute_recognition/discriptor/dress/ori5_dress_Neckline.csv @@ -1,17 +1,17 @@ labelName,join_attr,taskName,taskId -Round,attr_Neckline_D_1,neckline,5 -V,attr_Neckline_D_2,neckline,5 -Square,attr_Neckline_D_3,neckline,5 -One-shoulder,attr_Neckline_D_4,neckline,5 -Off-shoulder,attr_Neckline_D_5,neckline,5 -Strapless,attr_Neckline_D_6,neckline,5 -Turtle,attr_Neckline_D_7,neckline,5 -Boat,attr_Neckline_D_8,neckline,5 -Halter,attr_Neckline_D_9,neckline,5 -Spaghetti Strap,attr_Neckline_D_10,neckline,5 -Sweetheart,attr_Neckline_D_11,neckline,5 -U,attr_Neckline_D_12,neckline,5 -choker,attr_Neckline_D_13,neckline,5 -cowl,attr_Neckline_D_14,neckline,5 -keyhole,attr_Neckline_D_15,neckline,5 -split,attr_Neckline_D_16,neckline,5 +Round,attr_Neckline_D_1,Neckline,5 +V,attr_Neckline_D_2,Neckline,5 +Square,attr_Neckline_D_3,Neckline,5 +One-shoulder,attr_Neckline_D_4,Neckline,5 +Off-shoulder,attr_Neckline_D_5,Neckline,5 +Strapless,attr_Neckline_D_6,Neckline,5 +Turtle,attr_Neckline_D_7,Neckline,5 +Boat,attr_Neckline_D_8,Neckline,5 +Halter,attr_Neckline_D_9,Neckline,5 +Spaghetti Strap,attr_Neckline_D_10,Neckline,5 +Sweetheart,attr_Neckline_D_11,Neckline,5 +U,attr_Neckline_D_12,Neckline,5 +choker,attr_Neckline_D_13,Neckline,5 +cowl,attr_Neckline_D_14,Neckline,5 +keyhole,attr_Neckline_D_15,Neckline,5 +split,attr_Neckline_D_16,Neckline,5 diff --git a/app/service/attribute_recognition/discriptor/dress/ori6_dress_Collar.csv b/app/service/attribute_recognition/discriptor/dress/ori6_dress_Collar.csv index be6f8a3..0873572 100644 --- a/app/service/attribute_recognition/discriptor/dress/ori6_dress_Collar.csv +++ b/app/service/attribute_recognition/discriptor/dress/ori6_dress_Collar.csv @@ -1,11 +1,11 @@ labelName,join_attr,taskName,taskId -Peterpan-Bertha,attr_Collar_D_1,collar,6 -Shirt,attr_Collar_D_2,collar,6 -Rib,attr_Collar_D_3,collar,6 -Turtle,attr_Collar_D_4,collar,6 -Lapel,attr_Collar_D_5,collar,6 -Hoodie,attr_Collar_D_6,collar,6 -Mandarin,attr_Collar_D_7,collar,6 -Tie,attr_Collar_D_8,collar,6 -Ruffle,attr_Collar_D_9,collar,6 -Cowl,attr_Collar_D_10,collar,6 +Peterpan-Bertha,attr_Collar_D_1,Collar,6 +Shirt,attr_Collar_D_2,Collar,6 +Rib,attr_Collar_D_3,Collar,6 +Turtle,attr_Collar_D_4,Collar,6 +Lapel,attr_Collar_D_5,Collar,6 +Hoodie,attr_Collar_D_6,Collar,6 +Mandarin,attr_Collar_D_7,Collar,6 +Tie,attr_Collar_D_8,Collar,6 +Ruffle,attr_Collar_D_9,Collar,6 +Cowl,attr_Collar_D_10,Collar,6 diff --git a/app/service/attribute_recognition/discriptor/dress/ori7_dress_Print.csv b/app/service/attribute_recognition/discriptor/dress/ori7_dress_Print.csv index d25ebe9..5caa797 100644 --- a/app/service/attribute_recognition/discriptor/dress/ori7_dress_Print.csv +++ b/app/service/attribute_recognition/discriptor/dress/ori7_dress_Print.csv @@ -1,16 +1,16 @@ labelName,join_attr,taskName,taskId -abstract,attr_Print_D_1,print,7 -allover,attr_Print_D_2,print,7 -animal printed,attr_Print_D_3,print,7 -Camouflage,attr_Print_D_4,print,7 -checks,attr_Print_D_5,print,7 -color_block,attr_Print_D_6,print,7 -disty print,attr_Print_D_7,print,7 -dotted,attr_Print_D_8,print,7 -floral,attr_Print_D_9,print,7 -graphic print,attr_Print_D_10,print,7 -logo and slogan print,attr_Print_D_11,print,7 -patchwork,attr_Print_D_12,print,7 -plain,attr_Print_D_13,print,7 -plain_dnim,attr_Print_D_14,print,7 -stripe,attr_Print_D_15,print,7 +abstract,attr_Print_D_1,Print,7 +allover,attr_Print_D_2,Print,7 +animal printed,attr_Print_D_3,Print,7 +Camouflage,attr_Print_D_4,Print,7 +checks,attr_Print_D_5,Print,7 +color_block,attr_Print_D_6,Print,7 +disty print,attr_Print_D_7,Print,7 +dotted,attr_Print_D_8,Print,7 +floral,attr_Print_D_9,Print,7 +graphic print,attr_Print_D_10,Print,7 +logo and slogan print,attr_Print_D_11,Print,7 +patchwork,attr_Print_D_12,Print,7 +plain,attr_Print_D_13,Print,7 +plain_dnim,attr_Print_D_14,Print,7 +stripe,attr_Print_D_15,Print,7 diff --git a/app/service/attribute_recognition/discriptor/dress/ori8_dress_Material.csv b/app/service/attribute_recognition/discriptor/dress/ori8_dress_Material.csv index faa5517..2a05645 100644 --- a/app/service/attribute_recognition/discriptor/dress/ori8_dress_Material.csv +++ b/app/service/attribute_recognition/discriptor/dress/ori8_dress_Material.csv @@ -1,28 +1,28 @@ labelName,join_attr,taskName,taskId -canvas,attr_Material_D_1,material,8 -chambray,attr_Material_D_2,material,8 -chenille,attr_Material_D_3,material,8 -chiffon,attr_Material_D_4,material,8 -corduroy,attr_Material_D_5,material,8 -crepe,attr_Material_D_6,material,8 -denim,attr_Material_D_7,material,8 -faux_fur,attr_Material_D_8,material,8 -faux_leather,attr_Material_D_9,material,8 -flannel,attr_Material_D_10,material,8 -fleece,attr_Material_D_11,material,8 -gingham,attr_Material_D_12,material,8 -jersey,attr_Material_D_13,material,8 -knit,attr_Material_D_14,material,8 -lace,attr_Material_D_15,material,8 -lawn,attr_Material_D_16,material,8 -neoprene,attr_Material_D_17,material,8 -organza,attr_Material_D_18,material,8 -plush,attr_Material_D_19,material,8 -satin,attr_Material_D_20,material,8 -serge,attr_Material_D_21,material,8 -taffeta,attr_Material_D_22,material,8 -tulle,attr_Material_D_23,material,8 -tweed,attr_Material_D_24,material,8 -twill,attr_Material_D_25,material,8 -velvet,attr_Material_D_26,material,8 -vinyl,attr_Material_D_27,material,8 +canvas,attr_Material_D_1,Material,8 +chambray,attr_Material_D_2,Material,8 +chenille,attr_Material_D_3,Material,8 +chiffon,attr_Material_D_4,Material,8 +corduroy,attr_Material_D_5,Material,8 +crepe,attr_Material_D_6,Material,8 +denim,attr_Material_D_7,Material,8 +faux_fur,attr_Material_D_8,Material,8 +faux_leather,attr_Material_D_9,Material,8 +flannel,attr_Material_D_10,Material,8 +fleece,attr_Material_D_11,Material,8 +gingham,attr_Material_D_12,Material,8 +jersey,attr_Material_D_13,Material,8 +knit,attr_Material_D_14,Material,8 +lace,attr_Material_D_15,Material,8 +lawn,attr_Material_D_16,Material,8 +neoprene,attr_Material_D_17,Material,8 +organza,attr_Material_D_18,Material,8 +plush,attr_Material_D_19,Material,8 +satin,attr_Material_D_20,Material,8 +serge,attr_Material_D_21,Material,8 +taffeta,attr_Material_D_22,Material,8 +tulle,attr_Material_D_23,Material,8 +tweed,attr_Material_D_24,Material,8 +twill,attr_Material_D_25,Material,8 +velvet,attr_Material_D_26,Material,8 +vinyl,attr_Material_D_27,Material,8 diff --git a/app/service/attribute_recognition/discriptor/dress/ori9_dress_Softness.csv b/app/service/attribute_recognition/discriptor/dress/ori9_dress_Softness.csv index 8b1f607..4488232 100644 --- a/app/service/attribute_recognition/discriptor/dress/ori9_dress_Softness.csv +++ b/app/service/attribute_recognition/discriptor/dress/ori9_dress_Softness.csv @@ -1,4 +1,4 @@ labelName,join_attr,taskName,taskId -Soft,attr_Softness_D_1,softness,9 -Medium,attr_Softness_D_2,softness,9 -Hard,attr_Softness_D_3,softness,9 +Soft,attr_Softness_D_1,Softness,9 +Medium,attr_Softness_D_2,Softness,9 +Hard,attr_Softness_D_3,Softness,9 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/10_jumsuit_design.csv b/app/service/attribute_recognition/discriptor/jumpsuit/10_jumsuit_design.csv index 770bd28..47d13cf 100644 --- a/app/service/attribute_recognition/discriptor/jumpsuit/10_jumsuit_design.csv +++ b/app/service/attribute_recognition/discriptor/jumpsuit/10_jumsuit_design.csv @@ -1,17 +1,17 @@ labelName,join_attr,taskName,taskId -Asymmetrical,attr_Design_J_1,design,9 -Tassel,attr_Design_J_2,design,9 -Ruffle,attr_Design_J_3,design,9 -Pleated,attr_Design_J_4,design,9 -Wrap,attr_Design_J_5,design,9 -Cut out,attr_Design_J_6,design,9 -Tied,attr_Design_J_7,design,9 -Drapes,attr_Design_J_8,design,9 -Ribbon,attr_Design_J_9,design,9 -Button,attr_Design_J_10,design,9 -Cami,attr_Design_J_11,design,9 -Gathering,attr_Design_J_12,design,9 -Pocket,attr_Design_J_13,design,9 -Dungaree,attr_Design_J_14,design,9 -Layering,attr_Design_J_15,design,9 -Belted,attr_Design_J_16,design,9 +Asymmetrical,attr_Design_J_1,Design,9 +Tassel,attr_Design_J_2,Design,9 +Ruffle,attr_Design_J_3,Design,9 +Pleated,attr_Design_J_4,Design,9 +Wrap,attr_Design_J_5,Design,9 +Cut out,attr_Design_J_6,Design,9 +Tied,attr_Design_J_7,Design,9 +Drapes,attr_Design_J_8,Design,9 +Ribbon,attr_Design_J_9,Design,9 +Button,attr_Design_J_10,Design,9 +Cami,attr_Design_J_11,Design,9 +Gathering,attr_Design_J_12,Design,9 +Pocket,attr_Design_J_13,Design,9 +Dungaree,attr_Design_J_14,Design,9 +Layering,attr_Design_J_15,Design,9 +Belted,attr_Design_J_16,Design,9 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/11_jumpsuit_OPType.csv b/app/service/attribute_recognition/discriptor/jumpsuit/11_jumpsuit_OPType.csv index 44c67a1..7e8fa63 100644 --- a/app/service/attribute_recognition/discriptor/jumpsuit/11_jumpsuit_OPType.csv +++ b/app/service/attribute_recognition/discriptor/jumpsuit/11_jumpsuit_OPType.csv @@ -1,5 +1,5 @@ labelName,join_attr,taskName,taskId -Button,attr_OPType_J_1,opening_type,11 -Zipper,attr_OPType_J_2,opening_type,11 -Thread,attr_OPType_J_3,opening_type,11 -Hook,attr_OPType_J_4,opening_type,11 +Button,attr_OPType_J_1,Opening_Type,11 +Zipper,attr_OPType_J_2,Opening_Type,11 +Thread,attr_OPType_J_3,Opening_Type,11 +Hook,attr_OPType_J_4,Opening_Type,11 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/12_jumpsuit_subtype.csv b/app/service/attribute_recognition/discriptor/jumpsuit/12_jumpsuit_subtype.csv index 9228bc1..4b9511b 100644 --- a/app/service/attribute_recognition/discriptor/jumpsuit/12_jumpsuit_subtype.csv +++ b/app/service/attribute_recognition/discriptor/jumpsuit/12_jumpsuit_subtype.csv @@ -1,6 +1,6 @@ labelName,join_attr,taskName,taskId -Peg leg,attr_Jumpsuit_subtype_1,jumpsuit_subtype,12 -Straight leg,attr_Jumpsuit_subtype_2,jumpsuit_subtype,12 -Wide leg,attr_Jumpsuit_subtype_3,jumpsuit_subtype,12 -Boot-cut flare,attr_Jumpsuit_subtype_4,jumpsuit_subtype,12 -Slim fit,attr_Jumpsuit_subtype_5,jumpsuit_subtype,12 +Peg leg,attr_Jumpsuit_subtype_1,Jumpsuit_Subtype,12 +Straight leg,attr_Jumpsuit_subtype_2,Jumpsuit_Subtype,12 +Wide leg,attr_Jumpsuit_subtype_3,Jumpsuit_Subtype,12 +Boot-cut flare,attr_Jumpsuit_subtype_4,Jumpsuit_Subtype,12 +Slim fit,attr_Jumpsuit_subtype_5,Jumpsuit_Subtype,12 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/1_jumsuit_length.csv b/app/service/attribute_recognition/discriptor/jumpsuit/1_jumsuit_length.csv index adbd6f5..8173879 100644 --- a/app/service/attribute_recognition/discriptor/jumpsuit/1_jumsuit_length.csv +++ b/app/service/attribute_recognition/discriptor/jumpsuit/1_jumsuit_length.csv @@ -1,6 +1,6 @@ labelName,join_attr,taskName,taskId -Short,attr_Jumpsuit_length_1,jumpsuit_length,1 -Middle,attr_Jumpsuit_length_2,jumpsuit_length,1 -Seven,attr_Jumpsuit_length_3,jumpsuit_length,1 -Nine,attr_Jumpsuit_length_4,jumpsuit_length,1 -Long,attr_Jumpsuit_length_5,jumpsuit_length,1 +Short,attr_Jumpsuit_length_1,Jumpsuit_Length,1 +Middle,attr_Jumpsuit_length_2,Jumpsuit_Length,1 +Seven,attr_Jumpsuit_length_3,Jumpsuit_Length,1 +Nine,attr_Jumpsuit_length_4,Jumpsuit_Length,1 +Long,attr_Jumpsuit_length_5,Jumpsuit_Length,1 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/2_jumpsuit_Sleeve_length.csv b/app/service/attribute_recognition/discriptor/jumpsuit/2_jumpsuit_Sleeve_length.csv index 6404221..7d77d7a 100644 --- a/app/service/attribute_recognition/discriptor/jumpsuit/2_jumpsuit_Sleeve_length.csv +++ b/app/service/attribute_recognition/discriptor/jumpsuit/2_jumpsuit_Sleeve_length.csv @@ -1,6 +1,6 @@ labelName,join_attr,taskName,taskId -Sleeveless,attr_Sleeve_length_J_1,sleeve_length,2 -Short,attr_Sleeve_length_J_2,sleeve_length,2 -Middle,attr_Sleeve_length_J_3,sleeve_length,2 -Seven,attr_Sleeve_length_J_4,sleeve_length,2 -Long,attr_Sleeve_length_J_5,sleeve_length,2 +Sleeveless,attr_Sleeve_length_J_1,Sleeve_Length,2 +Short,attr_Sleeve_length_J_2,Sleeve_Length,2 +Middle,attr_Sleeve_length_J_3,Sleeve_Length,2 +Seven,attr_Sleeve_length_J_4,Sleeve_Length,2 +Long,attr_Sleeve_length_J_5,Sleeve_Length,2 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/3_jumpsuit_Sleeve_shape.csv b/app/service/attribute_recognition/discriptor/jumpsuit/3_jumpsuit_Sleeve_shape.csv index b02dc76..17a1c67 100644 --- a/app/service/attribute_recognition/discriptor/jumpsuit/3_jumpsuit_Sleeve_shape.csv +++ b/app/service/attribute_recognition/discriptor/jumpsuit/3_jumpsuit_Sleeve_shape.csv @@ -1,9 +1,9 @@ labelName,join_attr,taskName,taskId -Regular,attr_Sleeve_shape_J_1,sleeve_shape,3 -Slim,attr_Sleeve_shape_J_2,sleeve_shape,3 -Puff,attr_Sleeve_shape_J_3,sleeve_shape,3 -Bell,attr_Sleeve_shape_J_4,sleeve_shape,3 -Batwing,attr_Sleeve_shape_J_5,sleeve_shape,3 -Shirt,attr_Sleeve_shape_J_6,sleeve_shape,3 -Rib,attr_Sleeve_shape_J_7,sleeve_shape,3 -Raglan,attr_Sleeve_shape_J_8,sleeve_shape,3 +Regular,attr_Sleeve_shape_J_1,Sleeve_Length,3 +Slim,attr_Sleeve_shape_J_2,Sleeve_Length,3 +Puff,attr_Sleeve_shape_J_3,Sleeve_Length,3 +Bell,attr_Sleeve_shape_J_4,Sleeve_Length,3 +Batwing,attr_Sleeve_shape_J_5,Sleeve_Length,3 +Shirt,attr_Sleeve_shape_J_6,Sleeve_Length,3 +Rib,attr_Sleeve_shape_J_7,Sleeve_Length,3 +Raglan,attr_Sleeve_shape_J_8,Sleeve_Length,3 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/4_jumpsuit_Sleeve_shoulder.csv b/app/service/attribute_recognition/discriptor/jumpsuit/4_jumpsuit_Sleeve_shoulder.csv index 2baec40..47e067a 100644 --- a/app/service/attribute_recognition/discriptor/jumpsuit/4_jumpsuit_Sleeve_shoulder.csv +++ b/app/service/attribute_recognition/discriptor/jumpsuit/4_jumpsuit_Sleeve_shoulder.csv @@ -1,5 +1,5 @@ labelName,join_attr,taskName,taskId -Regular,attr_Sleeve_shoulder_J_1,sleeve_shoulder,4 -Cold,attr_Sleeve_shoulder_J_2,sleeve_shoulder,4 -Tucked,attr_Sleeve_shoulder_J_3,sleeve_shoulder,4 -Balmain,attr_Sleeve_shoulder_J_4,sleeve_shoulder,4 +Regular,attr_Sleeve_shoulder_J_1,Sleeve_Shoulder,4 +Cold,attr_Sleeve_shoulder_J_2,Sleeve_Shoulder,4 +Tucked,attr_Sleeve_shoulder_J_3,Sleeve_Shoulder,4 +Balmain,attr_Sleeve_shoulder_J_4,Sleeve_Shoulder,4 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/5_jumpsuit_Neckline.csv b/app/service/attribute_recognition/discriptor/jumpsuit/5_jumpsuit_Neckline.csv index 4b18420..30c1420 100644 --- a/app/service/attribute_recognition/discriptor/jumpsuit/5_jumpsuit_Neckline.csv +++ b/app/service/attribute_recognition/discriptor/jumpsuit/5_jumpsuit_Neckline.csv @@ -1,7 +1,7 @@ labelName,join_attr,taskName,taskId -Round,attr_Neckline_1,neckline,6 -V,attr_Neckline_2,neckline,6 -Square,attr_Neckline_3,neckline,6 -One-shoulder,attr_Neckline_4,neckline,6 -Off-shoulder,attr_Neckline_5,neckline,6 -Strapless,attr_Neckline_6,neckline,6 +Round,attr_Neckline_1,Neckline,6 +V,attr_Neckline_2,Neckline,6 +Square,attr_Neckline_3,Neckline,6 +One-shoulder,attr_Neckline_4,Neckline,6 +Off-shoulder,attr_Neckline_5,Neckline,6 +Strapless,attr_Neckline_6,Neckline,6 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/6_jumpsuit_Collar.csv b/app/service/attribute_recognition/discriptor/jumpsuit/6_jumpsuit_Collar.csv index 7fffe01..a154c21 100644 --- a/app/service/attribute_recognition/discriptor/jumpsuit/6_jumpsuit_Collar.csv +++ b/app/service/attribute_recognition/discriptor/jumpsuit/6_jumpsuit_Collar.csv @@ -1,11 +1,11 @@ labelName,join_attr,taskName,taskId -Peterpan,attr_Collar_J_1,collar,6 -Shirt,attr_Collar_J_2,collar,6 -Rib,attr_Collar_J_3,collar,6 -Turtle,attr_Collar_J_4,collar,6 -Lapel,attr_Collar_J_5,collar,6 -Hoodie,attr_Collar_J_6,collar,6 -Mandarin,attr_Collar_J_7,collar,6 -Tie,attr_Collar_J_8,collar,6 -Ruffle,attr_Collar_J_9,collar,6 -Cowl,attr_Collar_J_10,collar,6 +Peterpan,attr_Collar_J_1,Collar,6 +Shirt,attr_Collar_J_2,Collar,6 +Rib,attr_Collar_J_3,Collar,6 +Turtle,attr_Collar_J_4,Collar,6 +Lapel,attr_Collar_J_5,Collar,6 +Hoodie,attr_Collar_J_6,Collar,6 +Mandarin,attr_Collar_J_7,Collar,6 +Tie,attr_Collar_J_8,Collar,6 +Ruffle,attr_Collar_J_9,Collar,6 +Cowl,attr_Collar_J_10,Collar,6 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/7_jumpsuit_Print.csv b/app/service/attribute_recognition/discriptor/jumpsuit/7_jumpsuit_Print.csv index 9f7db68..4e3e285 100644 --- a/app/service/attribute_recognition/discriptor/jumpsuit/7_jumpsuit_Print.csv +++ b/app/service/attribute_recognition/discriptor/jumpsuit/7_jumpsuit_Print.csv @@ -1,16 +1,16 @@ labelName,join_attr,taskName,taskId -Abstract,attr_Print_J_1,print,7 -Allover,attr_Print_J_2,print,7 -Animal,attr_Print_J_3,print,7 -Camouflage,attr_Print_J_4,print,7 -Checks,attr_Print_J_5,print,7 -Color_block,attr_Print_J_6,print,7 -Disty print,attr_Print_J_7,print,7 -Dotted,attr_Print_J_8,print,7 -Floral,attr_Print_J_9,print,7 -Graphic print,attr_Print_J_10,print,7 -Logo and slogan,attr_Print_J_11,print,7 -Patchwork,attr_Print_J_12,print,7 -Plain,attr_Print_J_13,print,7 -Plain_dnim,attr_Print_J_14,print,7 -Stripe,attr_Print_J_15,print,7 +Abstract,attr_Print_J_1,Print,7 +Allover,attr_Print_J_2,Print,7 +Animal,attr_Print_J_3,Print,7 +Camouflage,attr_Print_J_4,Print,7 +Checks,attr_Print_J_5,Print,7 +Color_block,attr_Print_J_6,Print,7 +Disty Print,attr_Print_J_7,Print,7 +Dotted,attr_Print_J_8,Print,7 +Floral,attr_Print_J_9,Print,7 +Graphic Print,attr_Print_J_10,Print,7 +Logo and slogan,attr_Print_J_11,Print,7 +Patchwork,attr_Print_J_12,Print,7 +Plain,attr_Print_J_13,Print,7 +Plain_dnim,attr_Print_J_14,Print,7 +Stripe,attr_Print_J_15,Print,7 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/8_jumpsuit_Material.csv b/app/service/attribute_recognition/discriptor/jumpsuit/8_jumpsuit_Material.csv index 259fd8d..558e700 100644 --- a/app/service/attribute_recognition/discriptor/jumpsuit/8_jumpsuit_Material.csv +++ b/app/service/attribute_recognition/discriptor/jumpsuit/8_jumpsuit_Material.csv @@ -1,28 +1,28 @@ labelName,join_attr,taskName,taskId -Canvas,attr_Material_J_1,material,8 -Chambray,attr_Material_J_2,material,8 -Chenille,attr_Material_J_3,material,8 -Chiffon,attr_Material_J_4,material,8 -Corduroy,attr_Material_J_5,material,8 -Crepe,attr_Material_J_6,material,8 -Denim,attr_Material_J_7,material,8 -Faux_fur,attr_Material_J_8,material,8 -Faux_leather,attr_Material_J_9,material,8 -Flannel,attr_Material_J_10,material,8 -Fleece,attr_Material_J_11,material,8 -Gingham,attr_Material_J_12,material,8 -Jersey,attr_Material_J_13,material,8 -Knit,attr_Material_J_14,material,8 -Lace,attr_Material_J_15,material,8 -Lawn,attr_Material_J_16,material,8 -Neoprene,attr_Material_J_17,material,8 -Organza,attr_Material_J_18,material,8 -Plush,attr_Material_J_19,material,8 -Satin,attr_Material_J_20,material,8 -Serge,attr_Material_J_21,material,8 -Taffeta,attr_Material_J_22,material,8 -Tulle,attr_Material_J_23,material,8 -Tweed,attr_Material_J_24,material,8 -Twill,attr_Material_J_25,material,8 -Velvet,attr_Material_J_26,material,8 -Vinyl,attr_Material_J_27,material,8 +Canvas,attr_Material_J_1,Material,8 +Chambray,attr_Material_J_2,Material,8 +Chenille,attr_Material_J_3,Material,8 +Chiffon,attr_Material_J_4,Material,8 +Corduroy,attr_Material_J_5,Material,8 +Crepe,attr_Material_J_6,Material,8 +Denim,attr_Material_J_7,Material,8 +Faux_fur,attr_Material_J_8,Material,8 +Faux_leather,attr_Material_J_9,Material,8 +Flannel,attr_Material_J_10,Material,8 +Fleece,attr_Material_J_11,Material,8 +Gingham,attr_Material_J_12,Material,8 +Jersey,attr_Material_J_13,Material,8 +Knit,attr_Material_J_14,Material,8 +Lace,attr_Material_J_15,Material,8 +Lawn,attr_Material_J_16,Material,8 +Neoprene,attr_Material_J_17,Material,8 +Organza,attr_Material_J_18,Material,8 +Plush,attr_Material_J_19,Material,8 +Satin,attr_Material_J_20,Material,8 +Serge,attr_Material_J_21,Material,8 +Taffeta,attr_Material_J_22,Material,8 +Tulle,attr_Material_J_23,Material,8 +Tweed,attr_Material_J_24,Material,8 +Twill,attr_Material_J_25,Material,8 +Velvet,attr_Material_J_26,Material,8 +Vinyl,attr_Material_J_27,Material,8 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/9_jumpsuit_Softness.csv b/app/service/attribute_recognition/discriptor/jumpsuit/9_jumpsuit_Softness.csv index 48fd593..c1aa4d3 100644 --- a/app/service/attribute_recognition/discriptor/jumpsuit/9_jumpsuit_Softness.csv +++ b/app/service/attribute_recognition/discriptor/jumpsuit/9_jumpsuit_Softness.csv @@ -1,4 +1,4 @@ labelName,join_attr,taskName,taskId -Soft,attr_Softness_J_1,softness,9 -Medium,attr_Softness_J_2,softness,9 -Hard,attr_Softness_J_3,softness,9 +Soft,attr_Softness_J_1,Softness,9 +Medium,attr_Softness_J_2,Softness,9 +Hard,attr_Softness_J_3,Softness,9 diff --git a/app/service/attribute_recognition/discriptor/outwear/10_outer_Design.csv b/app/service/attribute_recognition/discriptor/outwear/10_outer_Design.csv index 0371e39..61b4cd1 100644 --- a/app/service/attribute_recognition/discriptor/outwear/10_outer_Design.csv +++ b/app/service/attribute_recognition/discriptor/outwear/10_outer_Design.csv @@ -1,19 +1,19 @@ labelName,join_attr,taskName,taskId -Asymmetrical,attr_Design_O_1,design,10 -Tiered,attr_Design_O_2,design,10 -Tassel,attr_Design_O_3,design,10 -Ruffles,attr_Design_O_4,design,10 -Pleated,attr_Design_O_5,design,10 -Wrap,attr_Design_O_6,design,10 -Ripped,attr_Design_O_7,design,10 -Cut out,attr_Design_O_8,design,10 -Eyelet,attr_Design_O_9,design,10 -Folded,attr_Design_O_10,design,10 -Tied,attr_Design_O_11,design,10 -Drapes,attr_Design_O_12,design,10 -Ribbon,attr_Design_O_13,design,10 -Button,attr_Design_O_14,design,10 -Crossed-over zipper,attr_Design_O_15,design,10 -Crossed-over button,attr_Design_O_16,design,10 -Single breasted,attr_Design_O_17,design,10 -Double breasted,attr_Design_O_18,design,10 +Asymmetrical,attr_Design_O_1,Design,10 +Tiered,attr_Design_O_2,Design,10 +Tassel,attr_Design_O_3,Design,10 +Ruffles,attr_Design_O_4,Design,10 +Pleated,attr_Design_O_5,Design,10 +Wrap,attr_Design_O_6,Design,10 +Ripped,attr_Design_O_7,Design,10 +Cut out,attr_Design_O_8,Design,10 +Eyelet,attr_Design_O_9,Design,10 +Folded,attr_Design_O_10,Design,10 +Tied,attr_Design_O_11,Design,10 +Drapes,attr_Design_O_12,Design,10 +Ribbon,attr_Design_O_13,Design,10 +Button,attr_Design_O_14,Design,10 +Crossed-over zipper,attr_Design_O_15,Design,10 +Crossed-over button,attr_Design_O_16,Design,10 +Single breasted,attr_Design_O_17,Design,10 +Double breasted,attr_Design_O_18,Design,10 diff --git a/app/service/attribute_recognition/discriptor/outwear/11_outer_opening.csv b/app/service/attribute_recognition/discriptor/outwear/11_outer_opening.csv index 9df222c..53d0d42 100644 --- a/app/service/attribute_recognition/discriptor/outwear/11_outer_opening.csv +++ b/app/service/attribute_recognition/discriptor/outwear/11_outer_opening.csv @@ -1,3 +1,3 @@ labelName,join_attr,taskName,taskId -Full,attr_Opening_O_1,opening,11 -Half,attr_Opening_O_2,opening,11 +Full,attr_Opening_O_1,Opening,11 +Half,attr_Opening_O_2,Opening,11 diff --git a/app/service/attribute_recognition/discriptor/outwear/12_outer_OPType.csv b/app/service/attribute_recognition/discriptor/outwear/12_outer_OPType.csv index 1655f04..3e4ee2c 100644 --- a/app/service/attribute_recognition/discriptor/outwear/12_outer_OPType.csv +++ b/app/service/attribute_recognition/discriptor/outwear/12_outer_OPType.csv @@ -1,5 +1,5 @@ labelName,join_attr,taskName,taskId -Button,attr_OPType_O_1,opening_type,12 -Zipper,attr_OPType_O_2,opening_type,12 -Thread,attr_OPType_O_3,opening_type,12 -Hook,attr_OPType_O_4,opening_type,12 +Button,attr_OPType_O_1,Opening_Type,12 +Zipper,attr_OPType_O_2,Opening_Type,12 +Thread,attr_OPType_O_3,Opening_Type,12 +Hook,attr_OPType_O_4,Opening_Type,12 diff --git a/app/service/attribute_recognition/discriptor/outwear/13_outer_Silhouette.csv b/app/service/attribute_recognition/discriptor/outwear/13_outer_Silhouette.csv index ac76cd7..7d2c201 100644 --- a/app/service/attribute_recognition/discriptor/outwear/13_outer_Silhouette.csv +++ b/app/service/attribute_recognition/discriptor/outwear/13_outer_Silhouette.csv @@ -1,7 +1,7 @@ labelName,join_attr,taskName,taskId -A Line,attr_Silhouette_O_1,silhouette,13 -H Shape,attr_Silhouette_O_2,silhouette,13 -Slim,attr_Silhouette_O_3,silhouette,13 -Flyman,attr_Silhouette_O_4,silhouette,13 -Peplum,attr_Silhouette_O_5,silhouette,13 -Oversize,attr_Silhouette_O_6,silhouette,13 +A Line,attr_Silhouette_O_1,Silhouette,13 +H Shape,attr_Silhouette_O_2,Silhouette,13 +Slim,attr_Silhouette_O_3,Silhouette,13 +Flyman,attr_Silhouette_O_4,Silhouette,13 +Peplum,attr_Silhouette_O_5,Silhouette,13 +Oversize,attr_Silhouette_O_6,Silhouette,13 diff --git a/app/service/attribute_recognition/discriptor/outwear/1_outer_length.csv b/app/service/attribute_recognition/discriptor/outwear/1_outer_length.csv index 60c22bc..3784c37 100644 --- a/app/service/attribute_recognition/discriptor/outwear/1_outer_length.csv +++ b/app/service/attribute_recognition/discriptor/outwear/1_outer_length.csv @@ -1,4 +1,4 @@ labelName,join_attr,taskName,taskId -Short,attr_Outer_length_1,length,1 -Regular,attr_Outer_length_2,length,1 -Long,attr_Outer_length_3,length,1 \ No newline at end of file +Short,attr_Outer_length_1,Length,1 +Regular,attr_Outer_length_2,Length,1 +Long,attr_Outer_length_3,Length,1 \ No newline at end of file diff --git a/app/service/attribute_recognition/discriptor/outwear/2_outer_type.csv b/app/service/attribute_recognition/discriptor/outwear/2_outer_type.csv index 60b6ae5..926450c 100644 --- a/app/service/attribute_recognition/discriptor/outwear/2_outer_type.csv +++ b/app/service/attribute_recognition/discriptor/outwear/2_outer_type.csv @@ -1,18 +1,18 @@ labelName,join_attr,taskName,taskId -Coat,attr_Outer_type_1,Type,2 -Trench,attr_Outer_type_2,Type,2 -Baseball jacket,attr_Outer_type_3,Type,2 -Hoodie jacket,attr_Outer_type_4,Type,2 -Active jacket,attr_Outer_type_5,Type,2 -Jacket,attr_Outer_type_6,Type,2 -Blazer,attr_Outer_type_7,Type,2 -Cardigan,attr_Outer_type_8,Type,2 -Capes,attr_Outer_type_9,Type,2 -Fleeces Jacket,attr_Outer_type_10,Type,2 -Gilets/Puffer,attr_Outer_type_11,Type,2 -Aviator jacket,attr_Outer_type_12,Type,2 -Biker jacket,attr_Outer_type_13,Type,2 -Pea coat,attr_Outer_type_14,Type,2 -Shacket,attr_Outer_type_15,Type,2 -Denim jacket,attr_Outer_type_16,Type,2 -Raincoat,attr_Outer_type_17,Type,2 +Coat,attr_Outer_type_1,Silhouette,2 +Trench,attr_Outer_type_2,Silhouette,2 +Baseball jacket,attr_Outer_type_3,Silhouette,2 +Hoodie jacket,attr_Outer_type_4,Silhouette,2 +Active jacket,attr_Outer_type_5,Silhouette,2 +Jacket,attr_Outer_type_6,Silhouette,2 +Blazer,attr_Outer_type_7,Silhouette,2 +Cardigan,attr_Outer_type_8,Silhouette,2 +Capes,attr_Outer_type_9,Silhouette,2 +Fleeces Jacket,attr_Outer_type_10,Silhouette,2 +Gilets/Puffer,attr_Outer_type_11,Silhouette,2 +Aviator jacket,attr_Outer_type_12,Silhouette,2 +Biker jacket,attr_Outer_type_13,Silhouette,2 +Pea coat,attr_Outer_type_14,Silhouette,2 +Shacket,attr_Outer_type_15,Silhouette,2 +Denim jacket,attr_Outer_type_16,Silhouette,2 +Raincoat,attr_Outer_type_17,Silhouette,2 diff --git a/app/service/attribute_recognition/discriptor/outwear/3_outer_sleeve_length.csv b/app/service/attribute_recognition/discriptor/outwear/3_outer_sleeve_length.csv index 7d2df69..8e35b85 100644 --- a/app/service/attribute_recognition/discriptor/outwear/3_outer_sleeve_length.csv +++ b/app/service/attribute_recognition/discriptor/outwear/3_outer_sleeve_length.csv @@ -1,6 +1,6 @@ labelName,join_attr,taskName,taskId -Sleeveless,attr_sleeve_length_1,sleeve_length,3 -Short,attr_sleeve_length_2,sleeve_length,3 -Middle,attr_sleeve_length_3,sleeve_length,3 -Seven,attr_sleeve_length_4,sleeve_length,3 -Long,attr_sleeve_length_5,sleeve_length,3 +Sleeveless,attr_sleeve_length_1,Sleeve_Length,3 +Short,attr_sleeve_length_2,Sleeve_Length,3 +Middle,attr_sleeve_length_3,Sleeve_Length,3 +Seven,attr_sleeve_length_4,Sleeve_Length,3 +Long,attr_sleeve_length_5,Sleeve_Length,3 diff --git a/app/service/attribute_recognition/discriptor/outwear/4_outer_sleeve_shape.csv b/app/service/attribute_recognition/discriptor/outwear/4_outer_sleeve_shape.csv index f5178df..4e8f770 100644 --- a/app/service/attribute_recognition/discriptor/outwear/4_outer_sleeve_shape.csv +++ b/app/service/attribute_recognition/discriptor/outwear/4_outer_sleeve_shape.csv @@ -1,9 +1,9 @@ labelName,join_attr,taskName,taskId -Regular,attr_sleeve_shape_O_1,sleeve_shape,4 -Slim,attr_sleeve_shape_O_2,sleeve_shape,4 -Puff,attr_sleeve_shape_O_3,sleeve_shape,4 -Bell,attr_sleeve_shape_O_4,sleeve_shape,4 -Batwing,attr_sleeve_shape_O_5,sleeve_shape,4 -Shirt,attr_sleeve_shape_O_6,sleeve_shape,4 -Rib,attr_sleeve_shape_O_7,sleeve_shape,4 -Raglan,attr_sleeve_shape_O_8,sleeve_shape,4 +Regular,attr_sleeve_shape_O_1,Sleeve_Shape,4 +Slim,attr_sleeve_shape_O_2,Sleeve_Shape,4 +Puff,attr_sleeve_shape_O_3,Sleeve_Shape,4 +Bell,attr_sleeve_shape_O_4,Sleeve_Shape,4 +Batwing,attr_sleeve_shape_O_5,Sleeve_Shape,4 +Shirt,attr_sleeve_shape_O_6,Sleeve_Shape,4 +Rib,attr_sleeve_shape_O_7,Sleeve_Shape,4 +Raglan,attr_sleeve_shape_O_8,Sleeve_Shape,4 diff --git a/app/service/attribute_recognition/discriptor/outwear/5_outer_sleeve_shoulder.csv b/app/service/attribute_recognition/discriptor/outwear/5_outer_sleeve_shoulder.csv index cf65b63..3e421d0 100644 --- a/app/service/attribute_recognition/discriptor/outwear/5_outer_sleeve_shoulder.csv +++ b/app/service/attribute_recognition/discriptor/outwear/5_outer_sleeve_shoulder.csv @@ -1,6 +1,6 @@ labelName,join_attr,taskName,taskId -Regular,attr_sleeve_shoulder_O_1,sleeve_shoulder,5 -Cold,attr_sleeve_shoulder_O_2,sleeve_shoulder,5 -Tucked,attr_sleeve_shoulder_O_3,sleeve_shoulder,5 -Balmain,attr_sleeve_shoulder_O_4,sleeve_shoulder,5 -Drop Shoulder,attr_sleeve_shoulder_O_5,sleeve_shoulder,5 +Regular,attr_sleeve_shoulder_O_1,Sleeve_Shoulder,5 +Cold,attr_sleeve_shoulder_O_2,Sleeve_Shoulder,5 +Tucked,attr_sleeve_shoulder_O_3,Sleeve_Shoulder,5 +Balmain,attr_sleeve_shoulder_O_4,Sleeve_Shoulder,5 +Drop Shoulder,attr_sleeve_shoulder_O_5,Sleeve_Shoulder,5 diff --git a/app/service/attribute_recognition/discriptor/outwear/6_outer_Collar.csv b/app/service/attribute_recognition/discriptor/outwear/6_outer_Collar.csv index 63c76e7..e261e15 100644 --- a/app/service/attribute_recognition/discriptor/outwear/6_outer_Collar.csv +++ b/app/service/attribute_recognition/discriptor/outwear/6_outer_Collar.csv @@ -1,10 +1,10 @@ labelName,join_attr,taskName,taskId -Peterpan,attr_Callar_O_1,collar,6 -Shirt,attr_Callar_O_2,collar,6 -Rib,attr_Callar_O_3,collar,6 -Turtle,attr_Callar_O_4,collar,6 -Lapel,attr_Callar_O_5,collar,6 -Hoodie,attr_Callar_O_6,collar,6 -Mandarin,attr_Callar_O_7,collar,6 -Ruffle,attr_Callar_O_8,collar,6 -Jewel,attr_Callar_O_9,collar,6 +Peterpan,attr_Callar_O_1,Collar,6 +Shirt,attr_Callar_O_2,Collar,6 +Rib,attr_Callar_O_3,Collar,6 +Turtle,attr_Callar_O_4,Collar,6 +Lapel,attr_Callar_O_5,Collar,6 +Hoodie,attr_Callar_O_6,Collar,6 +Mandarin,attr_Callar_O_7,Collar,6 +Ruffle,attr_Callar_O_8,Collar,6 +Jewel,attr_Callar_O_9,Collar,6 diff --git a/app/service/attribute_recognition/discriptor/outwear/8_outer_Material.csv b/app/service/attribute_recognition/discriptor/outwear/8_outer_Material.csv index 66c4555..2db5c94 100644 --- a/app/service/attribute_recognition/discriptor/outwear/8_outer_Material.csv +++ b/app/service/attribute_recognition/discriptor/outwear/8_outer_Material.csv @@ -1,28 +1,28 @@ labelName,join_attr,taskName,taskId -Canvas,attr_Material_O_1,material,8 -Chambray,attr_Material_O_2,material,8 -Chenille,attr_Material_O_3,material,8 -Chiffon,attr_Material_O_4,material,8 -Corduroy,attr_Material_O_5,material,8 -Crepe,attr_Material_O_6,material,8 -Denim,attr_Material_O_7,material,8 -Faux_fur,attr_Material_O_8,material,8 -Faux_leather,attr_Material_O_9,material,8 -Flannel,attr_Material_O_10,material,8 -Fleece,attr_Material_O_11,material,8 -Gingham,attr_Material_O_12,material,8 -Jersey,attr_Material_O_13,material,8 -Knit,attr_Material_O_14,material,8 -Lace,attr_Material_O_15,material,8 -Lawn,attr_Material_O_16,material,8 -Neoprene,attr_Material_O_17,material,8 -Organza,attr_Material_O_18,material,8 -Plush,attr_Material_O_19,material,8 -Satin,attr_Material_O_20,material,8 -Serge,attr_Material_O_21,material,8 -Taffeta,attr_Material_O_22,material,8 -Tulle,attr_Material_O_23,material,8 -Tweed,attr_Material_O_24,material,8 -Twill,attr_Material_O_25,material,8 -Velvet,attr_Material_O_26,material,8 -Vinyl,attr_Material_O_27,material,8 +Canvas,attr_Material_O_1,Material,8 +Chambray,attr_Material_O_2,Material,8 +Chenille,attr_Material_O_3,Material,8 +Chiffon,attr_Material_O_4,Material,8 +Corduroy,attr_Material_O_5,Material,8 +Crepe,attr_Material_O_6,Material,8 +Denim,attr_Material_O_7,Material,8 +Faux_fur,attr_Material_O_8,Material,8 +Faux_leather,attr_Material_O_9,Material,8 +Flannel,attr_Material_O_10,Material,8 +Fleece,attr_Material_O_11,Material,8 +Gingham,attr_Material_O_12,Material,8 +Jersey,attr_Material_O_13,Material,8 +Knit,attr_Material_O_14,Material,8 +Lace,attr_Material_O_15,Material,8 +Lawn,attr_Material_O_16,Material,8 +Neoprene,attr_Material_O_17,Material,8 +Organza,attr_Material_O_18,Material,8 +Plush,attr_Material_O_19,Material,8 +Satin,attr_Material_O_20,Material,8 +Serge,attr_Material_O_21,Material,8 +Taffeta,attr_Material_O_22,Material,8 +Tulle,attr_Material_O_23,Material,8 +Tweed,attr_Material_O_24,Material,8 +Twill,attr_Material_O_25,Material,8 +Velvet,attr_Material_O_26,Material,8 +Vinyl,attr_Material_O_27,Material,8 diff --git a/app/service/attribute_recognition/discriptor/outwear/9_outer_Softness.csv b/app/service/attribute_recognition/discriptor/outwear/9_outer_Softness.csv index ee0332d..785de6c 100644 --- a/app/service/attribute_recognition/discriptor/outwear/9_outer_Softness.csv +++ b/app/service/attribute_recognition/discriptor/outwear/9_outer_Softness.csv @@ -1,4 +1,4 @@ labelName,join_attr,taskName,taskId -Soft,attr_Softness_O_1,softness,9 -Medium,attr_Softness_O_2,softness,9 -Hard,attr_Softness_O_3,softness,9 +Soft,attr_Softness_O_1,Softness,9 +Medium,attr_Softness_O_2,Softness,9 +Hard,attr_Softness_O_3,Softness,9 diff --git a/app/service/attribute_recognition/discriptor/top/10_top_Design.csv b/app/service/attribute_recognition/discriptor/top/10_top_Design.csv index 8ffbcae..0ee8255 100644 --- a/app/service/attribute_recognition/discriptor/top/10_top_Design.csv +++ b/app/service/attribute_recognition/discriptor/top/10_top_Design.csv @@ -1,15 +1,15 @@ labelName,join_attr,taskName,taskId -Asymmetrical,attr_Design_U_1,design,10 -Tiered,attr_Design_U_2,design,10 -Tassel,attr_Design_U_3,design,10 -Ruffle,attr_Design_U_4,design,10 -Pleated,attr_Design_U_5,design,10 -Wrap,attr_Design_U_6,design,10 -Ripped,attr_Design_U_7,design,10 -Cut out,attr_Design_U_8,design,10 -Eyelet,attr_Design_U_9,design,10 -Folded,attr_Design_U_10,design,10 -Tied,attr_Design_U_11,design,10 -Drapes,attr_Design_U_12,design,10 -Ribbon,attr_Design_U_13,design,10 -Button,attr_Design_U_14,design,10 +Asymmetrical,attr_Design_U_1,Design,10 +Tiered,attr_Design_U_2,Design,10 +Tassel,attr_Design_U_3,Design,10 +Ruffle,attr_Design_U_4,Design,10 +Pleated,attr_Design_U_5,Design,10 +Wrap,attr_Design_U_6,Design,10 +Ripped,attr_Design_U_7,Design,10 +Cut out,attr_Design_U_8,Design,10 +Eyelet,attr_Design_U_9,Design,10 +Folded,attr_Design_U_10,Design,10 +Tied,attr_Design_U_11,Design,10 +Drapes,attr_Design_U_12,Design,10 +Ribbon,attr_Design_U_13,Design,10 +Button,attr_Design_U_14,Design,10 diff --git a/app/service/attribute_recognition/discriptor/top/11_top_OPType.csv b/app/service/attribute_recognition/discriptor/top/11_top_OPType.csv index 38fe8d8..870631b 100644 --- a/app/service/attribute_recognition/discriptor/top/11_top_OPType.csv +++ b/app/service/attribute_recognition/discriptor/top/11_top_OPType.csv @@ -1,5 +1,5 @@ labelName,join_attr,taskName,taskId -Button,attr_OPType_U_1,opening_type,11 -Zipper,attr_OPType_U_2,opening_type,11 -Thread,attr_OPType_U_3,opening_type,11 -Hook,attr_OPType_U_4,opening_type,11 +Button,attr_OPType_U_1,Opening_Type,11 +Zipper,attr_OPType_U_2,Opening_Type,11 +Thread,attr_OPType_U_3,Opening_Type,11 +Hook,attr_OPType_U_4,Opening_Type,11 diff --git a/app/service/attribute_recognition/discriptor/top/12_top_Silhouette.csv b/app/service/attribute_recognition/discriptor/top/12_top_Silhouette.csv index 1dda143..49c7db5 100644 --- a/app/service/attribute_recognition/discriptor/top/12_top_Silhouette.csv +++ b/app/service/attribute_recognition/discriptor/top/12_top_Silhouette.csv @@ -1,7 +1,7 @@ labelName,join_attr,taskName,taskId -A Line,attr_Silhouette_U_1,silhouette,12 -H Shape,attr_Silhouette_U_2,silhouette,12 -Slim,attr_Silhouette_U_3,silhouette,12 -Flyman,attr_Silhouette_U_4,silhouette,12 -Peplum,attr_Silhouette_U_5,silhouette,12 -Oversize,attr_Silhouette_U_6,silhouette,12 +A Line,attr_Silhouette_U_1,Silhouette,12 +H Shape,attr_Silhouette_U_2,Silhouette,12 +Slim,attr_Silhouette_U_3,Silhouette,12 +Flyman,attr_Silhouette_U_4,Silhouette,12 +Peplum,attr_Silhouette_U_5,Silhouette,12 +Oversize,attr_Silhouette_U_6,Silhouette,12 diff --git a/app/service/attribute_recognition/discriptor/top/1_top_length.csv b/app/service/attribute_recognition/discriptor/top/1_top_length.csv index 04ddc9e..49903cc 100644 --- a/app/service/attribute_recognition/discriptor/top/1_top_length.csv +++ b/app/service/attribute_recognition/discriptor/top/1_top_length.csv @@ -1,4 +1,4 @@ labelName,join_attr,taskName,taskId -Short,attr_Top_length_1,length,1 -Regular,attr_Top_length_2,length,1 -Long,attr_Top_length_3,length,1 +Short,attr_Top_length_1,Length,1 +Regular,attr_Top_length_2,Length,1 +Long,attr_Top_length_3,Length,1 diff --git a/app/service/attribute_recognition/discriptor/top/2_top_type.csv b/app/service/attribute_recognition/discriptor/top/2_top_type.csv index 2891d84..fa0095f 100644 --- a/app/service/attribute_recognition/discriptor/top/2_top_type.csv +++ b/app/service/attribute_recognition/discriptor/top/2_top_type.csv @@ -1,15 +1,15 @@ labelName,join_attr,taskName,taskId -Bandeau,attr_toptype_1,type,2 -Blouse,attr_toptype_2,type,2 -Bodysuit,attr_toptype_3,type,2 -Bralets,attr_toptype_4,type,2 -Camisole,attr_toptype_5,type,2 -Crop Top,attr_toptype_6,type,2 -Hoodie,attr_toptype_7,type,2 -Pullover,attr_toptype_8,type,2 -Polo shirt,attr_toptype_9,type,2 -Shirt,attr_toptype_10,type,2 -strapeless,attr_toptype_11,type,2 -Sweater,attr_toptype_12,type,2 -Tank Top,attr_toptype_13,type,2 -T-shirt,attr_toptype_14,type,2 +Bandeau,attr_toptype_1,Top_Type,2 +Blouse,attr_toptype_2,Top_Type,2 +Bodysuit,attr_toptype_3,Top_Type,2 +Bralets,attr_toptype_4,Top_Type,2 +Camisole,attr_toptype_5,Top_Type,2 +Crop Top,attr_toptype_6,Top_Type,2 +Hoodie,attr_toptype_7,Top_Type,2 +Pullover,attr_toptype_8,Top_Type,2 +Polo shirt,attr_toptype_9,Top_Type,2 +Shirt,attr_toptype_10,Top_Type,2 +strapeless,attr_toptype_11,Top_Type,2 +Sweater,attr_toptype_12,Top_Type,2 +Tank Top,attr_toptype_13,Top_Type,2 +T-shirt,attr_toptype_14,Top_Type,2 diff --git a/app/service/attribute_recognition/discriptor/top/3_top_Sleeve_length.csv b/app/service/attribute_recognition/discriptor/top/3_top_Sleeve_length.csv index 5d345b1..1f2a0f3 100644 --- a/app/service/attribute_recognition/discriptor/top/3_top_Sleeve_length.csv +++ b/app/service/attribute_recognition/discriptor/top/3_top_Sleeve_length.csv @@ -1,6 +1,6 @@ labelName,join_attr,taskName,taskId -Sleeveless,attr_Sleeve_length_1,sleeve_length,3 -Short,attr_Sleeve_length_2,sleeve_length,3 -Middle,attr_Sleeve_length_3,sleeve_length,3 -Seven,attr_Sleeve_length_4,sleeve_length,3 -Long,attr_Sleeve_length_5,sleeve_length,3 +Sleeveless,attr_Sleeve_length_1,Sleeve_Length,3 +Short,attr_Sleeve_length_2,Sleeve_Length,3 +Middle,attr_Sleeve_length_3,Sleeve_Length,3 +Seven,attr_Sleeve_length_4,Sleeve_Length,3 +Long,attr_Sleeve_length_5,Sleeve_Length,3 diff --git a/app/service/attribute_recognition/discriptor/top/4_top_Sleeve_shape.csv b/app/service/attribute_recognition/discriptor/top/4_top_Sleeve_shape.csv index 9b6ef6e..d429c11 100644 --- a/app/service/attribute_recognition/discriptor/top/4_top_Sleeve_shape.csv +++ b/app/service/attribute_recognition/discriptor/top/4_top_Sleeve_shape.csv @@ -1,9 +1,9 @@ labelName,join_attr,taskName,taskId -Regular,attr_Sleeve_shape_1,sleeve_shape,4 -Slim,attr_Sleeve_shape_2,sleeve_shape,4 -Puff,attr_Sleeve_shape_3,sleeve_shape,4 -Bell,attr_Sleeve_shape_4,sleeve_shape,4 -Batwing,attr_Sleeve_shape_5,sleeve_shape,4 -Shirt,attr_Sleeve_shape_6,sleeve_shape,4 -Rib,attr_Sleeve_shape_7,sleeve_shape,4 -Raglan,attr_Sleeve_shape_8,sleeve_shape,4 +Regular,attr_Sleeve_shape_1,Sleeve_Shape,4 +Slim,attr_Sleeve_shape_2,Sleeve_Shape,4 +Puff,attr_Sleeve_shape_3,Sleeve_Shape,4 +Bell,attr_Sleeve_shape_4,Sleeve_Shape,4 +Batwing,attr_Sleeve_shape_5,Sleeve_Shape,4 +Shirt,attr_Sleeve_shape_6,Sleeve_Shape,4 +Rib,attr_Sleeve_shape_7,Sleeve_Shape,4 +Raglan,attr_Sleeve_shape_8,Sleeve_Shape,4 diff --git a/app/service/attribute_recognition/discriptor/top/5_top_Sleeve_shoulder.csv b/app/service/attribute_recognition/discriptor/top/5_top_Sleeve_shoulder.csv index e528584..c31e7ea 100644 --- a/app/service/attribute_recognition/discriptor/top/5_top_Sleeve_shoulder.csv +++ b/app/service/attribute_recognition/discriptor/top/5_top_Sleeve_shoulder.csv @@ -1,5 +1,5 @@ labelName,join_attr,taskName,taskId -Regular,attr_Sleeve_shoulder_1,sleeve_shoulder,5 -Cold,attr_Sleeve_shoulder_2,sleeve_shoulder,5 -Tucked,attr_Sleeve_shoulder_3,sleeve_shoulder,5 -Balmain,attr_Sleeve_shoulder_4,sleeve_shoulder,5 +Regular,attr_Sleeve_shoulder_1,Sleeve_Shoulder,5 +Cold,attr_Sleeve_shoulder_2,Sleeve_Shoulder,5 +Tucked,attr_Sleeve_shoulder_3,Sleeve_Shoulder,5 +Balmain,attr_Sleeve_shoulder_4,Sleeve_Shoulder,5 diff --git a/app/service/attribute_recognition/discriptor/top/6_top_Neckline.csv b/app/service/attribute_recognition/discriptor/top/6_top_Neckline.csv index 4b18420..30c1420 100644 --- a/app/service/attribute_recognition/discriptor/top/6_top_Neckline.csv +++ b/app/service/attribute_recognition/discriptor/top/6_top_Neckline.csv @@ -1,7 +1,7 @@ labelName,join_attr,taskName,taskId -Round,attr_Neckline_1,neckline,6 -V,attr_Neckline_2,neckline,6 -Square,attr_Neckline_3,neckline,6 -One-shoulder,attr_Neckline_4,neckline,6 -Off-shoulder,attr_Neckline_5,neckline,6 -Strapless,attr_Neckline_6,neckline,6 +Round,attr_Neckline_1,Neckline,6 +V,attr_Neckline_2,Neckline,6 +Square,attr_Neckline_3,Neckline,6 +One-shoulder,attr_Neckline_4,Neckline,6 +Off-shoulder,attr_Neckline_5,Neckline,6 +Strapless,attr_Neckline_6,Neckline,6 diff --git a/app/service/attribute_recognition/discriptor/top/7_outer_Print.csv b/app/service/attribute_recognition/discriptor/top/7_outer_Print.csv index 5546fd4..cb5695d 100644 --- a/app/service/attribute_recognition/discriptor/top/7_outer_Print.csv +++ b/app/service/attribute_recognition/discriptor/top/7_outer_Print.csv @@ -1,16 +1,16 @@ labelName,join_attr,taskName,taskId -Abstract,attr_Print_O_1,print,7 -Allover,attr_Print_O_2,print,7 -Animal,attr_Print_O_3,print,7 -Camouflage,attr_Print_O_4,print,7 -Checks,attr_Print_O_5,print,7 -Color_block,attr_Print_O_6,print,7 -Disty print,attr_Print_O_7,print,7 -Dotted,attr_Print_O_8,print,7 -Floral,attr_Print_O_9,print,7 -Graphic print,attr_Print_O_10,print,7 -Logo and slogan,attr_Print_O_11,print,7 -Patchwork,attr_Print_O_12,print,7 -Plain,attr_Print_O_13,print,7 -Plain_dnim,attr_Print_O_14,print,7 -Stripe,attr_Print_O_15,print,7 +Abstract,attr_Print_O_1,Print,7 +Allover,attr_Print_O_2,Print,7 +Animal,attr_Print_O_3,Print,7 +Camouflage,attr_Print_O_4,Print,7 +Checks,attr_Print_O_5,Print,7 +Color_block,attr_Print_O_6,Print,7 +Disty print,attr_Print_O_7,Print,7 +Dotted,attr_Print_O_8,Print,7 +Floral,attr_Print_O_9,Print,7 +Graphic print,attr_Print_O_10,Print,7 +Logo and slogan,attr_Print_O_11,Print,7 +Patchwork,attr_Print_O_12,Print,7 +Plain,attr_Print_O_13,Print,7 +Plain_dnim,attr_Print_O_14,Print,7 +Stripe,attr_Print_O_15,Print,7 diff --git a/app/service/attribute_recognition/discriptor/top/7_top_Collar.csv b/app/service/attribute_recognition/discriptor/top/7_top_Collar.csv index 0fe78a8..a30c014 100644 --- a/app/service/attribute_recognition/discriptor/top/7_top_Collar.csv +++ b/app/service/attribute_recognition/discriptor/top/7_top_Collar.csv @@ -1,11 +1,11 @@ labelName,join_attr,taskName,taskId -Peterpan,attr_Collar_1,collar,7 -Shirt,attr_Collar_2,collar,7 -Rib,attr_Collar_3,collar,7 -Turtle,attr_Collar_4,collar,7 -Lapel,attr_Collar_5,collar,7 -Hoodie,attr_Collar_6,collar,7 -Mandarin,attr_Collar_7,collar,7 -Tie,attr_Collar_8,collar,7 -Ruffle,attr_Collar_9,collar,7 -Cowl,attr_Collar_10,collar,7 +Peterpan,attr_Collar_1,Collar,7 +Shirt,attr_Collar_2,Collar,7 +Rib,attr_Collar_3,Collar,7 +Turtle,attr_Collar_4,Collar,7 +Lapel,attr_Collar_5,Collar,7 +Hoodie,attr_Collar_6,Collar,7 +Mandarin,attr_Collar_7,Collar,7 +Tie,attr_Collar_8,Collar,7 +Ruffle,attr_Collar_9,Collar,7 +Cowl,attr_Collar_10,Collar,7 diff --git a/app/service/attribute_recognition/discriptor/top/8_outer_Material.csv b/app/service/attribute_recognition/discriptor/top/8_outer_Material.csv index 66c4555..2db5c94 100644 --- a/app/service/attribute_recognition/discriptor/top/8_outer_Material.csv +++ b/app/service/attribute_recognition/discriptor/top/8_outer_Material.csv @@ -1,28 +1,28 @@ labelName,join_attr,taskName,taskId -Canvas,attr_Material_O_1,material,8 -Chambray,attr_Material_O_2,material,8 -Chenille,attr_Material_O_3,material,8 -Chiffon,attr_Material_O_4,material,8 -Corduroy,attr_Material_O_5,material,8 -Crepe,attr_Material_O_6,material,8 -Denim,attr_Material_O_7,material,8 -Faux_fur,attr_Material_O_8,material,8 -Faux_leather,attr_Material_O_9,material,8 -Flannel,attr_Material_O_10,material,8 -Fleece,attr_Material_O_11,material,8 -Gingham,attr_Material_O_12,material,8 -Jersey,attr_Material_O_13,material,8 -Knit,attr_Material_O_14,material,8 -Lace,attr_Material_O_15,material,8 -Lawn,attr_Material_O_16,material,8 -Neoprene,attr_Material_O_17,material,8 -Organza,attr_Material_O_18,material,8 -Plush,attr_Material_O_19,material,8 -Satin,attr_Material_O_20,material,8 -Serge,attr_Material_O_21,material,8 -Taffeta,attr_Material_O_22,material,8 -Tulle,attr_Material_O_23,material,8 -Tweed,attr_Material_O_24,material,8 -Twill,attr_Material_O_25,material,8 -Velvet,attr_Material_O_26,material,8 -Vinyl,attr_Material_O_27,material,8 +Canvas,attr_Material_O_1,Material,8 +Chambray,attr_Material_O_2,Material,8 +Chenille,attr_Material_O_3,Material,8 +Chiffon,attr_Material_O_4,Material,8 +Corduroy,attr_Material_O_5,Material,8 +Crepe,attr_Material_O_6,Material,8 +Denim,attr_Material_O_7,Material,8 +Faux_fur,attr_Material_O_8,Material,8 +Faux_leather,attr_Material_O_9,Material,8 +Flannel,attr_Material_O_10,Material,8 +Fleece,attr_Material_O_11,Material,8 +Gingham,attr_Material_O_12,Material,8 +Jersey,attr_Material_O_13,Material,8 +Knit,attr_Material_O_14,Material,8 +Lace,attr_Material_O_15,Material,8 +Lawn,attr_Material_O_16,Material,8 +Neoprene,attr_Material_O_17,Material,8 +Organza,attr_Material_O_18,Material,8 +Plush,attr_Material_O_19,Material,8 +Satin,attr_Material_O_20,Material,8 +Serge,attr_Material_O_21,Material,8 +Taffeta,attr_Material_O_22,Material,8 +Tulle,attr_Material_O_23,Material,8 +Tweed,attr_Material_O_24,Material,8 +Twill,attr_Material_O_25,Material,8 +Velvet,attr_Material_O_26,Material,8 +Vinyl,attr_Material_O_27,Material,8 diff --git a/app/service/attribute_recognition/discriptor/top/9_top_Softness.csv b/app/service/attribute_recognition/discriptor/top/9_top_Softness.csv index 91e8d32..dc8b5f0 100644 --- a/app/service/attribute_recognition/discriptor/top/9_top_Softness.csv +++ b/app/service/attribute_recognition/discriptor/top/9_top_Softness.csv @@ -1,4 +1,4 @@ labelName,join_attr,taskName,taskId -Soft,attr_Softness_U_1,softness,9 -Medium,attr_Softness_U_2,softness,9 -Hard,attr_Softness_U_3,softness,9 +Soft,attr_Softness_U_1,Softness,9 +Medium,attr_Softness_U_2,Softness,9 +Hard,attr_Softness_U_3,Softness,9 diff --git a/app/service/attribute_recognition/discriptor/top/ori10_top_Softness.csv b/app/service/attribute_recognition/discriptor/top/ori10_top_Softness.csv index 8af3899..6f24145 100644 --- a/app/service/attribute_recognition/discriptor/top/ori10_top_Softness.csv +++ b/app/service/attribute_recognition/discriptor/top/ori10_top_Softness.csv @@ -1,4 +1,4 @@ labelName,join_attr,taskName,taskId -Soft,attr_Softness_U_1,softness,10 -Medium,attr_Softness_U_2,softness,10 -Hard,attr_Softness_U_3,softness,10 +Soft,attr_Softness_U_1,Softness,10 +Medium,attr_Softness_U_2,Softness,10 +Hard,attr_Softness_U_3,Softness,10 diff --git a/app/service/attribute_recognition/discriptor/top/ori11_top_Design.csv b/app/service/attribute_recognition/discriptor/top/ori11_top_Design.csv index e8b08dd..deb9395 100644 --- a/app/service/attribute_recognition/discriptor/top/ori11_top_Design.csv +++ b/app/service/attribute_recognition/discriptor/top/ori11_top_Design.csv @@ -1,16 +1,16 @@ labelName,join_attr,taskName,taskId -Asymmetrical,attr_Design_U_1,design,11 -Tiered,attr_Design_U_2,design,11 -Tassel,attr_Design_U_3,design,11 -Ruffle,attr_Design_U_4,design,11 -Pleated,attr_Design_U_5,design,11 -Wrap,attr_Design_U_6,design,11 -Ripped,attr_Design_U_7,design,11 -Cut out,attr_Design_U_8,design,11 -Eyelet,attr_Design_U_9,design,11 -Folded,attr_Design_U_10,design,11 -Tied,attr_Design_U_11,design,11 -Drapes,attr_Design_U_12,design,11 -Ribbon,attr_Design_U_13,design,11 -Button,attr_Design_U_14,design,11 -Gathering,attr_Design_U_15,design,11 +Asymmetrical,attr_Design_U_1,Design,11 +Tiered,attr_Design_U_2,Design,11 +Tassel,attr_Design_U_3,Design,11 +Ruffle,attr_Design_U_4,Design,11 +Pleated,attr_Design_U_5,Design,11 +Wrap,attr_Design_U_6,Design,11 +Ripped,attr_Design_U_7,Design,11 +Cut out,attr_Design_U_8,Design,11 +Eyelet,attr_Design_U_9,Design,11 +Folded,attr_Design_U_10,Design,11 +Tied,attr_Design_U_11,Design,11 +Drapes,attr_Design_U_12,Design,11 +Ribbon,attr_Design_U_13,Design,11 +Button,attr_Design_U_14,Design,11 +Gathering,attr_Design_U_15,Design,11 diff --git a/app/service/attribute_recognition/discriptor/top/ori12_top_OPType.csv b/app/service/attribute_recognition/discriptor/top/ori12_top_OPType.csv index 493d7dd..98e65c6 100644 --- a/app/service/attribute_recognition/discriptor/top/ori12_top_OPType.csv +++ b/app/service/attribute_recognition/discriptor/top/ori12_top_OPType.csv @@ -1,5 +1,5 @@ labelName,join_attr,taskName,taskId -Button,attr_OPType_U_1,opening_type,12 -Zipper,attr_OPType_U_2,opening_type,12 -Thread,attr_OPType_U_3,opening_type,12 -Hook,attr_OPType_U_4,opening_type,12 +Button,attr_OPType_U_1,Opening_Type,12 +Zipper,attr_OPType_U_2,Opening_Type,12 +Thread,attr_OPType_U_3,Opening_Type,12 +Hook,attr_OPType_U_4,Opening_Type,12 diff --git a/app/service/attribute_recognition/discriptor/top/ori13_top_Silhouette.csv b/app/service/attribute_recognition/discriptor/top/ori13_top_Silhouette.csv index 6b903c5..a746198 100644 --- a/app/service/attribute_recognition/discriptor/top/ori13_top_Silhouette.csv +++ b/app/service/attribute_recognition/discriptor/top/ori13_top_Silhouette.csv @@ -1,7 +1,7 @@ labelName,join_attr,taskName,taskId -A Line,attr_Silhouette_U_1,silhouette,13 -H Shape,attr_Silhouette_U_2,silhouette,13 -Slim,attr_Silhouette_U_3,silhouette,13 -Flyman,attr_Silhouette_U_4,silhouette,13 -Peplum,attr_Silhouette_U_5,silhouette,13 -Oversize,attr_Silhouette_U_6,silhouette,13 +A Line,attr_Silhouette_U_1,Silhouette,13 +H Shape,attr_Silhouette_U_2,Silhouette,13 +Slim,attr_Silhouette_U_3,Silhouette,13 +Flyman,attr_Silhouette_U_4,Silhouette,13 +Peplum,attr_Silhouette_U_5,Silhouette,13 +Oversize,attr_Silhouette_U_6,Silhouette,13 diff --git a/app/service/attribute_recognition/discriptor/top/ori1_Top_length.csv b/app/service/attribute_recognition/discriptor/top/ori1_Top_length.csv index f859b49..04ddc9e 100644 --- a/app/service/attribute_recognition/discriptor/top/ori1_Top_length.csv +++ b/app/service/attribute_recognition/discriptor/top/ori1_Top_length.csv @@ -1,4 +1,4 @@ labelName,join_attr,taskName,taskId -Short,attr_Top_length_1,top_length,1 -Regular,attr_Top_length_2,top_length,1 -Long,attr_Top_length_3,top_length,1 +Short,attr_Top_length_1,length,1 +Regular,attr_Top_length_2,length,1 +Long,attr_Top_length_3,length,1 diff --git a/app/service/attribute_recognition/discriptor/top/ori2_Top_type.csv b/app/service/attribute_recognition/discriptor/top/ori2_Top_type.csv index cbce457..cf60dbb 100644 --- a/app/service/attribute_recognition/discriptor/top/ori2_Top_type.csv +++ b/app/service/attribute_recognition/discriptor/top/ori2_Top_type.csv @@ -1,15 +1,15 @@ labelName,join_attr,taskName,taskId -Blouse,attr_Top_type_1,top_type,2 -Camisole,attr_Top_type_2,top_type,2 -Shirt,attr_Top_type_3,top_type,2 -T-shirt,attr_Top_type_4,top_type,2 -Jumper-Pullover,attr_Top_type_5,top_type,2 -Hoodie,attr_Top_type_6,top_type,2 -Tank Top,attr_Top_type_7,top_type,2 -Polo shirt,attr_Top_type_8,top_type,2 -Crop Top,attr_Top_type_9,top_type,2 -Bralets,attr_Top_type_10,top_type,2 -Bodysuit,attr_Top_type_11,top_type,2 -Bandeau,attr_Top_type_12,top_type,2 -Sweater,attr_Top_type_13,top_type,2 -Strapless,attr_Top_type_14,top_type,2 +Blouse,attr_Top_type_1,Type,2 +Camisole,attr_Top_type_2,Type,2 +Shirt,attr_Top_type_3,Type,2 +T-shirt,attr_Top_type_4,Type,2 +Jumper-Pullover,attr_Top_type_5,Type,2 +Hoodie,attr_Top_type_6,Type,2 +Tank Top,attr_Top_type_7,Type,2 +Polo shirt,attr_Top_type_8,Type,2 +Crop Top,attr_Top_type_9,Type,2 +Bralets,attr_Top_type_10,Type,2 +Bodysuit,attr_Top_type_11,Type,2 +Bandeau,attr_Top_type_12,Type,2 +Sweater,attr_Top_type_13,Type,2 +Strapless,attr_Top_type_14,Type,2 diff --git a/app/service/attribute_recognition/discriptor/top/ori3_top_Sleeve_length.csv b/app/service/attribute_recognition/discriptor/top/ori3_top_Sleeve_length.csv index e77b2c9..3549164 100644 --- a/app/service/attribute_recognition/discriptor/top/ori3_top_Sleeve_length.csv +++ b/app/service/attribute_recognition/discriptor/top/ori3_top_Sleeve_length.csv @@ -1,6 +1,6 @@ labelName,join_attr,taskName,taskId -Sleeveless,attr_Sleeve_length_U_1,sleeve_length,3 -Short,attr_Sleeve_length_U_2,sleeve_length,3 -Middle,attr_Sleeve_length_U_3,sleeve_length,3 -Seven,attr_Sleeve_length_U_4,sleeve_length,3 -Long,attr_Sleeve_length_U_5,sleeve_length,3 +Sleeveless,attr_Sleeve_length_U_1,Sleeve_Length,3 +Short,attr_Sleeve_length_U_2,Sleeve_Length,3 +Middle,attr_Sleeve_length_U_3,Sleeve_Length,3 +Seven,attr_Sleeve_length_U_4,Sleeve_Length,3 +Long,attr_Sleeve_length_U_5,Sleeve_Length,3 diff --git a/app/service/attribute_recognition/discriptor/top/ori4_top_Sleeve_shape.csv b/app/service/attribute_recognition/discriptor/top/ori4_top_Sleeve_shape.csv index a3ec53e..15517c5 100644 --- a/app/service/attribute_recognition/discriptor/top/ori4_top_Sleeve_shape.csv +++ b/app/service/attribute_recognition/discriptor/top/ori4_top_Sleeve_shape.csv @@ -1,9 +1,9 @@ labelName,join_attr,taskName,taskId -Regular,attr_Sleeve_shape_U_1,sleeve_shape,4 -Slim,attr_Sleeve_shape_U_2,sleeve_shape,4 -Puff,attr_Sleeve_shape_U_3,sleeve_shape,4 -Bell,attr_Sleeve_shape_U_4,sleeve_shape,4 -Batwing,attr_Sleeve_shape_U_5,sleeve_shape,4 -Shirt,attr_Sleeve_shape_U_6,sleeve_shape,4 -Rib,attr_Sleeve_shape_U_7,sleeve_shape,4 -Raglan,attr_Sleeve_shape_U_8,sleeve_shape,4 +Regular,attr_Sleeve_shape_U_1,Sleeve_Shape,4 +Slim,attr_Sleeve_shape_U_2,Sleeve_Shape,4 +Puff,attr_Sleeve_shape_U_3,Sleeve_Shape,4 +Bell,attr_Sleeve_shape_U_4,Sleeve_Shape,4 +Batwing,attr_Sleeve_shape_U_5,Sleeve_Shape,4 +Shirt,attr_Sleeve_shape_U_6,Sleeve_Shape,4 +Rib,attr_Sleeve_shape_U_7,Sleeve_Shape,4 +Raglan,attr_Sleeve_shape_U_8,Sleeve_Shape,4 diff --git a/app/service/attribute_recognition/discriptor/top/ori5_top_Sleeve_shoulder.csv b/app/service/attribute_recognition/discriptor/top/ori5_top_Sleeve_shoulder.csv index 20a580d..9a051a1 100644 --- a/app/service/attribute_recognition/discriptor/top/ori5_top_Sleeve_shoulder.csv +++ b/app/service/attribute_recognition/discriptor/top/ori5_top_Sleeve_shoulder.csv @@ -1,5 +1,5 @@ labelName,join_attr,taskName,taskId -Regular,attr_Sleeve_shoulder_U_1,sleeve_shoulder,5 -Cold,attr_Sleeve_shoulder_U_2,sleeve_shoulder,5 -Tucked,attr_Sleeve_shoulder_U_3,sleeve_shoulder,5 -Balmain,attr_Sleeve_shoulder_U_4,sleeve_shoulder,5 +Regular,attr_Sleeve_shoulder_U_1,Sleeve_Shoulder,5 +Cold,attr_Sleeve_shoulder_U_2,Sleeve_Shoulder,5 +Tucked,attr_Sleeve_shoulder_U_3,Sleeve_Shoulder,5 +Balmain,attr_Sleeve_shoulder_U_4,Sleeve_Shoulder,5 diff --git a/app/service/attribute_recognition/discriptor/top/ori6_top_Neckline.csv b/app/service/attribute_recognition/discriptor/top/ori6_top_Neckline.csv index b53ba45..bb6dc62 100644 --- a/app/service/attribute_recognition/discriptor/top/ori6_top_Neckline.csv +++ b/app/service/attribute_recognition/discriptor/top/ori6_top_Neckline.csv @@ -1,16 +1,16 @@ labelName,join_attr,taskName,taskId -Round,attr_Neckline_U_1,neckline,6 -V,attr_Neckline_U_2,neckline,6 -Square,attr_Neckline_U_3,neckline,6 -One-shoulder,attr_Neckline_U_4,neckline,6 -Off-shoulder,attr_Neckline_U_5,neckline,6 -Strapless,attr_Neckline_U_6,neckline,6 -boat,attr_Neckline_U_7,neckline,6 -choker,attr_Neckline_U_8,neckline,6 -cowl,attr_Neckline_U_9,neckline,6 -halter,attr_Neckline_U_10,neckline,6 -keyhole,attr_Neckline_U_11,neckline,6 -spaghetti,attr_Neckline_U_12,neckline,6 -split,attr_Neckline_U_13,neckline,6 -sweetheart,attr_Neckline_U_14,neckline,6 -U,attr_Neckline_U_15,neckline,6 +Round,attr_Neckline_U_1,Neckline,6 +V,attr_Neckline_U_2,Neckline,6 +Square,attr_Neckline_U_3,Neckline,6 +One-shoulder,attr_Neckline_U_4,Neckline,6 +Off-shoulder,attr_Neckline_U_5,Neckline,6 +Strapless,attr_Neckline_U_6,Neckline,6 +boat,attr_Neckline_U_7,Neckline,6 +choker,attr_Neckline_U_8,Neckline,6 +cowl,attr_Neckline_U_9,Neckline,6 +halter,attr_Neckline_U_10,Neckline,6 +keyhole,attr_Neckline_U_11,Neckline,6 +spaghetti,attr_Neckline_U_12,Neckline,6 +split,attr_Neckline_U_13,Neckline,6 +sweetheart,attr_Neckline_U_14,Neckline,6 +U,attr_Neckline_U_15,Neckline,6 diff --git a/app/service/attribute_recognition/discriptor/top/ori7_top_Collar.csv b/app/service/attribute_recognition/discriptor/top/ori7_top_Collar.csv index 24c930a..1c9f028 100644 --- a/app/service/attribute_recognition/discriptor/top/ori7_top_Collar.csv +++ b/app/service/attribute_recognition/discriptor/top/ori7_top_Collar.csv @@ -1,11 +1,11 @@ labelName,join_attr,taskName,taskId -Peterpan-Bertha,attr_Collar_U_1,collar,7 -Shirt,attr_Collar_U_2,collar,7 -Rib,attr_Collar_U_3,collar,7 -Turtle,attr_Collar_U_4,collar,7 -Lapel,attr_Collar_U_5,collar,7 -Hoodie,attr_Collar_U_6,collar,7 -Mandarin,attr_Collar_U_7,collar,7 -Tie,attr_Collar_U_8,collar,7 -Ruffle,attr_Collar_U_9,collar,7 -Cowl,attr_Collar_U_10,collar,7 +Peterpan-Bertha,attr_Collar_U_1,Collar,7 +Shirt,attr_Collar_U_2,Collar,7 +Rib,attr_Collar_U_3,Collar,7 +Turtle,attr_Collar_U_4,Collar,7 +Lapel,attr_Collar_U_5,Collar,7 +Hoodie,attr_Collar_U_6,Collar,7 +Mandarin,attr_Collar_U_7,Collar,7 +Tie,attr_Collar_U_8,Collar,7 +Ruffle,attr_Collar_U_9,Collar,7 +Cowl,attr_Collar_U_10,Collar,7 diff --git a/app/service/attribute_recognition/discriptor/top/ori8_top_Print.csv b/app/service/attribute_recognition/discriptor/top/ori8_top_Print.csv index b04e747..9eeeb2c 100644 --- a/app/service/attribute_recognition/discriptor/top/ori8_top_Print.csv +++ b/app/service/attribute_recognition/discriptor/top/ori8_top_Print.csv @@ -1,16 +1,16 @@ labelName,join_attr,taskName,taskId -abstract,attr_Print_U_1,print,8 -allover,attr_Print_U_2,print,8 -animal printed,attr_Print_U_3,print,8 -Camouflage,attr_Print_U_4,print,8 -checks,attr_Print_U_5,print,8 -color_block,attr_Print_U_6,print,8 -disty print,attr_Print_U_7,print,8 -dotted,attr_Print_U_8,print,8 -floral,attr_Print_U_9,print,8 -graphic print,attr_Print_U_10,print,8 -logo and slogan print,attr_Print_U_11,print,8 -patchwork,attr_Print_U_12,print,8 -plain,attr_Print_U_13,print,8 -plain_dnim,attr_Print_U_14,print,8 -stripe,attr_Print_U_15,print,8 +abstract,attr_Print_U_1,Print,8 +allover,attr_Print_U_2,Print,8 +animal printed,attr_Print_U_3,Print,8 +Camouflage,attr_Print_U_4,Print,8 +checks,attr_Print_U_5,Print,8 +color_block,attr_Print_U_6,Print,8 +disty print,attr_Print_U_7,Print,8 +dotted,attr_Print_U_8,Print,8 +floral,attr_Print_U_9,Print,8 +graphic print,attr_Print_U_10,Print,8 +logo and slogan print,attr_Print_U_11,Print,8 +patchwork,attr_Print_U_12,Print,8 +plain,attr_Print_U_13,Print,8 +plain_dnim,attr_Print_U_14,Print,8 +stripe,attr_Print_U_15,Print,8 diff --git a/app/service/attribute_recognition/discriptor/top/ori9_top_Material.csv b/app/service/attribute_recognition/discriptor/top/ori9_top_Material.csv index 62c4d89..795c3c9 100644 --- a/app/service/attribute_recognition/discriptor/top/ori9_top_Material.csv +++ b/app/service/attribute_recognition/discriptor/top/ori9_top_Material.csv @@ -1,28 +1,28 @@ labelName,join_attr,taskName,taskId -canvas,attr_Material_U_1,material,9 -chambray,attr_Material_U_2,material,9 -chenille,attr_Material_U_3,material,9 -chiffon,attr_Material_U_4,material,9 -corduroy,attr_Material_U_5,material,9 -crepe,attr_Material_U_6,material,9 -denim,attr_Material_U_7,material,9 -faux_fur,attr_Material_U_8,material,9 -faux_leather,attr_Material_U_9,material,9 -flannel,attr_Material_U_10,material,9 -fleece,attr_Material_U_11,material,9 -gingham,attr_Material_U_12,material,9 -jersey,attr_Material_U_13,material,9 -knit,attr_Material_U_14,material,9 -lace,attr_Material_U_15,material,9 -lawn,attr_Material_U_16,material,9 -neoprene,attr_Material_U_17,material,9 -organza,attr_Material_U_18,material,9 -plush,attr_Material_U_19,material,9 -satin,attr_Material_U_20,material,9 -serge,attr_Material_U_21,material,9 -taffeta,attr_Material_U_22,material,9 -tulle,attr_Material_U_23,material,9 -tweed,attr_Material_U_24,material,9 -twill,attr_Material_U_25,material,9 -velvet,attr_Material_U_26,material,9 -vinyl,attr_Material_U_27,material,9 +canvas,attr_Material_U_1,Material,9 +chambray,attr_Material_U_2,Material,9 +chenille,attr_Material_U_3,Material,9 +chiffon,attr_Material_U_4,Material,9 +corduroy,attr_Material_U_5,Material,9 +crepe,attr_Material_U_6,Material,9 +denim,attr_Material_U_7,Material,9 +faux_fur,attr_Material_U_8,Material,9 +faux_leather,attr_Material_U_9,Material,9 +flannel,attr_Material_U_10,Material,9 +fleece,attr_Material_U_11,Material,9 +gingham,attr_Material_U_12,Material,9 +jersey,attr_Material_U_13,Material,9 +knit,attr_Material_U_14,Material,9 +lace,attr_Material_U_15,Material,9 +lawn,attr_Material_U_16,Material,9 +neoprene,attr_Material_U_17,Material,9 +organza,attr_Material_U_18,Material,9 +plush,attr_Material_U_19,Material,9 +satin,attr_Material_U_20,Material,9 +serge,attr_Material_U_21,Material,9 +taffeta,attr_Material_U_22,Material,9 +tulle,attr_Material_U_23,Material,9 +tweed,attr_Material_U_24,Material,9 +twill,attr_Material_U_25,Material,9 +velvet,attr_Material_U_26,Material,9 +vinyl,attr_Material_U_27,Material,9 From 13416786c9153b658d36a7479298cd848ad00e8b Mon Sep 17 00:00:00 2001 From: zhouchengrong Date: Wed, 27 Mar 2024 17:39:52 +0800 Subject: [PATCH 16/26] =?UTF-8?q?=E5=B1=9E=E6=80=A7=E6=A3=80=E6=B5=8B?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=EF=BC=8C=E5=93=8D=E5=BA=94=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E8=A7=84=E8=8C=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../discriptor/outwear/7_outer_Print.csv | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/app/service/attribute_recognition/discriptor/outwear/7_outer_Print.csv b/app/service/attribute_recognition/discriptor/outwear/7_outer_Print.csv index 5546fd4..cb5695d 100644 --- a/app/service/attribute_recognition/discriptor/outwear/7_outer_Print.csv +++ b/app/service/attribute_recognition/discriptor/outwear/7_outer_Print.csv @@ -1,16 +1,16 @@ labelName,join_attr,taskName,taskId -Abstract,attr_Print_O_1,print,7 -Allover,attr_Print_O_2,print,7 -Animal,attr_Print_O_3,print,7 -Camouflage,attr_Print_O_4,print,7 -Checks,attr_Print_O_5,print,7 -Color_block,attr_Print_O_6,print,7 -Disty print,attr_Print_O_7,print,7 -Dotted,attr_Print_O_8,print,7 -Floral,attr_Print_O_9,print,7 -Graphic print,attr_Print_O_10,print,7 -Logo and slogan,attr_Print_O_11,print,7 -Patchwork,attr_Print_O_12,print,7 -Plain,attr_Print_O_13,print,7 -Plain_dnim,attr_Print_O_14,print,7 -Stripe,attr_Print_O_15,print,7 +Abstract,attr_Print_O_1,Print,7 +Allover,attr_Print_O_2,Print,7 +Animal,attr_Print_O_3,Print,7 +Camouflage,attr_Print_O_4,Print,7 +Checks,attr_Print_O_5,Print,7 +Color_block,attr_Print_O_6,Print,7 +Disty print,attr_Print_O_7,Print,7 +Dotted,attr_Print_O_8,Print,7 +Floral,attr_Print_O_9,Print,7 +Graphic print,attr_Print_O_10,Print,7 +Logo and slogan,attr_Print_O_11,Print,7 +Patchwork,attr_Print_O_12,Print,7 +Plain,attr_Print_O_13,Print,7 +Plain_dnim,attr_Print_O_14,Print,7 +Stripe,attr_Print_O_15,Print,7 From 455b56ca2d41c0c55709295f7c88cb46dec86c59 Mon Sep 17 00:00:00 2001 From: zhouchengrong Date: Wed, 27 Mar 2024 18:08:59 +0800 Subject: [PATCH 17/26] =?UTF-8?q?=E7=9B=B8=E4=BC=BC=E5=8C=B9=E9=85=8D?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/api_route.py | 2 ++ app/api/api_simiar_match.py | 16 ---------------- app/api/api_similar_match.py | 25 +++++++++++++++++++++++++ app/logs/errors.log | 15 +++++++++++++++ app/service/similar_match/service.py | 23 ++++++++++++++--------- 5 files changed, 56 insertions(+), 25 deletions(-) delete mode 100644 app/api/api_simiar_match.py create mode 100644 app/api/api_similar_match.py diff --git a/app/api/api_route.py b/app/api/api_route.py index 298626f..983e725 100644 --- a/app/api/api_route.py +++ b/app/api/api_route.py @@ -3,9 +3,11 @@ from fastapi import APIRouter from app.api import api_test from app.api import api_outfit_matcher from app.api import api_attribute +from app.api import api_similar_match router = APIRouter() router.include_router(api_test.router, tags=["test"], prefix="/test") router.include_router(api_outfit_matcher.router, tags=["outfit_matcher"], prefix="/api/outfit_matcher") router.include_router(api_attribute.router, tags=["attribute"], prefix="/api/attribute") +router.include_router(api_similar_match.router, tags=["similar_match"], prefix="/api/similar_match") diff --git a/app/api/api_simiar_match.py b/app/api/api_simiar_match.py deleted file mode 100644 index dc67b2a..0000000 --- a/app/api/api_simiar_match.py +++ /dev/null @@ -1,16 +0,0 @@ -import logging -import time - -from fastapi import APIRouter -from app.schemas.outfit_matcher import SimilarMatchMItem -from app.service.utils.decorator import RunTime - -logger = logging.getLogger() -router = APIRouter() - - -@RunTime -@router.post("similar_match") -def similar_match(request_item: SimilarMatchMItem): - - pass diff --git a/app/api/api_similar_match.py b/app/api/api_similar_match.py new file mode 100644 index 0000000..1a49e7b --- /dev/null +++ b/app/api/api_similar_match.py @@ -0,0 +1,25 @@ +import logging +import time + +from fastapi import APIRouter + +from app.schemas.similar_match import SimilarMatchMItem +from app.service.similar_match.service import SimilarMatch +from app.service.utils.decorator import RunTime + +logger = logging.getLogger() +router = APIRouter() + + +@RunTime +@router.post("similar_match") +def similar_match(request_item: SimilarMatchMItem): + try: + if request_item.result_number <= 0: + raise KeyError("result number can't be less than 0") + service = SimilarMatch(request_item) + search_response = service.match_features() + return {"message": "ok", "data": search_response} + except KeyError as e: + logger.warning(str(e)) + return {"message": "result number can't be less than 0", "data": []} diff --git a/app/logs/errors.log b/app/logs/errors.log index 546eed1..9740bb1 100644 --- a/app/logs/errors.log +++ b/app/logs/errors.log @@ -1696,3 +1696,18 @@ RuntimeError: shape '[6, 3, -1]' is invalid for input of size 896 2024-03-27 17:05:02,615 decorator.py [line:11] INFO function:【get_result】,runtime:【252.62576150894165】s 2024-03-27 17:05:02,616 api_outfit_matcher.py [line:43] INFO run time is : 252.62676739692688 2024-03-27 17:05:02,616 api_outfit_matcher.py [line:43] INFO run time is : 252.62676739692688 +2024-03-27 18:01:01,985 milvus_client.py [line:641] DEBUG Created new connection using: 704a3f1ccb564a0ea5281250a8583db5 +2024-03-27 18:01:01,985 decorators.py [line:146] ERROR RPC error: [search], , +2024-03-27 18:01:01,985 decorators.py [line:146] ERROR RPC error: [search], , +2024-03-27 18:01:01,985 decorators.py [line:146] ERROR RPC error: [search], , +2024-03-27 18:01:01,987 milvus_client.py [line:318] ERROR Failed to search collection: mixi_outfit +2024-03-27 18:01:01,987 milvus_client.py [line:318] ERROR Failed to search collection: mixi_outfit +2024-03-27 18:01:01,987 milvus_client.py [line:318] ERROR Failed to search collection: mixi_outfit +2024-03-27 18:01:08,508 milvus_client.py [line:641] DEBUG Created new connection using: ca5adf3ff3e34da0ae3f93c1669501ba +2024-03-27 18:01:08,708 decorator.py [line:11] INFO function:【match_features】,runtime:【0.21055293083190918】s +2024-03-27 18:01:08,708 decorator.py [line:11] INFO function:【match_features】,runtime:【0.21055293083190918】s +2024-03-27 18:03:26,541 milvus_client.py [line:641] DEBUG Created new connection using: 624da64059d34937a6ee6bc1ada3cc2d +2024-03-27 18:03:26,747 decorator.py [line:11] INFO function:【match_features】,runtime:【0.22229576110839844】s +2024-03-27 18:03:26,747 decorator.py [line:11] INFO function:【match_features】,runtime:【0.22229576110839844】s +2024-03-27 18:08:31,893 api_similar_match.py [line:24] WARNING "result number can't be less than 0" +2024-03-27 18:08:31,893 api_similar_match.py [line:24] WARNING "result number can't be less than 0" diff --git a/app/service/similar_match/service.py b/app/service/similar_match/service.py index a071461..87d9440 100644 --- a/app/service/similar_match/service.py +++ b/app/service/similar_match/service.py @@ -10,17 +10,21 @@ from pymilvus import MilvusClient from app.core.config import * from torchvision import transforms +from app.schemas.similar_match import SimilarMatchMItem from app.service.utils.decorator import RunTime class SimilarMatch: - def __init__(self): + def __init__(self, request_data): self.minio_client = Minio( f"{MINIO_IP}:{MINIO_PORT}", access_key=MINIO_ACCESS, secret_key=MINIO_SECRET, secure=MINIO_SECURE) self.triton_client = httpclient.InferenceServerClient(url=f"{OM_TRITON_IP}:{OM_TRITON_PORT}") + self.image_path = request_data.image_path + self.result_number = request_data.result_number + self.features = self.get_features() @staticmethod def resize_image(img): @@ -57,8 +61,8 @@ class SimilarMatch: mask = np.zeros((1, 1), dtype=np.float32) return image, category, mask - def get_features(self, img_path): - image, category, mask = self.preprocess(img_path) + def get_features(self): + image, category, mask = self.preprocess(self.image_path) # 输入集 inputs = [ httpclient.InferInput("input__0", image.shape, datatype="FP32"), @@ -80,7 +84,7 @@ class SimilarMatch: return features @RunTime - def match_features(self, features): + def match_features(self): # 连接milvus # 连接milvus client = MilvusClient(uri="http://10.1.1.240:19530", db_name="mixi") @@ -88,8 +92,8 @@ class SimilarMatch: search_response = client.search( collection_name="mixi_outfit", # Replace with the actual name of your collection # Replace with your query vector - data=[features[0]], - limit=5, # Max. number of search results to return + data=[self.features[0]], + limit=self.result_number, # Max. number of search results to return output_fields=["id", "image_path"], # Search parameters ) return search_response @@ -98,8 +102,9 @@ class SimilarMatch: if __name__ == '__main__': - service = SimilarMatch() - features = service.get_features(img_path="test/2024 SS/MKTS27000.jpg") - search_response = service.match_features(features) + request_data = SimilarMatchMItem(image_path="test/top/test_top1.jpg", result_number=1) + + service = SimilarMatch(request_data) + search_response = service.match_features() print(json.dumps(search_response, indent=4)) From 89a205329adb1cc67be077c6861febf43446e708 Mon Sep 17 00:00:00 2001 From: zhouchengrong Date: Thu, 28 Mar 2024 10:10:13 +0800 Subject: [PATCH 18/26] =?UTF-8?q?attribute=20=E5=AD=97=E6=AE=B5=E5=90=8D?= =?UTF-8?q?=E8=A7=84=E8=8C=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../discriptor/bottom/ori1_bottom_Type.csv | 4 +- .../discriptor/dress/12_dress_type.csv | 38 +++++++++---------- .../discriptor/dress/ori13_dress_Type.csv | 38 +++++++++---------- .../jumpsuit/12_jumpsuit_subtype.csv | 10 ++--- .../discriptor/jumpsuit/1_jumsuit_length.csv | 10 ++--- .../jumpsuit/3_jumpsuit_Sleeve_shape.csv | 16 ++++---- .../discriptor/outwear/11_outer_opening.csv | 4 +- .../discriptor/outwear/2_outer_type.csv | 34 ++++++++--------- .../discriptor/top/2_top_type.csv | 28 +++++++------- .../discriptor/top/ori1_Top_length.csv | 6 +-- 10 files changed, 94 insertions(+), 94 deletions(-) diff --git a/app/service/attribute_recognition/discriptor/bottom/ori1_bottom_Type.csv b/app/service/attribute_recognition/discriptor/bottom/ori1_bottom_Type.csv index 86966df..e1a7c82 100644 --- a/app/service/attribute_recognition/discriptor/bottom/ori1_bottom_Type.csv +++ b/app/service/attribute_recognition/discriptor/bottom/ori1_bottom_Type.csv @@ -1,3 +1,3 @@ labelName,join_attr,taskName,taskId -Pants,BTM_Type_1,Silhouette,1 -Skirt,BTM_Type_2,Silhouette,1 +Pants,BTM_Type_1,Type,1 +Skirt,BTM_Type_2,Type,1 diff --git a/app/service/attribute_recognition/discriptor/dress/12_dress_type.csv b/app/service/attribute_recognition/discriptor/dress/12_dress_type.csv index a49f413..7a7a1c7 100644 --- a/app/service/attribute_recognition/discriptor/dress/12_dress_type.csv +++ b/app/service/attribute_recognition/discriptor/dress/12_dress_type.csv @@ -1,20 +1,20 @@ labelName,join_attr,taskName,taskId -Evening gown,attr_dresstype_1,Silhouette,12 -Shirt-dress,attr_dresstype_2,Silhouette,12 -Coat dress,attr_dresstype_3,Silhouette,12 -Handkerchief dress,attr_dresstype_4,Silhouette,12 -Jumper dress,attr_dresstype_5,Silhouette,12 -Dungaree dress,attr_dresstype_6,Silhouette,12 -Skater dress,attr_dresstype_7,Silhouette,12 -Tea dress,attr_dresstype_8,Silhouette,12 -Mermaid dress,attr_dresstype_9,Silhouette,12 -Cocktail dress,attr_dresstype_10,Silhouette,12 -A-Line dress,attr_dresstype_11,Silhouette,12 -Bodycon dress,attr_dresstype_12,Silhouette,12 -Maxi dress,attr_dresstype_13,Silhouette,12 -Office dress,attr_dresstype_14,Silhouette,12 -Pencil dress,attr_dresstype_15,Silhouette,12 -Sheer dress,attr_dresstype_16,Silhouette,12 -Shift dress,attr_dresstype_17,Silhouette,12 -Slip dress,attr_dresstype_18,Silhouette,12 -T-shirt dress,attr_dresstype_19,Silhouette,12 \ No newline at end of file +Evening gown,attr_dresstype_1,Type,12 +Shirt-dress,attr_dresstype_2,Type,12 +Coat dress,attr_dresstype_3,Type,12 +Handkerchief dress,attr_dresstype_4,Type,12 +Jumper dress,attr_dresstype_5,Type,12 +Dungaree dress,attr_dresstype_6,Type,12 +Skater dress,attr_dresstype_7,Type,12 +Tea dress,attr_dresstype_8,Type,12 +Mermaid dress,attr_dresstype_9,Type,12 +Cocktail dress,attr_dresstype_10,Type,12 +A-Line dress,attr_dresstype_11,Type,12 +Bodycon dress,attr_dresstype_12,Type,12 +Maxi dress,attr_dresstype_13,Type,12 +Office dress,attr_dresstype_14,Type,12 +Pencil dress,attr_dresstype_15,Type,12 +Sheer dress,attr_dresstype_16,Type,12 +Shift dress,attr_dresstype_17,Type,12 +Slip dress,attr_dresstype_18,Type,12 +T-shirt dress,attr_dresstype_19,Type,12 \ No newline at end of file diff --git a/app/service/attribute_recognition/discriptor/dress/ori13_dress_Type.csv b/app/service/attribute_recognition/discriptor/dress/ori13_dress_Type.csv index ad55e33..84daf45 100644 --- a/app/service/attribute_recognition/discriptor/dress/ori13_dress_Type.csv +++ b/app/service/attribute_recognition/discriptor/dress/ori13_dress_Type.csv @@ -1,20 +1,20 @@ labelName,join_attr,taskName,taskId -Evening gown,attr_Dress_Type_1,Silhouette,13 -Shirt-dress,attr_Dress_Type_2,Silhouette,13 -Coat dress,attr_Dress_Type_3,Silhouette,13 -Handkerchief dress,attr_Dress_Type_4,Silhouette,13 -Jumper dress,attr_Dress_Type_5,Silhouette,13 -Dungaree dress,attr_Dress_Type_6,Silhouette,13 -Skater dress,attr_Dress_Type_7,Silhouette,13 -Tea dress,attr_Dress_Type_8,Silhouette,13 -Mermaid dress,attr_Dress_Type_9,Silhouette,13 -Cocktail dress,attr_Dress_Type_10,Silhouette,13 -A-Line dress,attr_Dress_Type_11,Silhouette,13 -Bodycon dress,attr_Dress_Type_12,Silhouette,13 -Maxi dress,attr_Dress_Type_13,Silhouette,13 -Office dress,attr_Dress_Type_14,Silhouette,13 -Pencil dress,attr_Dress_Type_15,Silhouette,13 -Sheer dress,attr_Dress_Type_16,Silhouette,13 -Shift dress,attr_Dress_Type_17,Silhouette,13 -Slip dress,attr_Dress_Type_18,Silhouette,13 -T-shirt dress,attr_Dress_Type_19,Silhouette,13 +Evening gown,attr_Dress_Type_1,Type,13 +Shirt-dress,attr_Dress_Type_2,Type,13 +Coat dress,attr_Dress_Type_3,Type,13 +Handkerchief dress,attr_Dress_Type_4,Type,13 +Jumper dress,attr_Dress_Type_5,Type,13 +Dungaree dress,attr_Dress_Type_6,Type,13 +Skater dress,attr_Dress_Type_7,Type,13 +Tea dress,attr_Dress_Type_8,Type,13 +Mermaid dress,attr_Dress_Type_9,Type,13 +Cocktail dress,attr_Dress_Type_10,Type,13 +A-Line dress,attr_Dress_Type_11,Type,13 +Bodycon dress,attr_Dress_Type_12,Type,13 +Maxi dress,attr_Dress_Type_13,Type,13 +Office dress,attr_Dress_Type_14,Type,13 +Pencil dress,attr_Dress_Type_15,Type,13 +Sheer dress,attr_Dress_Type_16,Type,13 +Shift dress,attr_Dress_Type_17,Type,13 +Slip dress,attr_Dress_Type_18,Type,13 +T-shirt dress,attr_Dress_Type_19,Type,13 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/12_jumpsuit_subtype.csv b/app/service/attribute_recognition/discriptor/jumpsuit/12_jumpsuit_subtype.csv index 4b9511b..ba7256d 100644 --- a/app/service/attribute_recognition/discriptor/jumpsuit/12_jumpsuit_subtype.csv +++ b/app/service/attribute_recognition/discriptor/jumpsuit/12_jumpsuit_subtype.csv @@ -1,6 +1,6 @@ labelName,join_attr,taskName,taskId -Peg leg,attr_Jumpsuit_subtype_1,Jumpsuit_Subtype,12 -Straight leg,attr_Jumpsuit_subtype_2,Jumpsuit_Subtype,12 -Wide leg,attr_Jumpsuit_subtype_3,Jumpsuit_Subtype,12 -Boot-cut flare,attr_Jumpsuit_subtype_4,Jumpsuit_Subtype,12 -Slim fit,attr_Jumpsuit_subtype_5,Jumpsuit_Subtype,12 +Peg leg,attr_Jumpsuit_subtype_1,Subtype,12 +Straight leg,attr_Jumpsuit_subtype_2,Subtype,12 +Wide leg,attr_Jumpsuit_subtype_3,Subtype,12 +Boot-cut flare,attr_Jumpsuit_subtype_4,Subtype,12 +Slim fit,attr_Jumpsuit_subtype_5,Subtype,12 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/1_jumsuit_length.csv b/app/service/attribute_recognition/discriptor/jumpsuit/1_jumsuit_length.csv index 8173879..6a03719 100644 --- a/app/service/attribute_recognition/discriptor/jumpsuit/1_jumsuit_length.csv +++ b/app/service/attribute_recognition/discriptor/jumpsuit/1_jumsuit_length.csv @@ -1,6 +1,6 @@ labelName,join_attr,taskName,taskId -Short,attr_Jumpsuit_length_1,Jumpsuit_Length,1 -Middle,attr_Jumpsuit_length_2,Jumpsuit_Length,1 -Seven,attr_Jumpsuit_length_3,Jumpsuit_Length,1 -Nine,attr_Jumpsuit_length_4,Jumpsuit_Length,1 -Long,attr_Jumpsuit_length_5,Jumpsuit_Length,1 +Short,attr_Jumpsuit_length_1,Length,1 +Middle,attr_Jumpsuit_length_2,Length,1 +Seven,attr_Jumpsuit_length_3,Length,1 +Nine,attr_Jumpsuit_length_4,Length,1 +Long,attr_Jumpsuit_length_5,Length,1 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/3_jumpsuit_Sleeve_shape.csv b/app/service/attribute_recognition/discriptor/jumpsuit/3_jumpsuit_Sleeve_shape.csv index 17a1c67..c1a9cce 100644 --- a/app/service/attribute_recognition/discriptor/jumpsuit/3_jumpsuit_Sleeve_shape.csv +++ b/app/service/attribute_recognition/discriptor/jumpsuit/3_jumpsuit_Sleeve_shape.csv @@ -1,9 +1,9 @@ labelName,join_attr,taskName,taskId -Regular,attr_Sleeve_shape_J_1,Sleeve_Length,3 -Slim,attr_Sleeve_shape_J_2,Sleeve_Length,3 -Puff,attr_Sleeve_shape_J_3,Sleeve_Length,3 -Bell,attr_Sleeve_shape_J_4,Sleeve_Length,3 -Batwing,attr_Sleeve_shape_J_5,Sleeve_Length,3 -Shirt,attr_Sleeve_shape_J_6,Sleeve_Length,3 -Rib,attr_Sleeve_shape_J_7,Sleeve_Length,3 -Raglan,attr_Sleeve_shape_J_8,Sleeve_Length,3 +Regular,attr_Sleeve_shape_J_1,Sleeve_Shape,3 +Slim,attr_Sleeve_shape_J_2,Sleeve_Shape,3 +Puff,attr_Sleeve_shape_J_3,Sleeve_Shape,3 +Bell,attr_Sleeve_shape_J_4,Sleeve_Shape,3 +Batwing,attr_Sleeve_shape_J_5,Sleeve_Shape,3 +Shirt,attr_Sleeve_shape_J_6,Sleeve_Shape,3 +Rib,attr_Sleeve_shape_J_7,Sleeve_Shape,3 +Raglan,attr_Sleeve_shape_J_8,Sleeve_Shape,3 diff --git a/app/service/attribute_recognition/discriptor/outwear/11_outer_opening.csv b/app/service/attribute_recognition/discriptor/outwear/11_outer_opening.csv index 53d0d42..d8c5372 100644 --- a/app/service/attribute_recognition/discriptor/outwear/11_outer_opening.csv +++ b/app/service/attribute_recognition/discriptor/outwear/11_outer_opening.csv @@ -1,3 +1,3 @@ labelName,join_attr,taskName,taskId -Full,attr_Opening_O_1,Opening,11 -Half,attr_Opening_O_2,Opening,11 +Full,attr_Opening_O_1,Opening_Type,11 +Half,attr_Opening_O_2,Opening_Type,11 diff --git a/app/service/attribute_recognition/discriptor/outwear/2_outer_type.csv b/app/service/attribute_recognition/discriptor/outwear/2_outer_type.csv index 926450c..60b6ae5 100644 --- a/app/service/attribute_recognition/discriptor/outwear/2_outer_type.csv +++ b/app/service/attribute_recognition/discriptor/outwear/2_outer_type.csv @@ -1,18 +1,18 @@ labelName,join_attr,taskName,taskId -Coat,attr_Outer_type_1,Silhouette,2 -Trench,attr_Outer_type_2,Silhouette,2 -Baseball jacket,attr_Outer_type_3,Silhouette,2 -Hoodie jacket,attr_Outer_type_4,Silhouette,2 -Active jacket,attr_Outer_type_5,Silhouette,2 -Jacket,attr_Outer_type_6,Silhouette,2 -Blazer,attr_Outer_type_7,Silhouette,2 -Cardigan,attr_Outer_type_8,Silhouette,2 -Capes,attr_Outer_type_9,Silhouette,2 -Fleeces Jacket,attr_Outer_type_10,Silhouette,2 -Gilets/Puffer,attr_Outer_type_11,Silhouette,2 -Aviator jacket,attr_Outer_type_12,Silhouette,2 -Biker jacket,attr_Outer_type_13,Silhouette,2 -Pea coat,attr_Outer_type_14,Silhouette,2 -Shacket,attr_Outer_type_15,Silhouette,2 -Denim jacket,attr_Outer_type_16,Silhouette,2 -Raincoat,attr_Outer_type_17,Silhouette,2 +Coat,attr_Outer_type_1,Type,2 +Trench,attr_Outer_type_2,Type,2 +Baseball jacket,attr_Outer_type_3,Type,2 +Hoodie jacket,attr_Outer_type_4,Type,2 +Active jacket,attr_Outer_type_5,Type,2 +Jacket,attr_Outer_type_6,Type,2 +Blazer,attr_Outer_type_7,Type,2 +Cardigan,attr_Outer_type_8,Type,2 +Capes,attr_Outer_type_9,Type,2 +Fleeces Jacket,attr_Outer_type_10,Type,2 +Gilets/Puffer,attr_Outer_type_11,Type,2 +Aviator jacket,attr_Outer_type_12,Type,2 +Biker jacket,attr_Outer_type_13,Type,2 +Pea coat,attr_Outer_type_14,Type,2 +Shacket,attr_Outer_type_15,Type,2 +Denim jacket,attr_Outer_type_16,Type,2 +Raincoat,attr_Outer_type_17,Type,2 diff --git a/app/service/attribute_recognition/discriptor/top/2_top_type.csv b/app/service/attribute_recognition/discriptor/top/2_top_type.csv index fa0095f..01cc5e0 100644 --- a/app/service/attribute_recognition/discriptor/top/2_top_type.csv +++ b/app/service/attribute_recognition/discriptor/top/2_top_type.csv @@ -1,15 +1,15 @@ labelName,join_attr,taskName,taskId -Bandeau,attr_toptype_1,Top_Type,2 -Blouse,attr_toptype_2,Top_Type,2 -Bodysuit,attr_toptype_3,Top_Type,2 -Bralets,attr_toptype_4,Top_Type,2 -Camisole,attr_toptype_5,Top_Type,2 -Crop Top,attr_toptype_6,Top_Type,2 -Hoodie,attr_toptype_7,Top_Type,2 -Pullover,attr_toptype_8,Top_Type,2 -Polo shirt,attr_toptype_9,Top_Type,2 -Shirt,attr_toptype_10,Top_Type,2 -strapeless,attr_toptype_11,Top_Type,2 -Sweater,attr_toptype_12,Top_Type,2 -Tank Top,attr_toptype_13,Top_Type,2 -T-shirt,attr_toptype_14,Top_Type,2 +Bandeau,attr_toptype_1,Type,2 +Blouse,attr_toptype_2,Type,2 +Bodysuit,attr_toptype_3,Type,2 +Bralets,attr_toptype_4,Type,2 +Camisole,attr_toptype_5,Type,2 +Crop Top,attr_toptype_6,Type,2 +Hoodie,attr_toptype_7,Type,2 +Pullover,attr_toptype_8,Type,2 +Polo shirt,attr_toptype_9,Type,2 +Shirt,attr_toptype_10,Type,2 +strapeless,attr_toptype_11,Type,2 +Sweater,attr_toptype_12,Type,2 +Tank Top,attr_toptype_13,Type,2 +T-shirt,attr_toptype_14,Type,2 diff --git a/app/service/attribute_recognition/discriptor/top/ori1_Top_length.csv b/app/service/attribute_recognition/discriptor/top/ori1_Top_length.csv index 04ddc9e..49903cc 100644 --- a/app/service/attribute_recognition/discriptor/top/ori1_Top_length.csv +++ b/app/service/attribute_recognition/discriptor/top/ori1_Top_length.csv @@ -1,4 +1,4 @@ labelName,join_attr,taskName,taskId -Short,attr_Top_length_1,length,1 -Regular,attr_Top_length_2,length,1 -Long,attr_Top_length_3,length,1 +Short,attr_Top_length_1,Length,1 +Regular,attr_Top_length_2,Length,1 +Long,attr_Top_length_3,Length,1 From 884a10213be72ec90ffc38d3de978c3d192e2823 Mon Sep 17 00:00:00 2001 From: zhouchengrong Date: Thu, 28 Mar 2024 10:12:21 +0800 Subject: [PATCH 19/26] =?UTF-8?q?attribute=20=E5=AD=97=E6=AE=B5=E5=90=8D?= =?UTF-8?q?=E8=A7=84=E8=8C=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 +- app/api/api_similar_match.py | 25 ++++ app/schemas/similar_match.py | 6 + .../attribute_recognition/const_debug.py | 139 ++++++++++++++++++ .../outfit_matcher/test_param/test.json | 19 +++ app/service/similar_match/__init__.py | 0 app/service/similar_match/service.py | 110 ++++++++++++++ 7 files changed, 301 insertions(+), 1 deletion(-) create mode 100644 app/api/api_similar_match.py create mode 100644 app/schemas/similar_match.py create mode 100644 app/service/attribute_recognition/const_debug.py create mode 100644 app/service/outfit_matcher/test_param/test.json create mode 100644 app/service/similar_match/__init__.py create mode 100644 app/service/similar_match/service.py diff --git a/.gitignore b/.gitignore index 1965b2b..261f9d2 100644 --- a/.gitignore +++ b/.gitignore @@ -130,4 +130,5 @@ uwsgi .conf app/logs *.log -*.jpg \ No newline at end of file +*.jpg +*.zip \ No newline at end of file diff --git a/app/api/api_similar_match.py b/app/api/api_similar_match.py new file mode 100644 index 0000000..1a49e7b --- /dev/null +++ b/app/api/api_similar_match.py @@ -0,0 +1,25 @@ +import logging +import time + +from fastapi import APIRouter + +from app.schemas.similar_match import SimilarMatchMItem +from app.service.similar_match.service import SimilarMatch +from app.service.utils.decorator import RunTime + +logger = logging.getLogger() +router = APIRouter() + + +@RunTime +@router.post("similar_match") +def similar_match(request_item: SimilarMatchMItem): + try: + if request_item.result_number <= 0: + raise KeyError("result number can't be less than 0") + service = SimilarMatch(request_item) + search_response = service.match_features() + return {"message": "ok", "data": search_response} + except KeyError as e: + logger.warning(str(e)) + return {"message": "result number can't be less than 0", "data": []} diff --git a/app/schemas/similar_match.py b/app/schemas/similar_match.py new file mode 100644 index 0000000..e5fb063 --- /dev/null +++ b/app/schemas/similar_match.py @@ -0,0 +1,6 @@ +from pydantic import BaseModel + + +class SimilarMatchMItem(BaseModel): + image_path: str + result_number: int diff --git a/app/service/attribute_recognition/const_debug.py b/app/service/attribute_recognition/const_debug.py new file mode 100644 index 0000000..3b20939 --- /dev/null +++ b/app/service/attribute_recognition/const_debug.py @@ -0,0 +1,139 @@ +import torch + +device = torch.device('cuda') +top_discription_list = [r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\1_top_length.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\2_top_type.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\3_top_Sleeve_length.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\4_top_Sleeve_shape.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\5_top_Sleeve_shoulder.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\6_top_Neckline.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\7_outer_Print.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\8_outer_Material.csv', + # r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\9_top_Material.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\9_top_Softness.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\10_top_Design.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\11_top_OPType.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\12_top_Silhouette.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\7_top_Collar.csv'] + +top_model_list = ['top_length', + 'top_type', + 'top_Sleeve_length', + 'top_Sleeve_shape', + 'top_Sleeve_shoulder', + 'top_Neckline', + 'top_print', + 'top_material', + 'top_Softness', + 'top_Design', + 'top_optype', + 'top_Silhouette', + 'top_Collar' + ] + +bottom_discription_list = [ + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\bottom\2_bottom_subtype.csv', + # r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\bottom\3_bottom_structure.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\bottom\3_bottom_length.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\bottom\7_outer_Print.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\bottom\8_outer_Material.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\bottom\5_bottom_Softness.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\bottom\8_bottom_Silhouette.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\bottom\7_bottom_OPType.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\bottom\6_bottom_Design.csv'] + +bottom_model_list = [ + 'bottom_sub-Type', + 'bottom_length', + 'bottom_print', + 'bottom_material', + 'bottom_Softness_B', + 'bottom_Silhouette_B', + 'bottom_OPType_B', + 'bottom_design'] + +outwear_discription_list = [r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\1_outer_length.csv', + # r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\2_outer_type.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\3_outer_sleeve_length.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\4_outer_sleeve_shape.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\5_outer_sleeve_shoulder.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\6_outer_Collar.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\7_outer_Print.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\8_outer_Material.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\9_outer_Softness.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\10_outer_Design.csv', + # r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\11_outer_opening.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\12_outer_OPType.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\13_outer_Silhouette.csv', ] + +outwear_model_list = ['outwear_outer_length', + # 'outwear_2_outer_type', + 'outwear_outer_sleeve_length', + 'outwear_outer_sleeve_shape', + 'outwear_outer_sleeve_shoulder', + 'outwear_outer_collar', + 'outwear_print', + 'outwear_material', + 'outwear_outer_softness', + 'outwear_outer_design', + # 'outwear_11_outer_opening', + 'outwear_outer_optype', + 'outwear_outer_silhouette'] + +jumpsuit_discription_list = [r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\1_jumsuit_length.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\2_jumpsuit_Sleeve_length.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\3_jumpsuit_Sleeve_shape.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\4_jumpsuit_Sleeve_shoulder.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\5_jumpsuit_Neckline.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\6_jumpsuit_Collar.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\7_jumpsuit_Print.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\8_jumpsuit_Material.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\9_jumpsuit_Softness.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\10_jumsuit_design.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\11_jumpsuit_OPType.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\12_jumpsuit_subtype.csv'] + +jumpsuit_model_list = ['jumpsuit_length', + 'jumpsuit_sleeve_length', + 'jumpsuit_sleeve_shape', + 'jumpsuit_sleeve_shoulder', + 'jumpsuit_neckline', + 'jumpsuit_collar', + 'jumpsuit_print', + 'jumpsuit_material', + 'jumpsuit_softness', + 'jumpsuit_design', + 'jumpsuit_optype', + 'jumpsuit_subtype'] + +dress_discription_list = [r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\1_dress_length.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\3_top_Sleeve_length.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\4_top_Sleeve_shape.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\5_top_Sleeve_shoulder.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\ori5_dress_Neckline.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\7_outer_Print.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\7_top_Collar.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\8_outer_Material.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\9_dress_Design.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\9_top_Softness.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\11_dress_Silhouette.csv', + # r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\11_top_OPType.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\12_dress_type.csv'] + +dress_model_list = ['dress_length', + 'dress_sleeve_length', + 'dress_sleeve_shape', + 'dress_sleeve_shoulder', + 'dress_neckline', + 'dress_print', + 'dress_collar', + 'dress_material', + 'dress_design', + 'dress_softness', + 'dress_silohouette12', + # 'dress_' + 'dress_type' + ] + +category_discription = r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\category\category_dis.csv' +category_model = 'category' diff --git a/app/service/outfit_matcher/test_param/test.json b/app/service/outfit_matcher/test_param/test.json new file mode 100644 index 0000000..a62fd97 --- /dev/null +++ b/app/service/outfit_matcher/test_param/test.json @@ -0,0 +1,19 @@ +{ + "topk": 1, + "max_outfits": 5, + "is_best": true, + "query": [ + { + "image_path": "mi-tu/26/BOTTOM/PANTS/MKTS27000_0BLK.jpg/3f4676db-98a1-44d4-947f-9d1f59828629.jpg", + "item_name": "MKTS27000", + "semantic_category": "BOTTOM/PANTS" + } + ], + "database": [ + { + "image_path": "mi-tu/26/TOP/BLOUSE/MKTS27002_0WHT.jpg/131cc29e-8f70-4134-a0e8-82f826b00058.jpg", + "item_name": "MKTS27002", + "semantic_category": "TOP/BLOUSE" + } + ] +} \ No newline at end of file diff --git a/app/service/similar_match/__init__.py b/app/service/similar_match/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/app/service/similar_match/service.py b/app/service/similar_match/service.py new file mode 100644 index 0000000..87d9440 --- /dev/null +++ b/app/service/similar_match/service.py @@ -0,0 +1,110 @@ +import io +import json + +import numpy as np +import tritonclient.http as httpclient +from PIL import Image +from minio import Minio +from pymilvus import MilvusClient + +from app.core.config import * +from torchvision import transforms + +from app.schemas.similar_match import SimilarMatchMItem +from app.service.utils.decorator import RunTime + + +class SimilarMatch: + def __init__(self, request_data): + self.minio_client = Minio( + f"{MINIO_IP}:{MINIO_PORT}", + access_key=MINIO_ACCESS, + secret_key=MINIO_SECRET, + secure=MINIO_SECURE) + self.triton_client = httpclient.InferenceServerClient(url=f"{OM_TRITON_IP}:{OM_TRITON_PORT}") + self.image_path = request_data.image_path + self.result_number = request_data.result_number + self.features = self.get_features() + + @staticmethod + def resize_image(img): + """ + Args: + img: ndarray (height, width, channel) + """ + image_transforms = transforms.Compose([ + transforms.Resize(112), + transforms.CenterCrop(112), + transforms.ToTensor(), + transforms.Normalize(mean=[0.485, 0.456, 0.406], + std=[0.229, 0.224, 0.225]), + ]) + resized_img = image_transforms(img).numpy() + return resized_img + + def load_image(self, img_path): + # 从 MinIO 中获取对象(图像文件) + image_data = self.minio_client.get_object(img_path.split("/", 1)[0], img_path.split("/", 1)[1]) + # 读取图像数据并转换为 PIL 图像对象 + pil_image = Image.open(io.BytesIO(image_data.data)).convert("RGB") + # 将 PIL 图像转换为 NumPy 数组 + # image_array = np.array(pil_image) + return pil_image + + def preprocess(self, img_path): + image = self.load_image(img_path) + image = self.resize_image(image) + image = np.stack([[image]], axis=0) + + category = np.stack([[1, 6]], axis=0) + + mask = np.zeros((1, 1), dtype=np.float32) + return image, category, mask + + def get_features(self): + image, category, mask = self.preprocess(self.image_path) + # 输入集 + inputs = [ + httpclient.InferInput("input__0", image.shape, datatype="FP32"), + httpclient.InferInput("input__1", category.shape, datatype="INT16"), + httpclient.InferInput("input__2", mask.shape, datatype="FP32"), + ] + inputs[0].set_data_from_numpy(image.astype(np.float32), binary_data=True) + inputs[1].set_data_from_numpy(category.astype(np.int16), binary_data=True) + inputs[2].set_data_from_numpy(mask.astype(np.float32), binary_data=True) + # 输出集 + outputs = [ + httpclient.InferRequestedOutput("output__0", binary_data=True), + httpclient.InferRequestedOutput("output__1", binary_data=True) + ] + results = self.triton_client.infer(model_name="outfit_matcher_type_aware", inputs=inputs, outputs=outputs) + # 推理 + # 取结果 + features = results.as_numpy("output__1") # Shape (N, 64) + return features + + @RunTime + def match_features(self): + # 连接milvus + # 连接milvus + client = MilvusClient(uri="http://10.1.1.240:19530", db_name="mixi") + try: + search_response = client.search( + collection_name="mixi_outfit", # Replace with the actual name of your collection + # Replace with your query vector + data=[self.features[0]], + limit=self.result_number, # Max. number of search results to return + output_fields=["id", "image_path"], # Search parameters + ) + return search_response + finally: + client.close() + + +if __name__ == '__main__': + request_data = SimilarMatchMItem(image_path="test/top/test_top1.jpg", result_number=1) + + service = SimilarMatch(request_data) + search_response = service.match_features() + + print(json.dumps(search_response, indent=4)) From 802a30cb1b32c17a2e53f271e35aca1462e032b5 Mon Sep 17 00:00:00 2001 From: zhouchengrong Date: Thu, 28 Mar 2024 10:24:28 +0800 Subject: [PATCH 20/26] =?UTF-8?q?attribute=20=E5=AD=97=E6=AE=B5=E5=90=8D?= =?UTF-8?q?=E8=A7=84=E8=8C=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 135 ----------------------------------------------------- 1 file changed, 135 deletions(-) delete mode 100644 .gitignore diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 44ae919..0000000 --- a/.gitignore +++ /dev/null @@ -1,135 +0,0 @@ -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - -# C extensions -*.so - -# Distribution / packaging -.Python -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -wheels/ -share/python-wheels/ -*.egg-info/ -.installed.cfg -*.egg -MANIFEST - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.nox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*.cover -.hypothesis/ -.pytest_cache/ - -# Translations -*.mo -*.pot - -# Django stuff: -local_settings.py -db.sqlite3 - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ - -# PyBuilder -target/ - -# Jupyter Notebook -.ipynb_checkpoints - -# IPython -profile_default/ -ipython_config.py - -# pyenv -.python-version - -# celery beat schedule file -celerybeat-schedule - -# SageMath parsed files -*.sage.py - -# Environments -.env -.venv -env/ -venv/ -ENV/ -env.bak/ -venv.bak/ - -# Spyder project settings -.spyderproject -.spyproject - -# Rope project settings -.ropeproject - -# mkdocs documentation -/site - -# mypy -.mypy_cache/ -.dmypy.json -dmypy.json - -# Pyre type checker -.pyre/ - -.idea - - -.test - -#runtime produce -#test -logs -seg_result/ -seg_result -*.png -uwsgi -#*.yaml - -.conf -app/logs -app/logs/* -*.log -*.jpg -*.zip \ No newline at end of file From 7faf507b9e6ca9fc74a90e691c02f63dc7a8ff27 Mon Sep 17 00:00:00 2001 From: zhouchengrong Date: Thu, 28 Mar 2024 10:25:57 +0800 Subject: [PATCH 21/26] =?UTF-8?q?attribute=20=E5=AD=97=E6=AE=B5=E5=90=8D?= =?UTF-8?q?=E8=A7=84=E8=8C=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 132 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ce72d0a --- /dev/null +++ b/.gitignore @@ -0,0 +1,132 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +.hypothesis/ +.pytest_cache/ + +# Translations +*.mo +*.pot + +# Django stuff: +local_settings.py +db.sqlite3 + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +.python-version + +# celery beat schedule file +celerybeat-schedule + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +.idea + + +.test + +#runtime produce +#test +logs +seg_result/ +seg_result +*.png +uwsgi +#*.yaml + +.conf +*.jpg +*.zip \ No newline at end of file From 307afe60533e8cca833bd117ed56962667d6ec43 Mon Sep 17 00:00:00 2001 From: zhouchengrong Date: Thu, 28 Mar 2024 10:28:41 +0800 Subject: [PATCH 22/26] =?UTF-8?q?attribute=20=E5=AD=97=E6=AE=B5=E5=90=8D?= =?UTF-8?q?=E8=A7=84=E8=8C=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 70 ++++-------------------------------------------------- 1 file changed, 4 insertions(+), 66 deletions(-) diff --git a/.gitignore b/.gitignore index ce72d0a..676b19b 100644 --- a/.gitignore +++ b/.gitignore @@ -26,74 +26,15 @@ share/python-wheels/ *.egg MANIFEST -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec -# Installer logs -pip-log.txt -pip-delete-this-directory.txt -# Unit test / coverage reports -htmlcov/ -.tox/ -.nox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*.cover -.hypothesis/ -.pytest_cache/ - -# Translations -*.mo -*.pot - -# Django stuff: -local_settings.py -db.sqlite3 - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ # PyBuilder target/ -# Jupyter Notebook -.ipynb_checkpoints -# IPython -profile_default/ -ipython_config.py -# pyenv -.python-version -# celery beat schedule file -celerybeat-schedule - -# SageMath parsed files -*.sage.py - -# Environments -.env -.venv -env/ -venv/ -ENV/ -env.bak/ -venv.bak/ # Spyder project settings .spyderproject @@ -102,13 +43,7 @@ venv.bak/ # Rope project settings .ropeproject -# mkdocs documentation -/site -# mypy -.mypy_cache/ -.dmypy.json -dmypy.json # Pyre type checker .pyre/ @@ -129,4 +64,7 @@ uwsgi .conf *.jpg -*.zip \ No newline at end of file +*.zip +app/logs/errors.log +app/logs/info.log +app/logs/debug.log From 10bef5c152644295af95cd4299bb3e63713a9503 Mon Sep 17 00:00:00 2001 From: zhouchengrong Date: Thu, 28 Mar 2024 10:29:04 +0800 Subject: [PATCH 23/26] =?UTF-8?q?attribute=20=E5=AD=97=E6=AE=B5=E5=90=8D?= =?UTF-8?q?=E8=A7=84=E8=8C=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 22 - README.md | 45 - app/__init__.py | 0 app/api/__init__.py | 0 app/api/api_attribute.py | 19 - app/api/api_outfit_matcher.py | 47 - app/api/api_route.py | 13 - app/api/api_similar_match.py | 25 - app/api/api_test.py | 12 - app/core/__init__.py | 0 app/core/config.py | 49 - app/logs/errors.log | 1713 ----------------- app/main.py | 39 - app/schemas/attribute.py | 6 - app/schemas/outfit_matcher.py | 15 - app/schemas/similar_match.py | 6 - app/service/attribute_recognition/__init__.py | 0 app/service/attribute_recognition/const.py | 139 -- .../attribute_recognition/const_debug.py | 139 -- .../discriptor/bottom/2_bottom_subtype.csv | 21 - .../discriptor/bottom/3_bottom_length.csv | 6 - .../discriptor/bottom/5_bottom_Softness.csv | 4 - .../discriptor/bottom/6_bottom_Design.csv | 17 - .../discriptor/bottom/7_bottom_OPType.csv | 6 - .../discriptor/bottom/7_outer_Print.csv | 16 - .../discriptor/bottom/8_bottom_Silhouette.csv | 6 - .../discriptor/bottom/8_outer_Material.csv | 28 - .../bottom/ori10_bottom_Silhoutte.csv | 6 - .../discriptor/bottom/ori1_bottom_Type.csv | 3 - .../discriptor/bottom/ori2_bottom_subtype.csv | 47 - .../bottom/ori3_bottom_structure.csv | 4 - .../discriptor/bottom/ori4_bottom_length.csv | 6 - .../discriptor/bottom/ori5_bottom_Print.csv | 16 - .../bottom/ori6_bottom_Material.csv | 28 - .../bottom/ori7_bottom_Softness.csv | 4 - .../discriptor/bottom/ori8_bottom_Design.csv | 17 - .../discriptor/bottom/ori9_bottom_OPType.csv | 6 - .../discriptor/category/category_dis.csv | 7 - .../discriptor/dress/11_dress_Silhouette.csv | 11 - .../discriptor/dress/11_top_OPType.csv | 5 - .../discriptor/dress/12_dress_type.csv | 20 - .../discriptor/dress/1_dress_length.csv | 6 - .../discriptor/dress/3_top_Sleeve_length.csv | 6 - .../discriptor/dress/4_top_Sleeve_shape.csv | 9 - .../dress/5_top_Sleeve_shoulder.csv | 5 - .../discriptor/dress/6_top_Neckline.csv | 7 - .../discriptor/dress/7_outer_Print.csv | 16 - .../discriptor/dress/7_top_Collar.csv | 11 - .../discriptor/dress/8_outer_Material.csv | 28 - .../discriptor/dress/9_dress_Design.csv | 19 - .../discriptor/dress/9_top_Softness.csv | 4 - .../discriptor/dress/ori10_dress_Design.csv | 16 - .../discriptor/dress/ori11_dress_OPType.csv | 5 - .../dress/ori12_dress_Silhouette.csv | 11 - .../discriptor/dress/ori13_dress_Type.csv | 20 - .../discriptor/dress/ori1_dress_length.csv | 6 - .../dress/ori2_dress_Sleeve_length.csv | 6 - .../dress/ori3_dress_Sleeve_shape.csv | 9 - .../dress/ori4_dress_Sleeve_shoulder.csv | 5 - .../discriptor/dress/ori5_dress_Neckline.csv | 17 - .../discriptor/dress/ori6_dress_Collar.csv | 11 - .../discriptor/dress/ori7_dress_Print.csv | 16 - .../discriptor/dress/ori8_dress_Material.csv | 28 - .../discriptor/dress/ori9_dress_Softness.csv | 4 - .../jumpsuit/.~lock.12_jumsuit_subtye.csv# | 1 - .../jumpsuit/.~lock.8_jumpsuit_Material.csv# | 1 - .../discriptor/jumpsuit/10_jumsuit_design.csv | 17 - .../jumpsuit/11_jumpsuit_OPType.csv | 5 - .../jumpsuit/12_jumpsuit_subtype.csv | 6 - .../discriptor/jumpsuit/1_jumsuit_length.csv | 6 - .../jumpsuit/2_jumpsuit_Sleeve_length.csv | 6 - .../jumpsuit/3_jumpsuit_Sleeve_shape.csv | 9 - .../jumpsuit/4_jumpsuit_Sleeve_shoulder.csv | 5 - .../jumpsuit/5_jumpsuit_Neckline.csv | 7 - .../discriptor/jumpsuit/6_jumpsuit_Collar.csv | 11 - .../discriptor/jumpsuit/7_jumpsuit_Print.csv | 16 - .../jumpsuit/8_jumpsuit_Material.csv | 28 - .../jumpsuit/9_jumpsuit_Softness.csv | 4 - .../discriptor/outwear/10_outer_Design.csv | 19 - .../discriptor/outwear/11_outer_opening.csv | 3 - .../discriptor/outwear/12_outer_OPType.csv | 5 - .../outwear/13_outer_Silhouette.csv | 7 - .../discriptor/outwear/1_outer_length.csv | 4 - .../discriptor/outwear/2_outer_type.csv | 18 - .../outwear/3_outer_sleeve_length.csv | 6 - .../outwear/4_outer_sleeve_shape.csv | 9 - .../outwear/5_outer_sleeve_shoulder.csv | 6 - .../discriptor/outwear/6_outer_Collar.csv | 10 - .../discriptor/outwear/7_outer_Print.csv | 16 - .../discriptor/outwear/8_outer_Material.csv | 28 - .../discriptor/outwear/9_outer_Softness.csv | 4 - .../discriptor/top/10_top_Design.csv | 15 - .../discriptor/top/11_top_OPType.csv | 5 - .../discriptor/top/12_top_Silhouette.csv | 7 - .../discriptor/top/1_top_length.csv | 4 - .../discriptor/top/2_top_type.csv | 15 - .../discriptor/top/3_top_Sleeve_length.csv | 6 - .../discriptor/top/4_top_Sleeve_shape.csv | 9 - .../discriptor/top/5_top_Sleeve_shoulder.csv | 5 - .../discriptor/top/6_top_Neckline.csv | 7 - .../discriptor/top/7_outer_Print.csv | 16 - .../discriptor/top/7_top_Collar.csv | 11 - .../discriptor/top/8_outer_Material.csv | 28 - .../discriptor/top/9_top_Softness.csv | 4 - .../discriptor/top/ori10_top_Softness.csv | 4 - .../discriptor/top/ori11_top_Design.csv | 16 - .../discriptor/top/ori12_top_OPType.csv | 5 - .../discriptor/top/ori13_top_Silhouette.csv | 7 - .../discriptor/top/ori1_Top_length.csv | 4 - .../discriptor/top/ori2_Top_type.csv | 15 - .../discriptor/top/ori3_top_Sleeve_length.csv | 6 - .../discriptor/top/ori4_top_Sleeve_shape.csv | 9 - .../top/ori5_top_Sleeve_shoulder.csv | 5 - .../discriptor/top/ori6_top_Neckline.csv | 16 - .../discriptor/top/ori7_top_Collar.csv | 11 - .../discriptor/top/ori8_top_Print.csv | 16 - .../discriptor/top/ori9_top_Material.csv | 28 - app/service/attribute_recognition/service.py | 215 --- app/service/outfit_matcher/__init__.py | 0 .../outfit_matcher/color/MKTS27000.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27001.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27002.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27003.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27004.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27008.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27009.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27010.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27011.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27012.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27013.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27014.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27015.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27016.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27017.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27018.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27019.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27027.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27028.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27029.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27030.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27031.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27034.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27035.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27038.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27039.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27040.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27045.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27046.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27047.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27050.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27058.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27059.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27061.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27062.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27066.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27067.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27068.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MKTS27073.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27101.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27102.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27103.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27104.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27107.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27109.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27110.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27111.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27112.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27113.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27119.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27122.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27123.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27128.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27129.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27132.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27133.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27136.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27137.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27140.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27141.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27142.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27145.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27146.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27147.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27148.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27149.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27150.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27152.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27154.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27156.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27157.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27159.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27160.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27161.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27162.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27167.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27173.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27174.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27175.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27176.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MLSS27226.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MPO_SP7685.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MPO_SP7686.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MPO_SP7687.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MPO_SP7692.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MPO_SP7693.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MPO_SP7694.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MPO_SP7696.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MPO_SP7697.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MPO_SP7704.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MPO_SP7705.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MPO_SP7706.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MPO_SP7711.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MPO_SP7712.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MPO_SP7717.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MPO_SP7722.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MPO_SP7723.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MPO_SP7726.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MPO_SP7729.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MPO_SP7731.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MPO_SP7732.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MPO_SP7735.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_54385.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_56720.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_57987.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_57988.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58044.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58045.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58057.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58058.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58106.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58107.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58112.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58114.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58132.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58133.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58174.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58183.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58184.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58185.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58188.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58197.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58198.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58199.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58203.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58222.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58241.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58275.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58276.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58277.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58287.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58289.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58317.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58323.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58361.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58421.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58451.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58473.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58495.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58498.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58499.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58510.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58516.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58518.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58530.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58540.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58547.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58618.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58653.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58655.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MSE_58658.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MWSS27184.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MWSS27191.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MWSS27193.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MWSS27195.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MWSS27200.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MWSS27209.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MWSS27210.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MWSS27211.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MWSS27212.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MZOS27178.npy | Bin 328 -> 0 bytes .../outfit_matcher/color/MZOS27179.npy | Bin 328 -> 0 bytes .../config/fashion_categories.json | 242 --- .../config/fashion_category_mapping.json | 242 --- app/service/outfit_matcher/dataset.py | 141 -- app/service/outfit_matcher/foco.py | 251 --- .../outfit_matcher/outfit_evaluator.py | 338 ---- app/service/outfit_matcher/service.py | 37 - .../test_param/recommendation_test.json | 29 - .../test_param/recommendation_test_pkc.json | 849 -------- .../test_param/recommendation_test_zcr.json | 849 -------- .../outfit_matcher/test_param/test.json | 19 - app/service/similar_match/__init__.py | 0 app/service/similar_match/service.py | 110 -- app/service/utils/decorator.py | 15 - docker-compose.yml | 9 - gunicorn_config.py | 38 - logging_env.py | 51 - requirements.txt | Bin 986 -> 0 bytes test/attribute/infer_test.py | 110 -- test/attribute/model.py | 56 - .../attribute_recognition_model_infer.py | 51 - test/json/outfit_response.py | 273 --- test/minio_client_test/minio_client.py | 12 - test/outfit_matcher/triton_infer.py | 0 .../1.create databases.py | 5 - .../2.create collection.py | 23 - test/outfit_matcher_milvus/3.create index.py | 23 - .../4.load clollection.py | 10 - test/outfit_matcher_milvus/5.similar match.py | 27 - 309 files changed, 7394 deletions(-) delete mode 100644 Dockerfile delete mode 100644 README.md delete mode 100644 app/__init__.py delete mode 100644 app/api/__init__.py delete mode 100644 app/api/api_attribute.py delete mode 100644 app/api/api_outfit_matcher.py delete mode 100644 app/api/api_route.py delete mode 100644 app/api/api_similar_match.py delete mode 100644 app/api/api_test.py delete mode 100644 app/core/__init__.py delete mode 100644 app/core/config.py delete mode 100644 app/logs/errors.log delete mode 100644 app/main.py delete mode 100644 app/schemas/attribute.py delete mode 100644 app/schemas/outfit_matcher.py delete mode 100644 app/schemas/similar_match.py delete mode 100644 app/service/attribute_recognition/__init__.py delete mode 100644 app/service/attribute_recognition/const.py delete mode 100644 app/service/attribute_recognition/const_debug.py delete mode 100644 app/service/attribute_recognition/discriptor/bottom/2_bottom_subtype.csv delete mode 100644 app/service/attribute_recognition/discriptor/bottom/3_bottom_length.csv delete mode 100644 app/service/attribute_recognition/discriptor/bottom/5_bottom_Softness.csv delete mode 100644 app/service/attribute_recognition/discriptor/bottom/6_bottom_Design.csv delete mode 100644 app/service/attribute_recognition/discriptor/bottom/7_bottom_OPType.csv delete mode 100644 app/service/attribute_recognition/discriptor/bottom/7_outer_Print.csv delete mode 100644 app/service/attribute_recognition/discriptor/bottom/8_bottom_Silhouette.csv delete mode 100644 app/service/attribute_recognition/discriptor/bottom/8_outer_Material.csv delete mode 100644 app/service/attribute_recognition/discriptor/bottom/ori10_bottom_Silhoutte.csv delete mode 100644 app/service/attribute_recognition/discriptor/bottom/ori1_bottom_Type.csv delete mode 100644 app/service/attribute_recognition/discriptor/bottom/ori2_bottom_subtype.csv delete mode 100644 app/service/attribute_recognition/discriptor/bottom/ori3_bottom_structure.csv delete mode 100644 app/service/attribute_recognition/discriptor/bottom/ori4_bottom_length.csv delete mode 100644 app/service/attribute_recognition/discriptor/bottom/ori5_bottom_Print.csv delete mode 100644 app/service/attribute_recognition/discriptor/bottom/ori6_bottom_Material.csv delete mode 100644 app/service/attribute_recognition/discriptor/bottom/ori7_bottom_Softness.csv delete mode 100644 app/service/attribute_recognition/discriptor/bottom/ori8_bottom_Design.csv delete mode 100644 app/service/attribute_recognition/discriptor/bottom/ori9_bottom_OPType.csv delete mode 100644 app/service/attribute_recognition/discriptor/category/category_dis.csv delete mode 100644 app/service/attribute_recognition/discriptor/dress/11_dress_Silhouette.csv delete mode 100644 app/service/attribute_recognition/discriptor/dress/11_top_OPType.csv delete mode 100644 app/service/attribute_recognition/discriptor/dress/12_dress_type.csv delete mode 100644 app/service/attribute_recognition/discriptor/dress/1_dress_length.csv delete mode 100644 app/service/attribute_recognition/discriptor/dress/3_top_Sleeve_length.csv delete mode 100644 app/service/attribute_recognition/discriptor/dress/4_top_Sleeve_shape.csv delete mode 100644 app/service/attribute_recognition/discriptor/dress/5_top_Sleeve_shoulder.csv delete mode 100644 app/service/attribute_recognition/discriptor/dress/6_top_Neckline.csv delete mode 100644 app/service/attribute_recognition/discriptor/dress/7_outer_Print.csv delete mode 100644 app/service/attribute_recognition/discriptor/dress/7_top_Collar.csv delete mode 100644 app/service/attribute_recognition/discriptor/dress/8_outer_Material.csv delete mode 100644 app/service/attribute_recognition/discriptor/dress/9_dress_Design.csv delete mode 100644 app/service/attribute_recognition/discriptor/dress/9_top_Softness.csv delete mode 100644 app/service/attribute_recognition/discriptor/dress/ori10_dress_Design.csv delete mode 100644 app/service/attribute_recognition/discriptor/dress/ori11_dress_OPType.csv delete mode 100644 app/service/attribute_recognition/discriptor/dress/ori12_dress_Silhouette.csv delete mode 100644 app/service/attribute_recognition/discriptor/dress/ori13_dress_Type.csv delete mode 100644 app/service/attribute_recognition/discriptor/dress/ori1_dress_length.csv delete mode 100644 app/service/attribute_recognition/discriptor/dress/ori2_dress_Sleeve_length.csv delete mode 100644 app/service/attribute_recognition/discriptor/dress/ori3_dress_Sleeve_shape.csv delete mode 100644 app/service/attribute_recognition/discriptor/dress/ori4_dress_Sleeve_shoulder.csv delete mode 100644 app/service/attribute_recognition/discriptor/dress/ori5_dress_Neckline.csv delete mode 100644 app/service/attribute_recognition/discriptor/dress/ori6_dress_Collar.csv delete mode 100644 app/service/attribute_recognition/discriptor/dress/ori7_dress_Print.csv delete mode 100644 app/service/attribute_recognition/discriptor/dress/ori8_dress_Material.csv delete mode 100644 app/service/attribute_recognition/discriptor/dress/ori9_dress_Softness.csv delete mode 100644 app/service/attribute_recognition/discriptor/jumpsuit/.~lock.12_jumsuit_subtye.csv# delete mode 100644 app/service/attribute_recognition/discriptor/jumpsuit/.~lock.8_jumpsuit_Material.csv# delete mode 100644 app/service/attribute_recognition/discriptor/jumpsuit/10_jumsuit_design.csv delete mode 100644 app/service/attribute_recognition/discriptor/jumpsuit/11_jumpsuit_OPType.csv delete mode 100644 app/service/attribute_recognition/discriptor/jumpsuit/12_jumpsuit_subtype.csv delete mode 100644 app/service/attribute_recognition/discriptor/jumpsuit/1_jumsuit_length.csv delete mode 100644 app/service/attribute_recognition/discriptor/jumpsuit/2_jumpsuit_Sleeve_length.csv delete mode 100644 app/service/attribute_recognition/discriptor/jumpsuit/3_jumpsuit_Sleeve_shape.csv delete mode 100644 app/service/attribute_recognition/discriptor/jumpsuit/4_jumpsuit_Sleeve_shoulder.csv delete mode 100644 app/service/attribute_recognition/discriptor/jumpsuit/5_jumpsuit_Neckline.csv delete mode 100644 app/service/attribute_recognition/discriptor/jumpsuit/6_jumpsuit_Collar.csv delete mode 100644 app/service/attribute_recognition/discriptor/jumpsuit/7_jumpsuit_Print.csv delete mode 100644 app/service/attribute_recognition/discriptor/jumpsuit/8_jumpsuit_Material.csv delete mode 100644 app/service/attribute_recognition/discriptor/jumpsuit/9_jumpsuit_Softness.csv delete mode 100644 app/service/attribute_recognition/discriptor/outwear/10_outer_Design.csv delete mode 100644 app/service/attribute_recognition/discriptor/outwear/11_outer_opening.csv delete mode 100644 app/service/attribute_recognition/discriptor/outwear/12_outer_OPType.csv delete mode 100644 app/service/attribute_recognition/discriptor/outwear/13_outer_Silhouette.csv delete mode 100644 app/service/attribute_recognition/discriptor/outwear/1_outer_length.csv delete mode 100644 app/service/attribute_recognition/discriptor/outwear/2_outer_type.csv delete mode 100644 app/service/attribute_recognition/discriptor/outwear/3_outer_sleeve_length.csv delete mode 100644 app/service/attribute_recognition/discriptor/outwear/4_outer_sleeve_shape.csv delete mode 100644 app/service/attribute_recognition/discriptor/outwear/5_outer_sleeve_shoulder.csv delete mode 100644 app/service/attribute_recognition/discriptor/outwear/6_outer_Collar.csv delete mode 100644 app/service/attribute_recognition/discriptor/outwear/7_outer_Print.csv delete mode 100644 app/service/attribute_recognition/discriptor/outwear/8_outer_Material.csv delete mode 100644 app/service/attribute_recognition/discriptor/outwear/9_outer_Softness.csv delete mode 100644 app/service/attribute_recognition/discriptor/top/10_top_Design.csv delete mode 100644 app/service/attribute_recognition/discriptor/top/11_top_OPType.csv delete mode 100644 app/service/attribute_recognition/discriptor/top/12_top_Silhouette.csv delete mode 100644 app/service/attribute_recognition/discriptor/top/1_top_length.csv delete mode 100644 app/service/attribute_recognition/discriptor/top/2_top_type.csv delete mode 100644 app/service/attribute_recognition/discriptor/top/3_top_Sleeve_length.csv delete mode 100644 app/service/attribute_recognition/discriptor/top/4_top_Sleeve_shape.csv delete mode 100644 app/service/attribute_recognition/discriptor/top/5_top_Sleeve_shoulder.csv delete mode 100644 app/service/attribute_recognition/discriptor/top/6_top_Neckline.csv delete mode 100644 app/service/attribute_recognition/discriptor/top/7_outer_Print.csv delete mode 100644 app/service/attribute_recognition/discriptor/top/7_top_Collar.csv delete mode 100644 app/service/attribute_recognition/discriptor/top/8_outer_Material.csv delete mode 100644 app/service/attribute_recognition/discriptor/top/9_top_Softness.csv delete mode 100644 app/service/attribute_recognition/discriptor/top/ori10_top_Softness.csv delete mode 100644 app/service/attribute_recognition/discriptor/top/ori11_top_Design.csv delete mode 100644 app/service/attribute_recognition/discriptor/top/ori12_top_OPType.csv delete mode 100644 app/service/attribute_recognition/discriptor/top/ori13_top_Silhouette.csv delete mode 100644 app/service/attribute_recognition/discriptor/top/ori1_Top_length.csv delete mode 100644 app/service/attribute_recognition/discriptor/top/ori2_Top_type.csv delete mode 100644 app/service/attribute_recognition/discriptor/top/ori3_top_Sleeve_length.csv delete mode 100644 app/service/attribute_recognition/discriptor/top/ori4_top_Sleeve_shape.csv delete mode 100644 app/service/attribute_recognition/discriptor/top/ori5_top_Sleeve_shoulder.csv delete mode 100644 app/service/attribute_recognition/discriptor/top/ori6_top_Neckline.csv delete mode 100644 app/service/attribute_recognition/discriptor/top/ori7_top_Collar.csv delete mode 100644 app/service/attribute_recognition/discriptor/top/ori8_top_Print.csv delete mode 100644 app/service/attribute_recognition/discriptor/top/ori9_top_Material.csv delete mode 100644 app/service/attribute_recognition/service.py delete mode 100644 app/service/outfit_matcher/__init__.py delete mode 100644 app/service/outfit_matcher/color/MKTS27000.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27001.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27002.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27003.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27004.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27008.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27009.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27010.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27011.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27012.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27013.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27014.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27015.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27016.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27017.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27018.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27019.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27027.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27028.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27029.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27030.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27031.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27034.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27035.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27038.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27039.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27040.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27045.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27046.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27047.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27050.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27058.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27059.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27061.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27062.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27066.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27067.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27068.npy delete mode 100644 app/service/outfit_matcher/color/MKTS27073.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27101.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27102.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27103.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27104.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27107.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27109.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27110.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27111.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27112.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27113.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27119.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27122.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27123.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27128.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27129.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27132.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27133.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27136.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27137.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27140.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27141.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27142.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27145.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27146.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27147.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27148.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27149.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27150.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27152.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27154.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27156.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27157.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27159.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27160.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27161.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27162.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27167.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27173.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27174.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27175.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27176.npy delete mode 100644 app/service/outfit_matcher/color/MLSS27226.npy delete mode 100644 app/service/outfit_matcher/color/MPO_SP7685.npy delete mode 100644 app/service/outfit_matcher/color/MPO_SP7686.npy delete mode 100644 app/service/outfit_matcher/color/MPO_SP7687.npy delete mode 100644 app/service/outfit_matcher/color/MPO_SP7692.npy delete mode 100644 app/service/outfit_matcher/color/MPO_SP7693.npy delete mode 100644 app/service/outfit_matcher/color/MPO_SP7694.npy delete mode 100644 app/service/outfit_matcher/color/MPO_SP7696.npy delete mode 100644 app/service/outfit_matcher/color/MPO_SP7697.npy delete mode 100644 app/service/outfit_matcher/color/MPO_SP7704.npy delete mode 100644 app/service/outfit_matcher/color/MPO_SP7705.npy delete mode 100644 app/service/outfit_matcher/color/MPO_SP7706.npy delete mode 100644 app/service/outfit_matcher/color/MPO_SP7711.npy delete mode 100644 app/service/outfit_matcher/color/MPO_SP7712.npy delete mode 100644 app/service/outfit_matcher/color/MPO_SP7717.npy delete mode 100644 app/service/outfit_matcher/color/MPO_SP7722.npy delete mode 100644 app/service/outfit_matcher/color/MPO_SP7723.npy delete mode 100644 app/service/outfit_matcher/color/MPO_SP7726.npy delete mode 100644 app/service/outfit_matcher/color/MPO_SP7729.npy delete mode 100644 app/service/outfit_matcher/color/MPO_SP7731.npy delete mode 100644 app/service/outfit_matcher/color/MPO_SP7732.npy delete mode 100644 app/service/outfit_matcher/color/MPO_SP7735.npy delete mode 100644 app/service/outfit_matcher/color/MSE_54385.npy delete mode 100644 app/service/outfit_matcher/color/MSE_56720.npy delete mode 100644 app/service/outfit_matcher/color/MSE_57987.npy delete mode 100644 app/service/outfit_matcher/color/MSE_57988.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58044.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58045.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58057.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58058.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58106.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58107.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58112.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58114.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58132.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58133.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58174.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58183.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58184.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58185.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58188.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58197.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58198.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58199.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58203.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58222.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58241.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58275.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58276.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58277.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58287.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58289.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58317.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58323.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58361.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58421.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58451.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58473.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58495.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58498.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58499.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58510.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58516.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58518.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58530.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58540.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58547.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58618.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58653.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58655.npy delete mode 100644 app/service/outfit_matcher/color/MSE_58658.npy delete mode 100644 app/service/outfit_matcher/color/MWSS27184.npy delete mode 100644 app/service/outfit_matcher/color/MWSS27191.npy delete mode 100644 app/service/outfit_matcher/color/MWSS27193.npy delete mode 100644 app/service/outfit_matcher/color/MWSS27195.npy delete mode 100644 app/service/outfit_matcher/color/MWSS27200.npy delete mode 100644 app/service/outfit_matcher/color/MWSS27209.npy delete mode 100644 app/service/outfit_matcher/color/MWSS27210.npy delete mode 100644 app/service/outfit_matcher/color/MWSS27211.npy delete mode 100644 app/service/outfit_matcher/color/MWSS27212.npy delete mode 100644 app/service/outfit_matcher/color/MZOS27178.npy delete mode 100644 app/service/outfit_matcher/color/MZOS27179.npy delete mode 100644 app/service/outfit_matcher/config/fashion_categories.json delete mode 100644 app/service/outfit_matcher/config/fashion_category_mapping.json delete mode 100644 app/service/outfit_matcher/dataset.py delete mode 100644 app/service/outfit_matcher/foco.py delete mode 100644 app/service/outfit_matcher/outfit_evaluator.py delete mode 100644 app/service/outfit_matcher/service.py delete mode 100644 app/service/outfit_matcher/test_param/recommendation_test.json delete mode 100644 app/service/outfit_matcher/test_param/recommendation_test_pkc.json delete mode 100644 app/service/outfit_matcher/test_param/recommendation_test_zcr.json delete mode 100644 app/service/outfit_matcher/test_param/test.json delete mode 100644 app/service/similar_match/__init__.py delete mode 100644 app/service/similar_match/service.py delete mode 100644 app/service/utils/decorator.py delete mode 100644 docker-compose.yml delete mode 100644 gunicorn_config.py delete mode 100644 logging_env.py delete mode 100644 requirements.txt delete mode 100644 test/attribute/infer_test.py delete mode 100644 test/attribute/model.py delete mode 100644 test/attribute_recognition_model_infer/attribute_recognition_model_infer.py delete mode 100644 test/json/outfit_response.py delete mode 100644 test/minio_client_test/minio_client.py delete mode 100644 test/outfit_matcher/triton_infer.py delete mode 100644 test/outfit_matcher_milvus/1.create databases.py delete mode 100644 test/outfit_matcher_milvus/2.create collection.py delete mode 100644 test/outfit_matcher_milvus/3.create index.py delete mode 100644 test/outfit_matcher_milvus/4.load clollection.py delete mode 100644 test/outfit_matcher_milvus/5.similar match.py diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 570cfd4..0000000 --- a/Dockerfile +++ /dev/null @@ -1,22 +0,0 @@ -FROM python:3.9 -ENV TZ=Asia/Shanghai -RUN apt update -RUN apt install -y vim -RUN apt install -y libgl1-mesa-glx -COPY ./requirements.txt /requirements.txt -RUN pip install --upgrade pip -RUN pip install -r requirements.txt -RUN pip install gunicorn -RUN pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 -RUN pip install mmcv==1.4.2 -f https://download.openmmlab.com/mmcv/dist/cu117/torch1.13/index.html - -WORKDIR /app -COPY . . -ENV FLASK_APP=manage.py -LABEL maintainer="zchengrong@yeah.net" \ - description="My Python 3.9 - trinity mixi " \ - version="1.0" \ - name="trinity_mixi" - - -CMD ["gunicorn", "-c", "gunicorn_config.py", "app.main:app"] \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index ec77e43..0000000 --- a/README.md +++ /dev/null @@ -1,45 +0,0 @@ -文件解释 ------------ - -样例包括: - -* README.md - 本文件 -* Dockerfile - 用以自动构建 Docker 镜像的脚本 -* requirements.txt - 依赖包文件 -* main.py - 主 Flask 服务器端源代码 -* python-version : 3.9 - -快速开始 ---------------- - -如下这些引导,假定你想在自己的电脑上开发本项目。 - -1. 安装依赖 - - $ conda create -n trinity_client_mixi python=3.9 -y - $ conda activate trinity_client_mixi - $ pip install -r requirements.txt - $ conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia -y - $ pip install mmcv==1.4.2 -f https://download.openmmlab.com/mmcv/dist/cu117/torch1.13/index.html - - -2. 启动服务器 - - $ uvicorn app.main:app --host 0.0.0.0 --port 8000 - -3. 打开 http://127.0.0.1:8000/docs - -Docker 部署 ---------------- -1. 构建镜像 - - $ cd {workspace} - $ docker build -t trinity_client_mixi - -2. 使用docker-compose 启动 - - $ docker-compose up -d - -3. 查看日志 - - $ docker-compose logs -f \ No newline at end of file diff --git a/app/__init__.py b/app/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/app/api/__init__.py b/app/api/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/app/api/api_attribute.py b/app/api/api_attribute.py deleted file mode 100644 index 972ccd3..0000000 --- a/app/api/api_attribute.py +++ /dev/null @@ -1,19 +0,0 @@ -import logging -from pprint import pprint - -from fastapi import APIRouter - -from app.schemas.attribute import AttributeModel -from app.service.attribute_recognition import const, const_debug -from app.service.attribute_recognition.service import AttributeRecognition - -logger = logging.getLogger() -router = APIRouter() - - -@router.post("") -def attribute(request_data: AttributeModel): - service = AttributeRecognition() - response = service.attribute(const, request_data) - logger.info("test") - return {"code": 200, "message": "ok", "data": response} diff --git a/app/api/api_outfit_matcher.py b/app/api/api_outfit_matcher.py deleted file mode 100644 index 24a6337..0000000 --- a/app/api/api_outfit_matcher.py +++ /dev/null @@ -1,47 +0,0 @@ -import logging -import time - -from fastapi import APIRouter -from app.schemas.outfit_matcher import OutfitMatcher -from app.service.outfit_matcher.dataset import FashionDataset -from app.service.outfit_matcher.outfit_evaluator import OutfitMaterTypeAware -from app.service.utils.decorator import RunTime - -logger = logging.getLogger() -router = APIRouter() - - -@RunTime -@router.post("outfit_matcher") -def outfit_matcher(request_item: OutfitMatcher): - request_item = dict(request_item) - for i in range(len(request_item['query'])): - request_item['query'][i] = dict(request_item['query'][i]) - for i in range(len(request_item['database'])): - request_item['database'][i] = dict(request_item['database'][i]) - - # try: - fashion_dataset = FashionDataset(request_item['database']) - service = OutfitMaterTypeAware() - result = [] - start_time = time.time() - for item in request_item['query']: - outfits = fashion_dataset.generate_outfit(item, request_item["topk"], request_item["max_outfits"]) - scores, features = service.get_result(outfits) - # save features in databases - - if request_item['is_best']: - best_outfits, best_scores = service.visualize(outfits, scores, request_item["topk"], best=True, - # output_path=os.path.join(r"E:\workspace\outfit_matcher\2024 SS Outfit", f"{item['item_name']}_best_{param['topk']}.png") - ) - result.append({"outfits": best_outfits, "scores": best_scores}) - else: - bad_outfits, bad_scores = service.visualize(outfits, scores, request_item["topk"], best=False, - # output_path=os.path.join(r"E:\workspace\outfit_matcher\2024 SS Outfit", f"{item['item_name']}_worst_{param['topk']}.png") - ) - result.append({"outfits": bad_outfits, "scores": bad_scores}) - logger.info(f"run time is : {time.time() - start_time}") - return {"message": "ok", "data": result} - # except Exception as e: - # logger.warning(e) - # return {"message": f"{e}", "data": e} \ No newline at end of file diff --git a/app/api/api_route.py b/app/api/api_route.py deleted file mode 100644 index 983e725..0000000 --- a/app/api/api_route.py +++ /dev/null @@ -1,13 +0,0 @@ -from fastapi import APIRouter - -from app.api import api_test -from app.api import api_outfit_matcher -from app.api import api_attribute -from app.api import api_similar_match - -router = APIRouter() - -router.include_router(api_test.router, tags=["test"], prefix="/test") -router.include_router(api_outfit_matcher.router, tags=["outfit_matcher"], prefix="/api/outfit_matcher") -router.include_router(api_attribute.router, tags=["attribute"], prefix="/api/attribute") -router.include_router(api_similar_match.router, tags=["similar_match"], prefix="/api/similar_match") diff --git a/app/api/api_similar_match.py b/app/api/api_similar_match.py deleted file mode 100644 index 1a49e7b..0000000 --- a/app/api/api_similar_match.py +++ /dev/null @@ -1,25 +0,0 @@ -import logging -import time - -from fastapi import APIRouter - -from app.schemas.similar_match import SimilarMatchMItem -from app.service.similar_match.service import SimilarMatch -from app.service.utils.decorator import RunTime - -logger = logging.getLogger() -router = APIRouter() - - -@RunTime -@router.post("similar_match") -def similar_match(request_item: SimilarMatchMItem): - try: - if request_item.result_number <= 0: - raise KeyError("result number can't be less than 0") - service = SimilarMatch(request_item) - search_response = service.match_features() - return {"message": "ok", "data": search_response} - except KeyError as e: - logger.warning(str(e)) - return {"message": "result number can't be less than 0", "data": []} diff --git a/app/api/api_test.py b/app/api/api_test.py deleted file mode 100644 index b47dca5..0000000 --- a/app/api/api_test.py +++ /dev/null @@ -1,12 +0,0 @@ -import logging - -from fastapi import APIRouter - -logger = logging.getLogger() -router = APIRouter() - - -@router.get("") -def test(): - logger.info("test") - return {"message": "ok"} diff --git a/app/core/__init__.py b/app/core/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/app/core/config.py b/app/core/config.py deleted file mode 100644 index f4b7583..0000000 --- a/app/core/config.py +++ /dev/null @@ -1,49 +0,0 @@ -import logging -import os -from dotenv import load_dotenv -from pydantic import BaseSettings - -BASE_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), '../../')) -logging.info(f"BASE_DIR : {BASE_DIR}") -load_dotenv(os.path.join(BASE_DIR, '.env')) - - -class Settings(BaseSettings): - PROJECT_NAME = os.getenv('PROJECT_NAME', 'FASTAPI BASE') - SECRET_KEY = os.getenv('SECRET_KEY', '') - API_PREFIX = '' - BACKEND_CORS_ORIGINS = ['*'] - DATABASE_URL = os.getenv('SQL_DATABASE_URL', '') - ACCESS_TOKEN_EXPIRE_SECONDS: int = 60 * 60 * 24 * 7 # Token expired after 7 days - SECURITY_ALGORITHM = 'HS256' - LOGGING_CONFIG_FILE = os.path.join(BASE_DIR, 'logging_env.py') - - -settings = Settings() - -MINIO_IP = "18.167.251.121" -MINIO_PORT = 8000 -MINIO_SECURE = False -MINIO_ACCESS = "e8zc55mzDOh4IzRrZ9Oa" -MINIO_SECRET = "uHfqJ7UkwA1PTDGfnA44Hp9ux5YkZTkzZLjeOYhE" - -OM_TRITON_IP = "10.1.1.240" -OM_TRITON_PORT = "10010" - -ATT_TRITON_IP = "10.1.1.240" -ATT_TRITON_PORT = "10020" - -# service env -LOGS_PATH = "app/logs/errors.log" -FASHION_CATEGORIES = "app/service/outfit_matcher/config/fashion_categories.json" -FASHION_CATEGORIES_MAPPING = "app/service/outfit_matcher/config/fashion_category_mapping.json" - -# pycharm debug -# LOGS_PATH = "logs/errors.log" -# FASHION_CATEGORIES = "service/outfit_matcher/config/fashion_categories.json" -# FASHION_CATEGORIES_MAPPING = "service/outfit_matcher/config/fashion_category_mapping.json" - - -# LOGS_PATH = "app/logs/errors.log" -# FASHION_CATEGORIES = "./config/fashion_categories.json" -# FASHION_CATEGORIES_MAPPING = "./config/fashion_category_mapping.json" \ No newline at end of file diff --git a/app/logs/errors.log b/app/logs/errors.log deleted file mode 100644 index 9740bb1..0000000 --- a/app/logs/errors.log +++ /dev/null @@ -1,1713 +0,0 @@ -2024-03-25 17:26:03,804 decorator.py [line:11] INFO function:【load_image】,runtime:【0.13544344902038574】s -2024-03-25 17:26:03,804 decorator.py [line:11] INFO function:【load_image】,runtime:【0.13544344902038574】s -2024-03-25 17:26:03,901 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07622218132019043】s -2024-03-25 17:26:03,901 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07622218132019043】s -2024-03-25 17:26:04,003 decorator.py [line:11] INFO function:【load_image】,runtime:【0.085418701171875】s -2024-03-25 17:26:04,003 decorator.py [line:11] INFO function:【load_image】,runtime:【0.085418701171875】s -2024-03-25 17:26:04,112 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09087872505187988】s -2024-03-25 17:26:04,112 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09087872505187988】s -2024-03-25 17:26:04,213 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08513045310974121】s -2024-03-25 17:26:04,213 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08513045310974121】s -2024-03-25 17:26:04,316 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0855398178100586】s -2024-03-25 17:26:04,316 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0855398178100586】s -2024-03-25 17:26:04,416 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0831136703491211】s -2024-03-25 17:26:04,416 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0831136703491211】s -2024-03-25 17:26:04,522 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0894019603729248】s -2024-03-25 17:26:04,522 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0894019603729248】s -2024-03-25 17:26:04,618 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08012795448303223】s -2024-03-25 17:26:04,618 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08012795448303223】s -2024-03-25 17:26:04,696 decorator.py [line:11] INFO function:【load_image】,runtime:【0.061154842376708984】s -2024-03-25 17:26:04,696 decorator.py [line:11] INFO function:【load_image】,runtime:【0.061154842376708984】s -2024-03-25 17:26:04,792 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07929039001464844】s -2024-03-25 17:26:04,792 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07929039001464844】s -2024-03-25 17:26:04,889 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08129501342773438】s -2024-03-25 17:26:04,889 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08129501342773438】s -2024-03-25 17:26:04,990 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08388209342956543】s -2024-03-25 17:26:04,990 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08388209342956543】s -2024-03-25 17:26:05,111 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08608269691467285】s -2024-03-25 17:26:05,111 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08608269691467285】s -2024-03-25 17:26:05,212 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08114194869995117】s -2024-03-25 17:26:05,212 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08114194869995117】s -2024-03-25 17:26:05,321 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0930790901184082】s -2024-03-25 17:26:05,321 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0930790901184082】s -2024-03-25 17:26:05,423 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0852501392364502】s -2024-03-25 17:26:05,423 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0852501392364502】s -2024-03-25 17:26:05,503 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06423807144165039】s -2024-03-25 17:26:05,503 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06423807144165039】s -2024-03-25 17:26:05,601 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08154463768005371】s -2024-03-25 17:26:05,601 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08154463768005371】s -2024-03-25 17:26:05,694 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07657551765441895】s -2024-03-25 17:26:05,694 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07657551765441895】s -2024-03-25 17:26:05,792 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08262014389038086】s -2024-03-25 17:26:05,792 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08262014389038086】s -2024-03-25 17:26:05,888 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07956528663635254】s -2024-03-25 17:26:05,888 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07956528663635254】s -2024-03-25 17:26:05,991 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08670282363891602】s -2024-03-25 17:26:05,991 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08670282363891602】s -2024-03-25 17:26:06,073 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06363368034362793】s -2024-03-25 17:26:06,073 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06363368034362793】s -2024-03-25 17:26:06,167 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07943296432495117】s -2024-03-25 17:26:06,167 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07943296432495117】s -2024-03-25 17:26:06,254 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06969499588012695】s -2024-03-25 17:26:06,254 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06969499588012695】s -2024-03-25 17:26:06,349 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07853293418884277】s -2024-03-25 17:26:06,349 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07853293418884277】s -2024-03-25 17:26:06,442 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07658052444458008】s -2024-03-25 17:26:06,442 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07658052444458008】s -2024-03-25 17:26:06,538 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07888340950012207】s -2024-03-25 17:26:06,538 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07888340950012207】s -2024-03-25 17:26:06,659 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10462403297424316】s -2024-03-25 17:26:06,659 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10462403297424316】s -2024-03-25 17:26:06,755 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07874917984008789】s -2024-03-25 17:26:06,755 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07874917984008789】s -2024-03-25 17:26:06,876 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10162854194641113】s -2024-03-25 17:26:06,876 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10162854194641113】s -2024-03-25 17:26:06,975 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08113813400268555】s -2024-03-25 17:26:06,975 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08113813400268555】s -2024-03-25 17:26:07,083 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09142470359802246】s -2024-03-25 17:26:07,083 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09142470359802246】s -2024-03-25 17:26:07,179 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07859921455383301】s -2024-03-25 17:26:07,179 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07859921455383301】s -2024-03-25 17:26:07,273 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07798337936401367】s -2024-03-25 17:26:07,273 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07798337936401367】s -2024-03-25 17:26:07,370 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07990598678588867】s -2024-03-25 17:26:07,370 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07990598678588867】s -2024-03-25 17:26:07,462 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07477664947509766】s -2024-03-25 17:26:07,462 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07477664947509766】s -2024-03-25 17:26:07,560 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08201026916503906】s -2024-03-25 17:26:07,560 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08201026916503906】s -2024-03-25 17:26:07,652 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07555174827575684】s -2024-03-25 17:26:07,652 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07555174827575684】s -2024-03-25 17:26:07,749 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08008956909179688】s -2024-03-25 17:26:07,749 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08008956909179688】s -2024-03-25 17:26:07,835 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0698552131652832】s -2024-03-25 17:26:07,835 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0698552131652832】s -2024-03-25 17:26:07,931 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07860517501831055】s -2024-03-25 17:26:07,931 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07860517501831055】s -2024-03-25 17:26:08,028 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08061385154724121】s -2024-03-25 17:26:08,028 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08061385154724121】s -2024-03-25 17:26:08,122 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07770252227783203】s -2024-03-25 17:26:08,122 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07770252227783203】s -2024-03-25 17:26:08,217 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0805051326751709】s -2024-03-25 17:26:08,217 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0805051326751709】s -2024-03-25 17:26:08,312 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07836413383483887】s -2024-03-25 17:26:08,312 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07836413383483887】s -2024-03-25 17:26:08,401 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07299423217773438】s -2024-03-25 17:26:08,401 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07299423217773438】s -2024-03-25 17:26:08,494 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07680177688598633】s -2024-03-25 17:26:08,494 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07680177688598633】s -2024-03-25 17:26:08,577 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06699347496032715】s -2024-03-25 17:26:08,577 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06699347496032715】s -2024-03-25 17:26:08,668 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07812905311584473】s -2024-03-25 17:26:08,668 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07812905311584473】s -2024-03-25 17:26:08,752 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06776022911071777】s -2024-03-25 17:26:08,752 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06776022911071777】s -2024-03-25 17:26:08,847 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07918834686279297】s -2024-03-25 17:26:08,847 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07918834686279297】s -2024-03-25 17:26:08,962 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07796883583068848】s -2024-03-25 17:26:08,962 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07796883583068848】s -2024-03-25 17:26:09,058 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07951951026916504】s -2024-03-25 17:26:09,058 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07951951026916504】s -2024-03-25 17:26:09,149 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07912516593933105】s -2024-03-25 17:26:09,149 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07912516593933105】s -2024-03-25 17:26:09,216 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05126023292541504】s -2024-03-25 17:26:09,216 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05126023292541504】s -2024-03-25 17:26:09,314 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07914400100708008】s -2024-03-25 17:26:09,314 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07914400100708008】s -2024-03-25 17:26:09,470 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07927227020263672】s -2024-03-25 17:26:09,470 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07927227020263672】s -2024-03-25 17:26:09,540 decorator.py [line:11] INFO function:【load_image】,runtime:【0.054183244705200195】s -2024-03-25 17:26:09,540 decorator.py [line:11] INFO function:【load_image】,runtime:【0.054183244705200195】s -2024-03-25 17:26:09,635 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07704281806945801】s -2024-03-25 17:26:09,635 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07704281806945801】s -2024-03-25 17:26:09,721 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07037878036499023】s -2024-03-25 17:26:09,721 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07037878036499023】s -2024-03-25 17:26:09,817 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07882356643676758】s -2024-03-25 17:26:09,817 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07882356643676758】s -2024-03-25 17:26:09,976 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08074522018432617】s -2024-03-25 17:26:09,976 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08074522018432617】s -2024-03-25 17:26:10,059 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06736898422241211】s -2024-03-25 17:26:10,059 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06736898422241211】s -2024-03-25 17:26:10,156 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07848167419433594】s -2024-03-25 17:26:10,156 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07848167419433594】s -2024-03-25 17:26:10,231 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05883073806762695】s -2024-03-25 17:26:10,231 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05883073806762695】s -2024-03-25 17:26:23,135 decorator.py [line:11] INFO function:【load_image】,runtime:【0.12710237503051758】s -2024-03-25 17:26:23,135 decorator.py [line:11] INFO function:【load_image】,runtime:【0.12710237503051758】s -2024-03-25 17:26:23,224 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06662631034851074】s -2024-03-25 17:26:23,224 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06662631034851074】s -2024-03-25 17:26:23,324 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08097147941589355】s -2024-03-25 17:26:23,324 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08097147941589355】s -2024-03-25 17:26:23,429 decorator.py [line:11] INFO function:【load_image】,runtime:【0.086273193359375】s -2024-03-25 17:26:23,429 decorator.py [line:11] INFO function:【load_image】,runtime:【0.086273193359375】s -2024-03-25 17:26:23,527 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08147120475769043】s -2024-03-25 17:26:23,527 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08147120475769043】s -2024-03-25 17:26:23,625 decorator.py [line:11] INFO function:【load_image】,runtime:【0.082366943359375】s -2024-03-25 17:26:23,625 decorator.py [line:11] INFO function:【load_image】,runtime:【0.082366943359375】s -2024-03-25 17:26:23,726 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08403301239013672】s -2024-03-25 17:26:23,726 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08403301239013672】s -2024-03-25 17:26:23,828 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08577489852905273】s -2024-03-25 17:26:23,828 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08577489852905273】s -2024-03-25 17:26:23,927 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0817101001739502】s -2024-03-25 17:26:23,927 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0817101001739502】s -2024-03-25 17:26:24,005 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06269955635070801】s -2024-03-25 17:26:24,005 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06269955635070801】s -2024-03-25 17:26:24,117 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09565091133117676】s -2024-03-25 17:26:24,117 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09565091133117676】s -2024-03-25 17:26:24,217 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0811305046081543】s -2024-03-25 17:26:24,217 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0811305046081543】s -2024-03-25 17:26:24,315 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0818324089050293】s -2024-03-25 17:26:24,315 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0818324089050293】s -2024-03-25 17:26:24,399 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0679922103881836】s -2024-03-25 17:26:24,399 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0679922103881836】s -2024-03-25 17:26:24,496 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08090090751647949】s -2024-03-25 17:26:24,496 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08090090751647949】s -2024-03-25 17:26:24,602 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08986854553222656】s -2024-03-25 17:26:24,602 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08986854553222656】s -2024-03-25 17:26:24,734 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10856080055236816】s -2024-03-25 17:26:24,734 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10856080055236816】s -2024-03-25 17:26:24,813 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06293177604675293】s -2024-03-25 17:26:24,813 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06293177604675293】s -2024-03-25 17:26:24,911 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0809175968170166】s -2024-03-25 17:26:24,911 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0809175968170166】s -2024-03-25 17:26:24,999 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07146430015563965】s -2024-03-25 17:26:24,999 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07146430015563965】s -2024-03-25 17:26:25,096 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07970023155212402】s -2024-03-25 17:26:25,096 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07970023155212402】s -2024-03-25 17:26:25,181 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0693812370300293】s -2024-03-25 17:26:25,181 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0693812370300293】s -2024-03-25 17:26:25,278 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08121585845947266】s -2024-03-25 17:26:25,278 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08121585845947266】s -2024-03-25 17:26:25,356 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06267619132995605】s -2024-03-25 17:26:25,356 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06267619132995605】s -2024-03-25 17:26:25,454 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0814509391784668】s -2024-03-25 17:26:25,454 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0814509391784668】s -2024-03-25 17:26:25,540 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0692136287689209】s -2024-03-25 17:26:25,540 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0692136287689209】s -2024-03-25 17:26:25,634 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07789087295532227】s -2024-03-25 17:26:25,634 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07789087295532227】s -2024-03-25 17:26:25,728 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07637262344360352】s -2024-03-25 17:26:25,728 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07637262344360352】s -2024-03-25 17:26:25,824 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08127021789550781】s -2024-03-25 17:26:25,824 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08127021789550781】s -2024-03-25 17:26:25,942 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10091018676757812】s -2024-03-25 17:26:25,942 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10091018676757812】s -2024-03-25 17:26:26,041 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08182287216186523】s -2024-03-25 17:26:26,041 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08182287216186523】s -2024-03-25 17:26:26,153 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09741401672363281】s -2024-03-25 17:26:26,153 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09741401672363281】s -2024-03-25 17:26:26,251 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08347296714782715】s -2024-03-25 17:26:26,251 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08347296714782715】s -2024-03-25 17:26:26,357 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08902311325073242】s -2024-03-25 17:26:26,357 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08902311325073242】s -2024-03-25 17:26:26,453 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08002495765686035】s -2024-03-25 17:26:26,453 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08002495765686035】s -2024-03-25 17:26:26,547 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07843542098999023】s -2024-03-25 17:26:26,547 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07843542098999023】s -2024-03-25 17:26:26,650 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0851755142211914】s -2024-03-25 17:26:26,650 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0851755142211914】s -2024-03-25 17:26:26,742 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06921911239624023】s -2024-03-25 17:26:26,742 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06921911239624023】s -2024-03-25 17:26:26,839 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07952427864074707】s -2024-03-25 17:26:26,839 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07952427864074707】s -2024-03-25 17:26:26,958 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10293054580688477】s -2024-03-25 17:26:26,958 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10293054580688477】s -2024-03-25 17:26:27,068 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09101676940917969】s -2024-03-25 17:26:27,068 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09101676940917969】s -2024-03-25 17:26:27,152 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06808972358703613】s -2024-03-25 17:26:27,152 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06808972358703613】s -2024-03-25 17:26:27,249 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0805962085723877】s -2024-03-25 17:26:27,249 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0805962085723877】s -2024-03-25 17:26:27,344 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07995843887329102】s -2024-03-25 17:26:27,344 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07995843887329102】s -2024-03-25 17:26:27,444 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08270764350891113】s -2024-03-25 17:26:27,444 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08270764350891113】s -2024-03-25 17:26:27,577 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11476516723632812】s -2024-03-25 17:26:27,577 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11476516723632812】s -2024-03-25 17:26:27,679 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07893037796020508】s -2024-03-25 17:26:27,679 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07893037796020508】s -2024-03-25 17:26:27,768 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0707252025604248】s -2024-03-25 17:26:27,768 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0707252025604248】s -2024-03-25 17:26:27,872 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08806061744689941】s -2024-03-25 17:26:27,872 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08806061744689941】s -2024-03-25 17:26:27,967 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07721161842346191】s -2024-03-25 17:26:27,967 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07721161842346191】s -2024-03-25 17:26:28,068 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08118391036987305】s -2024-03-25 17:26:28,068 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08118391036987305】s -2024-03-25 17:26:28,153 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0673670768737793】s -2024-03-25 17:26:28,153 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0673670768737793】s -2024-03-25 17:26:28,277 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09925365447998047】s -2024-03-25 17:26:28,277 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09925365447998047】s -2024-03-25 17:26:28,445 decorator.py [line:11] INFO function:【load_image】,runtime:【0.12377762794494629】s -2024-03-25 17:26:28,445 decorator.py [line:11] INFO function:【load_image】,runtime:【0.12377762794494629】s -2024-03-25 17:26:28,552 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08925366401672363】s -2024-03-25 17:26:28,552 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08925366401672363】s -2024-03-25 17:26:28,647 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08093070983886719】s -2024-03-25 17:26:28,647 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08093070983886719】s -2024-03-25 17:26:28,811 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08128714561462402】s -2024-03-25 17:26:28,811 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08128714561462402】s -2024-03-25 17:26:28,966 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07812094688415527】s -2024-03-25 17:26:28,966 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07812094688415527】s -2024-03-25 17:26:29,127 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08026933670043945】s -2024-03-25 17:26:29,127 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08026933670043945】s -2024-03-25 17:26:29,205 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06108736991882324】s -2024-03-25 17:26:29,205 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06108736991882324】s -2024-03-25 17:26:29,302 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07897257804870605】s -2024-03-25 17:26:29,302 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07897257804870605】s -2024-03-25 17:26:29,459 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07853436470031738】s -2024-03-25 17:26:29,459 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07853436470031738】s -2024-03-25 17:26:29,533 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05791950225830078】s -2024-03-25 17:26:29,533 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05791950225830078】s -2024-03-25 17:26:29,629 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07919621467590332】s -2024-03-25 17:26:29,629 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07919621467590332】s -2024-03-25 17:26:29,701 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05577659606933594】s -2024-03-25 17:26:29,701 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05577659606933594】s -2024-03-21 13:51:37,818 decorator.py [line:11] INFO function:【load_image】,runtime:【1.2232704162597656】s -2024-03-21 13:51:37,818 decorator.py [line:11] INFO function:【load_image】,runtime:【1.2232704162597656】s -2024-03-21 13:51:38,052 decorator.py [line:11] INFO function:【load_image】,runtime:【0.19752931594848633】s -2024-03-21 13:51:38,052 decorator.py [line:11] INFO function:【load_image】,runtime:【0.19752931594848633】s -2024-03-21 13:51:38,385 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3032798767089844】s -2024-03-21 13:51:38,385 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3032798767089844】s -2024-03-21 13:51:38,721 decorator.py [line:11] INFO function:【load_image】,runtime:【0.30768489837646484】s -2024-03-21 13:51:38,721 decorator.py [line:11] INFO function:【load_image】,runtime:【0.30768489837646484】s -2024-03-21 13:51:39,043 decorator.py [line:11] INFO function:【load_image】,runtime:【0.29396677017211914】s -2024-03-21 13:51:39,043 decorator.py [line:11] INFO function:【load_image】,runtime:【0.29396677017211914】s -2024-03-21 13:51:39,470 decorator.py [line:11] INFO function:【load_image】,runtime:【0.39403533935546875】s -2024-03-21 13:51:39,470 decorator.py [line:11] INFO function:【load_image】,runtime:【0.39403533935546875】s -2024-03-21 13:51:39,888 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3915884494781494】s -2024-03-21 13:51:39,888 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3915884494781494】s -2024-03-21 13:51:40,318 decorator.py [line:11] INFO function:【load_image】,runtime:【0.40258264541625977】s -2024-03-21 13:51:40,318 decorator.py [line:11] INFO function:【load_image】,runtime:【0.40258264541625977】s -2024-03-21 13:51:40,737 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3909275531768799】s -2024-03-21 13:51:40,737 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3909275531768799】s -2024-03-21 13:51:40,948 decorator.py [line:11] INFO function:【load_image】,runtime:【0.1841294765472412】s -2024-03-21 13:51:40,948 decorator.py [line:11] INFO function:【load_image】,runtime:【0.1841294765472412】s -2024-03-21 13:51:41,379 decorator.py [line:11] INFO function:【load_image】,runtime:【0.40169310569763184】s -2024-03-21 13:51:41,379 decorator.py [line:11] INFO function:【load_image】,runtime:【0.40169310569763184】s -2024-03-21 13:51:41,708 decorator.py [line:11] INFO function:【load_image】,runtime:【0.29892587661743164】s -2024-03-21 13:51:41,708 decorator.py [line:11] INFO function:【load_image】,runtime:【0.29892587661743164】s -2024-03-21 13:51:42,124 decorator.py [line:11] INFO function:【load_image】,runtime:【0.38617706298828125】s -2024-03-21 13:51:42,124 decorator.py [line:11] INFO function:【load_image】,runtime:【0.38617706298828125】s -2024-03-21 13:51:42,430 decorator.py [line:11] INFO function:【load_image】,runtime:【0.27953577041625977】s -2024-03-21 13:51:42,430 decorator.py [line:11] INFO function:【load_image】,runtime:【0.27953577041625977】s -2024-03-21 13:51:42,953 decorator.py [line:11] INFO function:【load_image】,runtime:【0.49825477600097656】s -2024-03-21 13:51:42,953 decorator.py [line:11] INFO function:【load_image】,runtime:【0.49825477600097656】s -2024-03-21 13:51:43,492 decorator.py [line:11] INFO function:【load_image】,runtime:【0.5133931636810303】s -2024-03-21 13:51:43,492 decorator.py [line:11] INFO function:【load_image】,runtime:【0.5133931636810303】s -2024-03-21 13:51:43,923 decorator.py [line:11] INFO function:【load_image】,runtime:【0.40549373626708984】s -2024-03-21 13:51:43,923 decorator.py [line:11] INFO function:【load_image】,runtime:【0.40549373626708984】s -2024-03-21 13:51:44,233 decorator.py [line:11] INFO function:【load_image】,runtime:【0.27601003646850586】s -2024-03-21 13:51:44,233 decorator.py [line:11] INFO function:【load_image】,runtime:【0.27601003646850586】s -2024-03-21 13:51:44,662 decorator.py [line:11] INFO function:【load_image】,runtime:【0.4001624584197998】s -2024-03-21 13:51:44,662 decorator.py [line:11] INFO function:【load_image】,runtime:【0.4001624584197998】s -2024-03-21 13:51:44,980 decorator.py [line:11] INFO function:【load_image】,runtime:【0.2901315689086914】s -2024-03-21 13:51:44,980 decorator.py [line:11] INFO function:【load_image】,runtime:【0.2901315689086914】s -2024-03-21 13:51:45,403 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3971738815307617】s -2024-03-21 13:51:45,403 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3971738815307617】s -2024-03-21 13:51:45,713 decorator.py [line:11] INFO function:【load_image】,runtime:【0.2824699878692627】s -2024-03-21 13:51:45,713 decorator.py [line:11] INFO function:【load_image】,runtime:【0.2824699878692627】s -2024-03-21 13:51:46,136 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3949100971221924】s -2024-03-21 13:51:46,136 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3949100971221924】s -2024-03-21 13:51:46,439 decorator.py [line:11] INFO function:【load_image】,runtime:【0.2752203941345215】s -2024-03-21 13:51:46,439 decorator.py [line:11] INFO function:【load_image】,runtime:【0.2752203941345215】s -2024-03-21 13:51:46,863 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3972630500793457】s -2024-03-21 13:51:46,863 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3972630500793457】s -2024-03-21 13:51:47,175 decorator.py [line:11] INFO function:【load_image】,runtime:【0.2835068702697754】s -2024-03-21 13:51:47,175 decorator.py [line:11] INFO function:【load_image】,runtime:【0.2835068702697754】s -2024-03-21 13:51:47,604 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3998706340789795】s -2024-03-21 13:51:47,604 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3998706340789795】s -2024-03-21 13:51:48,026 decorator.py [line:11] INFO function:【load_image】,runtime:【0.39388179779052734】s -2024-03-21 13:51:48,026 decorator.py [line:11] INFO function:【load_image】,runtime:【0.39388179779052734】s -2024-03-21 13:51:48,453 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3989236354827881】s -2024-03-21 13:51:48,453 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3989236354827881】s -2024-03-21 13:51:49,100 decorator.py [line:11] INFO function:【load_image】,runtime:【0.6190431118011475】s -2024-03-21 13:51:49,100 decorator.py [line:11] INFO function:【load_image】,runtime:【0.6190431118011475】s -2024-03-21 13:51:49,631 decorator.py [line:11] INFO function:【load_image】,runtime:【0.501615047454834】s -2024-03-21 13:51:49,631 decorator.py [line:11] INFO function:【load_image】,runtime:【0.501615047454834】s -2024-03-21 13:51:50,279 decorator.py [line:11] INFO function:【load_image】,runtime:【0.6200711727142334】s -2024-03-21 13:51:50,279 decorator.py [line:11] INFO function:【load_image】,runtime:【0.6200711727142334】s -2024-03-21 13:51:50,804 decorator.py [line:11] INFO function:【load_image】,runtime:【0.49776339530944824】s -2024-03-21 13:51:50,804 decorator.py [line:11] INFO function:【load_image】,runtime:【0.49776339530944824】s -2024-03-21 13:51:51,341 decorator.py [line:11] INFO function:【load_image】,runtime:【0.5108270645141602】s -2024-03-21 13:51:51,341 decorator.py [line:11] INFO function:【load_image】,runtime:【0.5108270645141602】s -2024-03-21 13:51:51,867 decorator.py [line:11] INFO function:【load_image】,runtime:【0.49677276611328125】s -2024-03-21 13:51:51,867 decorator.py [line:11] INFO function:【load_image】,runtime:【0.49677276611328125】s -2024-03-21 13:51:52,289 decorator.py [line:11] INFO function:【load_image】,runtime:【0.39499711990356445】s -2024-03-21 13:51:52,289 decorator.py [line:11] INFO function:【load_image】,runtime:【0.39499711990356445】s -2024-03-21 13:51:52,815 decorator.py [line:11] INFO function:【load_image】,runtime:【0.49742674827575684】s -2024-03-21 13:51:52,815 decorator.py [line:11] INFO function:【load_image】,runtime:【0.49742674827575684】s -2024-03-21 13:51:53,226 decorator.py [line:11] INFO function:【load_image】,runtime:【0.383328914642334】s -2024-03-21 13:51:53,226 decorator.py [line:11] INFO function:【load_image】,runtime:【0.383328914642334】s -2024-03-21 13:51:53,751 decorator.py [line:11] INFO function:【load_image】,runtime:【0.4970104694366455】s -2024-03-21 13:51:53,751 decorator.py [line:11] INFO function:【load_image】,runtime:【0.4970104694366455】s -2024-03-21 13:51:54,166 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3887917995452881】s -2024-03-21 13:51:54,166 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3887917995452881】s -2024-03-21 13:51:54,693 decorator.py [line:11] INFO function:【load_image】,runtime:【0.49755120277404785】s -2024-03-21 13:51:54,693 decorator.py [line:11] INFO function:【load_image】,runtime:【0.49755120277404785】s -2024-03-21 13:51:55,109 decorator.py [line:11] INFO function:【load_image】,runtime:【0.38889598846435547】s -2024-03-21 13:51:55,109 decorator.py [line:11] INFO function:【load_image】,runtime:【0.38889598846435547】s -2024-03-21 13:51:55,636 decorator.py [line:11] INFO function:【load_image】,runtime:【0.49726033210754395】s -2024-03-21 13:51:55,636 decorator.py [line:11] INFO function:【load_image】,runtime:【0.49726033210754395】s -2024-03-21 13:51:56,062 decorator.py [line:11] INFO function:【load_image】,runtime:【0.39782261848449707】s -2024-03-21 13:51:56,062 decorator.py [line:11] INFO function:【load_image】,runtime:【0.39782261848449707】s -2024-03-21 13:51:56,603 decorator.py [line:11] INFO function:【load_image】,runtime:【0.5127170085906982】s -2024-03-21 13:51:56,603 decorator.py [line:11] INFO function:【load_image】,runtime:【0.5127170085906982】s -2024-03-21 13:51:57,135 decorator.py [line:11] INFO function:【load_image】,runtime:【0.4967665672302246】s -2024-03-21 13:51:57,135 decorator.py [line:11] INFO function:【load_image】,runtime:【0.4967665672302246】s -2024-03-21 13:51:57,770 decorator.py [line:11] INFO function:【load_image】,runtime:【0.6081705093383789】s -2024-03-21 13:51:57,770 decorator.py [line:11] INFO function:【load_image】,runtime:【0.6081705093383789】s -2024-03-21 13:51:58,190 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3914616107940674】s -2024-03-21 13:51:58,190 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3914616107940674】s -2024-03-21 13:51:58,827 decorator.py [line:11] INFO function:【load_image】,runtime:【0.61067795753479】s -2024-03-21 13:51:58,827 decorator.py [line:11] INFO function:【load_image】,runtime:【0.61067795753479】s -2024-03-21 13:51:59,338 decorator.py [line:11] INFO function:【load_image】,runtime:【0.4832015037536621】s -2024-03-21 13:51:59,338 decorator.py [line:11] INFO function:【load_image】,runtime:【0.4832015037536621】s -2024-03-21 13:52:00,078 decorator.py [line:11] INFO function:【load_image】,runtime:【0.7159032821655273】s -2024-03-21 13:52:00,078 decorator.py [line:11] INFO function:【load_image】,runtime:【0.7159032821655273】s -2024-03-21 13:52:00,589 decorator.py [line:11] INFO function:【load_image】,runtime:【0.48383021354675293】s -2024-03-21 13:52:00,589 decorator.py [line:11] INFO function:【load_image】,runtime:【0.48383021354675293】s -2024-03-21 13:52:01,326 decorator.py [line:11] INFO function:【load_image】,runtime:【0.7128510475158691】s -2024-03-21 13:52:01,326 decorator.py [line:11] INFO function:【load_image】,runtime:【0.7128510475158691】s -2024-03-21 13:52:01,478 decorator.py [line:11] INFO function:【load_image】,runtime:【0.1243746280670166】s -2024-03-21 13:52:01,478 decorator.py [line:11] INFO function:【load_image】,runtime:【0.1243746280670166】s -2024-03-21 13:52:02,094 decorator.py [line:11] INFO function:【load_image】,runtime:【0.6098945140838623】s -2024-03-21 13:52:02,094 decorator.py [line:11] INFO function:【load_image】,runtime:【0.6098945140838623】s -2024-03-21 13:52:02,716 decorator.py [line:11] INFO function:【load_image】,runtime:【0.5928947925567627】s -2024-03-21 13:52:02,716 decorator.py [line:11] INFO function:【load_image】,runtime:【0.5928947925567627】s -2024-03-21 13:52:03,349 decorator.py [line:11] INFO function:【load_image】,runtime:【0.6093297004699707】s -2024-03-21 13:52:03,349 decorator.py [line:11] INFO function:【load_image】,runtime:【0.6093297004699707】s -2024-03-21 13:52:03,549 decorator.py [line:11] INFO function:【load_image】,runtime:【0.17124557495117188】s -2024-03-21 13:52:03,549 decorator.py [line:11] INFO function:【load_image】,runtime:【0.17124557495117188】s -2024-03-21 13:52:04,188 decorator.py [line:11] INFO function:【load_image】,runtime:【0.6077630519866943】s -2024-03-21 13:52:04,188 decorator.py [line:11] INFO function:【load_image】,runtime:【0.6077630519866943】s -2024-03-21 13:52:04,381 decorator.py [line:11] INFO function:【load_image】,runtime:【0.1649329662322998】s -2024-03-21 13:52:04,381 decorator.py [line:11] INFO function:【load_image】,runtime:【0.1649329662322998】s -2024-03-21 13:52:05,027 decorator.py [line:11] INFO function:【load_image】,runtime:【0.6105599403381348】s -2024-03-21 13:52:05,027 decorator.py [line:11] INFO function:【load_image】,runtime:【0.6105599403381348】s -2024-03-21 13:52:05,423 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3696911334991455】s -2024-03-21 13:52:05,423 decorator.py [line:11] INFO function:【load_image】,runtime:【0.3696911334991455】s -2024-03-21 13:52:06,274 decorator.py [line:11] INFO function:【load_image】,runtime:【0.8220889568328857】s -2024-03-21 13:52:06,274 decorator.py [line:11] INFO function:【load_image】,runtime:【0.8220889568328857】s -2024-03-21 13:52:06,687 decorator.py [line:11] INFO function:【load_image】,runtime:【0.38632655143737793】s -2024-03-21 13:52:06,687 decorator.py [line:11] INFO function:【load_image】,runtime:【0.38632655143737793】s -2024-03-21 13:52:07,436 decorator.py [line:11] INFO function:【load_image】,runtime:【0.7190515995025635】s -2024-03-21 13:52:07,436 decorator.py [line:11] INFO function:【load_image】,runtime:【0.7190515995025635】s -2024-03-21 13:52:07,622 decorator.py [line:11] INFO function:【load_image】,runtime:【0.15749859809875488】s -2024-03-21 13:52:07,622 decorator.py [line:11] INFO function:【load_image】,runtime:【0.15749859809875488】s -2024-03-21 13:52:08,375 decorator.py [line:11] INFO function:【load_image】,runtime:【0.7181243896484375】s -2024-03-21 13:52:08,375 decorator.py [line:11] INFO function:【load_image】,runtime:【0.7181243896484375】s -2024-03-21 13:52:08,782 decorator.py [line:11] INFO function:【load_image】,runtime:【0.37945127487182617】s -2024-03-21 13:52:08,782 decorator.py [line:11] INFO function:【load_image】,runtime:【0.37945127487182617】s -2024-03-21 13:52:09,530 decorator.py [line:11] INFO function:【load_image】,runtime:【0.7160646915435791】s -2024-03-21 13:52:09,530 decorator.py [line:11] INFO function:【load_image】,runtime:【0.7160646915435791】s -2024-03-21 13:52:09,813 decorator.py [line:11] INFO function:【load_image】,runtime:【0.25645899772644043】s -2024-03-21 13:52:09,813 decorator.py [line:11] INFO function:【load_image】,runtime:【0.25645899772644043】s -2024-03-27 11:28:51,362 decorator.py [line:11] INFO function:【load_image】,runtime:【0.14944052696228027】s -2024-03-27 11:28:51,362 decorator.py [line:11] INFO function:【load_image】,runtime:【0.14944052696228027】s -2024-03-27 11:28:51,561 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09883594512939453】s -2024-03-27 11:28:51,561 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09883594512939453】s -2024-03-27 11:28:54,385 decorator.py [line:11] INFO function:【get_result】,runtime:【3.172989845275879】s -2024-03-27 11:28:54,385 decorator.py [line:11] INFO function:【get_result】,runtime:【3.172989845275879】s -2024-03-27 11:28:54,501 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0939626693725586】s -2024-03-27 11:28:54,501 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0939626693725586】s -2024-03-27 11:28:54,627 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10200977325439453】s -2024-03-27 11:28:54,627 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10200977325439453】s -2024-03-27 11:28:57,010 decorator.py [line:11] INFO function:【get_result】,runtime:【2.6036272048950195】s -2024-03-27 11:28:57,010 decorator.py [line:11] INFO function:【get_result】,runtime:【2.6036272048950195】s -2024-03-27 11:28:57,107 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09602761268615723】s -2024-03-27 11:28:57,107 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09602761268615723】s -2024-03-27 11:28:57,212 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08440542221069336】s -2024-03-27 11:28:57,212 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08440542221069336】s -2024-03-27 11:28:57,324 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09081506729125977】s -2024-03-27 11:28:57,324 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09081506729125977】s -2024-03-27 11:28:57,430 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08171415328979492】s -2024-03-27 11:28:57,430 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08171415328979492】s -2024-03-27 11:28:57,567 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11722540855407715】s -2024-03-27 11:28:57,567 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11722540855407715】s -2024-03-27 11:28:57,678 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08625340461730957】s -2024-03-27 11:28:57,678 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08625340461730957】s -2024-03-27 11:28:57,824 decorator.py [line:11] INFO function:【get_result】,runtime:【0.8130843639373779】s -2024-03-27 11:28:57,824 decorator.py [line:11] INFO function:【get_result】,runtime:【0.8130843639373779】s -2024-03-27 11:28:57,895 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06562995910644531】s -2024-03-27 11:28:57,895 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06562995910644531】s -2024-03-27 11:28:58,000 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08478975296020508】s -2024-03-27 11:28:58,000 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08478975296020508】s -2024-03-27 11:28:58,034 decorator.py [line:11] INFO function:【get_result】,runtime:【0.2043590545654297】s -2024-03-27 11:28:58,034 decorator.py [line:11] INFO function:【get_result】,runtime:【0.2043590545654297】s -2024-03-27 11:28:58,101 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06698036193847656】s -2024-03-27 11:28:58,101 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06698036193847656】s -2024-03-27 11:28:58,242 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11905717849731445】s -2024-03-27 11:28:58,242 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11905717849731445】s -2024-03-27 11:28:58,285 decorator.py [line:11] INFO function:【get_result】,runtime:【0.2512340545654297】s -2024-03-27 11:28:58,285 decorator.py [line:11] INFO function:【get_result】,runtime:【0.2512340545654297】s -2024-03-27 11:28:58,367 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07999205589294434】s -2024-03-27 11:28:58,367 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07999205589294434】s -2024-03-27 11:28:58,463 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07760047912597656】s -2024-03-27 11:28:58,463 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07760047912597656】s -2024-03-27 11:28:58,543 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06173586845397949】s -2024-03-27 11:28:58,543 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06173586845397949】s -2024-03-27 11:28:58,636 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07255721092224121】s -2024-03-27 11:28:58,636 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07255721092224121】s -2024-03-27 11:28:58,723 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0690464973449707】s -2024-03-27 11:28:58,723 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0690464973449707】s -2024-03-27 11:28:58,813 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06989359855651855】s -2024-03-27 11:28:58,813 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06989359855651855】s -2024-03-27 11:28:58,907 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07435822486877441】s -2024-03-27 11:28:58,907 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07435822486877441】s -2024-03-27 11:28:58,997 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06914925575256348】s -2024-03-27 11:28:58,997 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06914925575256348】s -2024-03-27 11:28:59,089 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07468628883361816】s -2024-03-27 11:28:59,089 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07468628883361816】s -2024-03-27 11:28:59,342 decorator.py [line:11] INFO function:【get_result】,runtime:【1.055443286895752】s -2024-03-27 11:28:59,342 decorator.py [line:11] INFO function:【get_result】,runtime:【1.055443286895752】s -2024-03-27 11:28:59,419 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07607388496398926】s -2024-03-27 11:28:59,419 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07607388496398926】s -2024-03-27 11:28:59,523 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08356571197509766】s -2024-03-27 11:28:59,523 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08356571197509766】s -2024-03-27 11:28:59,611 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07082462310791016】s -2024-03-27 11:28:59,611 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07082462310791016】s -2024-03-27 11:28:59,695 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06639719009399414】s -2024-03-27 11:28:59,695 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06639719009399414】s -2024-03-27 11:28:59,782 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06848025321960449】s -2024-03-27 11:28:59,782 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06848025321960449】s -2024-03-27 11:28:59,861 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06321930885314941】s -2024-03-27 11:28:59,861 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06321930885314941】s -2024-03-27 11:28:59,949 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06985092163085938】s -2024-03-27 11:28:59,949 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06985092163085938】s -2024-03-27 11:29:00,036 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06791377067565918】s -2024-03-27 11:29:00,036 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06791377067565918】s -2024-03-27 11:29:00,124 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0706472396850586】s -2024-03-27 11:29:00,124 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0706472396850586】s -2024-03-27 11:29:00,171 decorator.py [line:11] INFO function:【get_result】,runtime:【0.8278758525848389】s -2024-03-27 11:29:00,171 decorator.py [line:11] INFO function:【get_result】,runtime:【0.8278758525848389】s -2024-03-27 11:29:00,235 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06318235397338867】s -2024-03-27 11:29:00,235 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06318235397338867】s -2024-03-27 11:29:00,322 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06962013244628906】s -2024-03-27 11:29:00,322 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06962013244628906】s -2024-03-27 11:29:00,405 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06734132766723633】s -2024-03-27 11:29:00,405 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06734132766723633】s -2024-03-27 11:29:00,481 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05873560905456543】s -2024-03-27 11:29:00,481 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05873560905456543】s -2024-03-27 11:29:00,560 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06250882148742676】s -2024-03-27 11:29:00,560 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06250882148742676】s -2024-03-27 11:29:00,638 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0628812313079834】s -2024-03-27 11:29:00,638 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0628812313079834】s -2024-03-27 11:29:00,679 decorator.py [line:11] INFO function:【get_result】,runtime:【0.5070171356201172】s -2024-03-27 11:29:00,679 decorator.py [line:11] INFO function:【get_result】,runtime:【0.5070171356201172】s -2024-03-27 11:29:00,680 api_outfit_matcher.py [line:43] INFO run time is : 9.467643737792969 -2024-03-27 11:29:00,680 api_outfit_matcher.py [line:43] INFO run time is : 9.467643737792969 -2024-03-27 13:30:38,821 decorator.py [line:11] INFO function:【load_image】,runtime:【0.15550470352172852】s -2024-03-27 13:30:38,821 decorator.py [line:11] INFO function:【load_image】,runtime:【0.15550470352172852】s -2024-03-27 13:30:38,934 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08606624603271484】s -2024-03-27 13:30:38,934 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08606624603271484】s -2024-03-27 13:30:38,999 decorator.py [line:11] INFO function:【get_result】,runtime:【0.33286070823669434】s -2024-03-27 13:30:38,999 decorator.py [line:11] INFO function:【get_result】,runtime:【0.33286070823669434】s -2024-03-27 13:30:39,077 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07663869857788086】s -2024-03-27 13:30:39,077 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07663869857788086】s -2024-03-27 13:30:39,162 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06574702262878418】s -2024-03-27 13:30:39,162 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06574702262878418】s -2024-03-27 13:30:39,263 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08019447326660156】s -2024-03-27 13:30:39,263 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08019447326660156】s -2024-03-27 13:30:39,354 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06640124320983887】s -2024-03-27 13:30:39,354 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06640124320983887】s -2024-03-27 13:30:39,441 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06897974014282227】s -2024-03-27 13:30:39,441 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06897974014282227】s -2024-03-27 13:30:39,542 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0815584659576416】s -2024-03-27 13:30:39,542 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0815584659576416】s -2024-03-27 13:30:39,643 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0785970687866211】s -2024-03-27 13:30:39,643 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0785970687866211】s -2024-03-27 13:30:39,754 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09034609794616699】s -2024-03-27 13:30:39,754 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09034609794616699】s -2024-03-27 13:30:39,864 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08805131912231445】s -2024-03-27 13:30:39,864 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08805131912231445】s -2024-03-27 13:30:39,962 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07776498794555664】s -2024-03-27 13:30:39,962 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07776498794555664】s -2024-03-27 13:30:40,054 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07399749755859375】s -2024-03-27 13:30:40,054 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07399749755859375】s -2024-03-27 13:31:55,612 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09929108619689941】s -2024-03-27 13:31:55,612 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09929108619689941】s -2024-03-27 13:31:55,709 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07589292526245117】s -2024-03-27 13:31:55,709 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07589292526245117】s -2024-03-27 13:31:55,770 decorator.py [line:11] INFO function:【get_result】,runtime:【0.2573847770690918】s -2024-03-27 13:31:55,770 decorator.py [line:11] INFO function:【get_result】,runtime:【0.2573847770690918】s -2024-03-27 13:31:55,851 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07907915115356445】s -2024-03-27 13:31:55,851 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07907915115356445】s -2024-03-27 13:31:55,924 decorator.py [line:11] INFO function:【load_image】,runtime:【0.057257890701293945】s -2024-03-27 13:31:55,924 decorator.py [line:11] INFO function:【load_image】,runtime:【0.057257890701293945】s -2024-03-27 13:31:56,024 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08169937133789062】s -2024-03-27 13:31:56,024 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08169937133789062】s -2024-03-27 13:31:56,100 decorator.py [line:11] INFO function:【load_image】,runtime:【0.058481454849243164】s -2024-03-27 13:31:56,100 decorator.py [line:11] INFO function:【load_image】,runtime:【0.058481454849243164】s -2024-03-27 13:31:56,186 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06927204132080078】s -2024-03-27 13:31:56,186 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06927204132080078】s -2024-03-27 13:31:56,279 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0771634578704834】s -2024-03-27 13:31:56,279 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0771634578704834】s -2024-03-27 13:31:56,372 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07645511627197266】s -2024-03-27 13:31:56,372 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07645511627197266】s -2024-03-27 13:31:56,460 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0690762996673584】s -2024-03-27 13:31:56,460 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0690762996673584】s -2024-03-27 13:31:56,542 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06473708152770996】s -2024-03-27 13:31:56,542 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06473708152770996】s -2024-03-27 13:31:56,631 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07141780853271484】s -2024-03-27 13:31:56,631 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07141780853271484】s -2024-03-27 13:31:56,706 decorator.py [line:11] INFO function:【load_image】,runtime:【0.057878732681274414】s -2024-03-27 13:31:56,706 decorator.py [line:11] INFO function:【load_image】,runtime:【0.057878732681274414】s -2024-03-27 13:31:56,767 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. -Traceback of TorchScript, serialized code (most recent call last): - File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward - _4505 = int(_4504) - _4506 = ops.prim.NumToTensor(torch.size(images, 1)) - _4507 = torch.view(_1, [_4505, int(_4506), -1]) - ~~~~~~~~~~ <--- HERE - _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) - _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) - -Traceback of TorchScript, original code (most recent call last): -D:\PhD_Study\second paper\OutfitMatcher\fcm\models\main_model\type_aware_net.py(81): forward -C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\nn\modules\module.py(1488): _slow_forward -C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\nn\modules\module.py(1501): _call_impl -C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\jit\_trace.py(1056): trace_module -C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\jit\_trace.py(794): trace -D:\PhD_Study\second paper\OutfitMatcher\tools\pytorch2torchscript.py(68): pytorch2libtorch -D:\PhD_Study\second paper\OutfitMatcher\tools\pytorch2torchscript.py(128): -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\_pydev_imps\_pydev_execfile.py(18): execfile -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(1500): _exec -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(1493): run -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(2181): main -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(2199): -RuntimeError: shape '[5, 3, -1]' is invalid for input of size 704 - -2024-03-27 13:31:56,767 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. -Traceback of TorchScript, serialized code (most recent call last): - File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward - _4505 = int(_4504) - _4506 = ops.prim.NumToTensor(torch.size(images, 1)) - _4507 = torch.view(_1, [_4505, int(_4506), -1]) - ~~~~~~~~~~ <--- HERE - _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) - _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) - -Traceback of TorchScript, original code (most recent call last): -D:\PhD_Study\second paper\OutfitMatcher\fcm\models\main_model\type_aware_net.py(81): forward -C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\nn\modules\module.py(1488): _slow_forward -C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\nn\modules\module.py(1501): _call_impl -C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\jit\_trace.py(1056): trace_module -C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\jit\_trace.py(794): trace -D:\PhD_Study\second paper\OutfitMatcher\tools\pytorch2torchscript.py(68): pytorch2libtorch -D:\PhD_Study\second paper\OutfitMatcher\tools\pytorch2torchscript.py(128): -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\_pydev_imps\_pydev_execfile.py(18): execfile -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(1500): _exec -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(1493): run -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(2181): main -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(2199): -RuntimeError: shape '[5, 3, -1]' is invalid for input of size 704 - -2024-03-27 13:32:15,772 decorator.py [line:11] INFO function:【load_image】,runtime:【0.12557196617126465】s -2024-03-27 13:32:15,772 decorator.py [line:11] INFO function:【load_image】,runtime:【0.12557196617126465】s -2024-03-27 13:32:15,867 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0776052474975586】s -2024-03-27 13:32:15,867 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0776052474975586】s -2024-03-27 13:32:36,283 decorator.py [line:11] INFO function:【get_result】,runtime:【19.695392847061157】s -2024-03-27 13:32:36,283 decorator.py [line:11] INFO function:【get_result】,runtime:【19.695392847061157】s -2024-03-27 13:32:39,885 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10496735572814941】s -2024-03-27 13:32:39,885 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10496735572814941】s -2024-03-27 13:32:39,961 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0580439567565918】s -2024-03-27 13:32:39,961 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0580439567565918】s -2024-03-27 13:32:40,049 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07145905494689941】s -2024-03-27 13:32:40,049 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07145905494689941】s -2024-03-27 13:32:40,128 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06016206741333008】s -2024-03-27 13:32:40,128 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06016206741333008】s -2024-03-27 13:32:40,217 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07137513160705566】s -2024-03-27 13:32:40,217 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07137513160705566】s -2024-03-27 13:32:40,302 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06730365753173828】s -2024-03-27 13:32:40,302 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06730365753173828】s -2024-03-27 13:32:40,391 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07237100601196289】s -2024-03-27 13:32:40,391 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07237100601196289】s -2024-03-27 13:32:40,467 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05928659439086914】s -2024-03-27 13:32:40,467 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05928659439086914】s -2024-03-27 13:32:40,555 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07037734985351562】s -2024-03-27 13:32:40,555 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07037734985351562】s -2024-03-27 13:32:40,630 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05862092971801758】s -2024-03-27 13:32:40,630 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05862092971801758】s -2024-03-27 13:32:40,714 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06795549392700195】s -2024-03-27 13:32:40,714 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06795549392700195】s -2024-03-27 13:32:59,944 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. -Traceback of TorchScript, serialized code (most recent call last): - File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward - _4505 = int(_4504) - _4506 = ops.prim.NumToTensor(torch.size(images, 1)) - _4507 = torch.view(_1, [_4505, int(_4506), -1]) - ~~~~~~~~~~ <--- HERE - _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) - _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) - -Traceback of TorchScript, original code (most recent call last): -D:\PhD_Study\second paper\OutfitMatcher\fcm\models\main_model\type_aware_net.py(81): forward -C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\nn\modules\module.py(1488): _slow_forward -C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\nn\modules\module.py(1501): _call_impl -C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\jit\_trace.py(1056): trace_module -C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\jit\_trace.py(794): trace -D:\PhD_Study\second paper\OutfitMatcher\tools\pytorch2torchscript.py(68): pytorch2libtorch -D:\PhD_Study\second paper\OutfitMatcher\tools\pytorch2torchscript.py(128): -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\_pydev_imps\_pydev_execfile.py(18): execfile -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(1500): _exec -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(1493): run -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(2181): main -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(2199): -RuntimeError: shape '[5, 3, -1]' is invalid for input of size 704 - -2024-03-27 13:32:59,944 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. -Traceback of TorchScript, serialized code (most recent call last): - File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward - _4505 = int(_4504) - _4506 = ops.prim.NumToTensor(torch.size(images, 1)) - _4507 = torch.view(_1, [_4505, int(_4506), -1]) - ~~~~~~~~~~ <--- HERE - _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) - _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) - -Traceback of TorchScript, original code (most recent call last): -D:\PhD_Study\second paper\OutfitMatcher\fcm\models\main_model\type_aware_net.py(81): forward -C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\nn\modules\module.py(1488): _slow_forward -C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\nn\modules\module.py(1501): _call_impl -C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\jit\_trace.py(1056): trace_module -C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\jit\_trace.py(794): trace -D:\PhD_Study\second paper\OutfitMatcher\tools\pytorch2torchscript.py(68): pytorch2libtorch -D:\PhD_Study\second paper\OutfitMatcher\tools\pytorch2torchscript.py(128): -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\_pydev_imps\_pydev_execfile.py(18): execfile -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(1500): _exec -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(1493): run -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(2181): main -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(2199): -RuntimeError: shape '[5, 3, -1]' is invalid for input of size 704 - -2024-03-27 13:33:43,337 decorator.py [line:11] INFO function:【load_image】,runtime:【0.14627313613891602】s -2024-03-27 13:33:43,337 decorator.py [line:11] INFO function:【load_image】,runtime:【0.14627313613891602】s -2024-03-27 13:33:43,461 decorator.py [line:11] INFO function:【load_image】,runtime:【0.1029977798461914】s -2024-03-27 13:33:43,461 decorator.py [line:11] INFO function:【load_image】,runtime:【0.1029977798461914】s -2024-03-27 13:33:59,429 decorator.py [line:11] INFO function:【get_result】,runtime:【16.2382390499115】s -2024-03-27 13:33:59,429 decorator.py [line:11] INFO function:【get_result】,runtime:【16.2382390499115】s -2024-03-27 13:34:10,372 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08557796478271484】s -2024-03-27 13:34:10,372 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08557796478271484】s -2024-03-27 13:34:10,453 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06261587142944336】s -2024-03-27 13:34:10,453 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06261587142944336】s -2024-03-27 13:34:10,545 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07466697692871094】s -2024-03-27 13:34:10,545 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07466697692871094】s -2024-03-27 13:34:10,631 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0677337646484375】s -2024-03-27 13:34:10,631 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0677337646484375】s -2024-03-27 13:34:10,720 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06990265846252441】s -2024-03-27 13:34:10,720 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06990265846252441】s -2024-03-27 13:34:10,797 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06044435501098633】s -2024-03-27 13:34:10,797 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06044435501098633】s -2024-03-27 13:34:10,886 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0711050033569336】s -2024-03-27 13:34:10,886 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0711050033569336】s -2024-03-27 13:34:10,959 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05511355400085449】s -2024-03-27 13:34:10,959 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05511355400085449】s -2024-03-27 13:34:11,048 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07124543190002441】s -2024-03-27 13:34:11,048 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07124543190002441】s -2024-03-27 13:34:11,136 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07120442390441895】s -2024-03-27 13:34:11,136 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07120442390441895】s -2024-03-27 13:34:18,491 decorator.py [line:11] INFO function:【get_result】,runtime:【8.2043616771698】s -2024-03-27 13:34:18,491 decorator.py [line:11] INFO function:【get_result】,runtime:【8.2043616771698】s -2024-03-27 13:34:25,870 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07835936546325684】s -2024-03-27 13:34:25,870 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07835936546325684】s -2024-03-27 13:34:25,958 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0702660083770752】s -2024-03-27 13:34:25,958 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0702660083770752】s -2024-03-27 13:34:26,989 decorator.py [line:11] INFO function:【get_result】,runtime:【1.1981890201568604】s -2024-03-27 13:34:26,989 decorator.py [line:11] INFO function:【get_result】,runtime:【1.1981890201568604】s -2024-03-27 13:34:32,613 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0731658935546875】s -2024-03-27 13:34:32,613 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0731658935546875】s -2024-03-27 13:34:32,701 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07103252410888672】s -2024-03-27 13:34:32,701 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07103252410888672】s -2024-03-27 13:34:33,431 decorator.py [line:11] INFO function:【get_result】,runtime:【0.8910684585571289】s -2024-03-27 13:34:33,431 decorator.py [line:11] INFO function:【get_result】,runtime:【0.8910684585571289】s -2024-03-27 13:34:40,859 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06885647773742676】s -2024-03-27 13:34:40,859 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06885647773742676】s -2024-03-27 13:34:40,949 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0716407299041748】s -2024-03-27 13:34:40,949 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0716407299041748】s -2024-03-27 13:34:41,763 decorator.py [line:11] INFO function:【get_result】,runtime:【0.9724898338317871】s -2024-03-27 13:34:41,763 decorator.py [line:11] INFO function:【get_result】,runtime:【0.9724898338317871】s -2024-03-27 13:34:46,008 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07497215270996094】s -2024-03-27 13:34:46,008 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07497215270996094】s -2024-03-27 13:34:46,097 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07019209861755371】s -2024-03-27 13:34:46,097 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07019209861755371】s -2024-03-27 13:34:46,177 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06341028213500977】s -2024-03-27 13:34:46,177 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06341028213500977】s -2024-03-27 13:34:46,269 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07452797889709473】s -2024-03-27 13:34:46,269 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07452797889709473】s -2024-03-27 13:34:46,355 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06654644012451172】s -2024-03-27 13:34:46,355 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06654644012451172】s -2024-03-27 13:34:47,260 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. -Traceback of TorchScript, serialized code (most recent call last): - File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward - _4505 = int(_4504) - _4506 = ops.prim.NumToTensor(torch.size(images, 1)) - _4507 = torch.view(_1, [_4505, int(_4506), -1]) - ~~~~~~~~~~ <--- HERE - _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) - _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) - -Traceback of TorchScript, original code (most recent call last): -D:\PhD_Study\second paper\OutfitMatcher\fcm\models\main_model\type_aware_net.py(81): forward -C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\nn\modules\module.py(1488): _slow_forward -C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\nn\modules\module.py(1501): _call_impl -C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\jit\_trace.py(1056): trace_module -C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\jit\_trace.py(794): trace -D:\PhD_Study\second paper\OutfitMatcher\tools\pytorch2torchscript.py(68): pytorch2libtorch -D:\PhD_Study\second paper\OutfitMatcher\tools\pytorch2torchscript.py(128): -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\_pydev_imps\_pydev_execfile.py(18): execfile -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(1500): _exec -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(1493): run -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(2181): main -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(2199): -RuntimeError: shape '[2, 3, -1]' is invalid for input of size 320 - -2024-03-27 13:34:47,260 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. -Traceback of TorchScript, serialized code (most recent call last): - File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward - _4505 = int(_4504) - _4506 = ops.prim.NumToTensor(torch.size(images, 1)) - _4507 = torch.view(_1, [_4505, int(_4506), -1]) - ~~~~~~~~~~ <--- HERE - _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) - _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) - -Traceback of TorchScript, original code (most recent call last): -D:\PhD_Study\second paper\OutfitMatcher\fcm\models\main_model\type_aware_net.py(81): forward -C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\nn\modules\module.py(1488): _slow_forward -C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\nn\modules\module.py(1501): _call_impl -C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\jit\_trace.py(1056): trace_module -C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\jit\_trace.py(794): trace -D:\PhD_Study\second paper\OutfitMatcher\tools\pytorch2torchscript.py(68): pytorch2libtorch -D:\PhD_Study\second paper\OutfitMatcher\tools\pytorch2torchscript.py(128): -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\_pydev_imps\_pydev_execfile.py(18): execfile -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(1500): _exec -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(1493): run -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(2181): main -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(2199): -RuntimeError: shape '[2, 3, -1]' is invalid for input of size 320 - -2024-03-27 13:54:49,395 decorator.py [line:11] INFO function:【load_image】,runtime:【0.14566850662231445】s -2024-03-27 13:54:49,395 decorator.py [line:11] INFO function:【load_image】,runtime:【0.14566850662231445】s -2024-03-27 13:54:49,502 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08782744407653809】s -2024-03-27 13:54:49,502 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08782744407653809】s -2024-03-27 13:54:49,597 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07923293113708496】s -2024-03-27 13:54:49,597 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07923293113708496】s -2024-03-27 13:54:49,695 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07961916923522949】s -2024-03-27 13:54:49,695 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07961916923522949】s -2024-03-27 13:54:49,795 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0831143856048584】s -2024-03-27 13:54:49,795 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0831143856048584】s -2024-03-27 13:54:59,153 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. -Traceback of TorchScript, serialized code (most recent call last): - File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward - _4505 = int(_4504) - _4506 = ops.prim.NumToTensor(torch.size(images, 1)) - _4507 = torch.view(_1, [_4505, int(_4506), -1]) - ~~~~~~~~~~ <--- HERE - _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) - _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) - -Traceback of TorchScript, original code (most recent call last): -D:\PhD_Study\second paper\OutfitMatcher\fcm\models\main_model\type_aware_net.py(81): forward -C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\nn\modules\module.py(1488): _slow_forward -C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\nn\modules\module.py(1501): _call_impl -C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\jit\_trace.py(1056): trace_module -C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\jit\_trace.py(794): trace -D:\PhD_Study\second paper\OutfitMatcher\tools\pytorch2torchscript.py(68): pytorch2libtorch -D:\PhD_Study\second paper\OutfitMatcher\tools\pytorch2torchscript.py(128): -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\_pydev_imps\_pydev_execfile.py(18): execfile -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(1500): _exec -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(1493): run -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(2181): main -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(2199): -RuntimeError: shape '[2, 3, -1]' is invalid for input of size 320 - -2024-03-27 13:54:59,153 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. -Traceback of TorchScript, serialized code (most recent call last): - File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward - _4505 = int(_4504) - _4506 = ops.prim.NumToTensor(torch.size(images, 1)) - _4507 = torch.view(_1, [_4505, int(_4506), -1]) - ~~~~~~~~~~ <--- HERE - _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) - _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) - -Traceback of TorchScript, original code (most recent call last): -D:\PhD_Study\second paper\OutfitMatcher\fcm\models\main_model\type_aware_net.py(81): forward -C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\nn\modules\module.py(1488): _slow_forward -C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\nn\modules\module.py(1501): _call_impl -C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\jit\_trace.py(1056): trace_module -C:\Users\pkc\.conda\envs\llava\lib\site-packages\torch\jit\_trace.py(794): trace -D:\PhD_Study\second paper\OutfitMatcher\tools\pytorch2torchscript.py(68): pytorch2libtorch -D:\PhD_Study\second paper\OutfitMatcher\tools\pytorch2torchscript.py(128): -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\_pydev_imps\_pydev_execfile.py(18): execfile -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(1500): _exec -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(1493): run -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(2181): main -C:\Program Files\JetBrains\PyCharm 2023.2.3\plugins\python\helpers\pydev\pydevd.py(2199): -RuntimeError: shape '[2, 3, -1]' is invalid for input of size 320 - -2024-03-27 13:58:20,340 decorator.py [line:11] INFO function:【load_image】,runtime:【0.1419973373413086】s -2024-03-27 13:58:20,340 decorator.py [line:11] INFO function:【load_image】,runtime:【0.1419973373413086】s -2024-03-27 13:58:20,442 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08225560188293457】s -2024-03-27 13:58:20,442 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08225560188293457】s -2024-03-27 13:58:22,899 decorator.py [line:11] INFO function:【get_result】,runtime:【2.701899528503418】s -2024-03-27 13:58:22,899 decorator.py [line:11] INFO function:【get_result】,runtime:【2.701899528503418】s -2024-03-27 13:58:27,827 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09511446952819824】s -2024-03-27 13:58:27,827 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09511446952819824】s -2024-03-27 13:58:27,920 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0761256217956543】s -2024-03-27 13:58:27,920 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0761256217956543】s -2024-03-27 13:58:28,015 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0797882080078125】s -2024-03-27 13:58:28,015 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0797882080078125】s -2024-03-27 13:58:28,102 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0706169605255127】s -2024-03-27 13:58:28,102 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0706169605255127】s -2024-03-27 13:58:28,203 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0837099552154541】s -2024-03-27 13:58:28,203 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0837099552154541】s -2024-03-27 13:58:28,277 decorator.py [line:11] INFO function:【load_image】,runtime:【0.058257102966308594】s -2024-03-27 13:58:28,277 decorator.py [line:11] INFO function:【load_image】,runtime:【0.058257102966308594】s -2024-03-27 13:58:28,373 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07945060729980469】s -2024-03-27 13:58:28,373 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07945060729980469】s -2024-03-27 13:58:28,449 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05907869338989258】s -2024-03-27 13:58:28,449 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05907869338989258】s -2024-03-27 13:58:28,535 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06852412223815918】s -2024-03-27 13:58:28,535 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06852412223815918】s -2024-03-27 13:58:28,612 decorator.py [line:11] INFO function:【load_image】,runtime:【0.059185028076171875】s -2024-03-27 13:58:28,612 decorator.py [line:11] INFO function:【load_image】,runtime:【0.059185028076171875】s -2024-03-27 13:58:28,696 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06656241416931152】s -2024-03-27 13:58:28,696 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06656241416931152】s -2024-03-27 13:58:30,848 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. -Traceback of TorchScript (most recent call last): - File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward - _4505 = int(_4504) - _4506 = ops.prim.NumToTensor(torch.size(images, 1)) - _4507 = torch.view(_1, [_4505, int(_4506), -1]) - ~~~~~~~~~~ <--- HERE - _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) - _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) -RuntimeError: shape '[5, 3, -1]' is invalid for input of size 704 - -2024-03-27 13:58:30,848 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. -Traceback of TorchScript (most recent call last): - File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward - _4505 = int(_4504) - _4506 = ops.prim.NumToTensor(torch.size(images, 1)) - _4507 = torch.view(_1, [_4505, int(_4506), -1]) - ~~~~~~~~~~ <--- HERE - _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) - _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) -RuntimeError: shape '[5, 3, -1]' is invalid for input of size 704 - -2024-03-27 13:58:44,145 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10509109497070312】s -2024-03-27 13:58:44,145 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10509109497070312】s -2024-03-27 13:58:44,241 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07898759841918945】s -2024-03-27 13:58:44,241 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07898759841918945】s -2024-03-27 13:58:44,275 decorator.py [line:11] INFO function:【get_result】,runtime:【0.2351522445678711】s -2024-03-27 13:58:44,275 decorator.py [line:11] INFO function:【get_result】,runtime:【0.2351522445678711】s -2024-03-27 13:58:45,574 decorator.py [line:11] INFO function:【load_image】,runtime:【0.14697742462158203】s -2024-03-27 13:58:45,574 decorator.py [line:11] INFO function:【load_image】,runtime:【0.14697742462158203】s -2024-03-27 13:58:45,679 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08646893501281738】s -2024-03-27 13:58:45,679 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08646893501281738】s -2024-03-27 13:58:45,773 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0773007869720459】s -2024-03-27 13:58:45,773 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0773007869720459】s -2024-03-27 13:58:45,859 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06799125671386719】s -2024-03-27 13:58:45,859 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06799125671386719】s -2024-03-27 13:58:45,949 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07116031646728516】s -2024-03-27 13:58:45,949 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07116031646728516】s -2024-03-27 13:58:46,042 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07659769058227539】s -2024-03-27 13:58:46,042 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07659769058227539】s -2024-03-27 13:58:46,119 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06028294563293457】s -2024-03-27 13:58:46,119 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06028294563293457】s -2024-03-27 13:58:46,214 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07743430137634277】s -2024-03-27 13:58:46,214 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07743430137634277】s -2024-03-27 13:58:46,288 decorator.py [line:11] INFO function:【load_image】,runtime:【0.057299137115478516】s -2024-03-27 13:58:46,288 decorator.py [line:11] INFO function:【load_image】,runtime:【0.057299137115478516】s -2024-03-27 13:58:46,373 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06985664367675781】s -2024-03-27 13:58:46,373 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06985664367675781】s -2024-03-27 13:58:46,461 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07092571258544922】s -2024-03-27 13:58:46,461 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07092571258544922】s -2024-03-27 13:58:46,533 decorator.py [line:11] INFO function:【load_image】,runtime:【0.055513620376586914】s -2024-03-27 13:58:46,533 decorator.py [line:11] INFO function:【load_image】,runtime:【0.055513620376586914】s -2024-03-27 13:58:46,591 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. -Traceback of TorchScript (most recent call last): - File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward - _4505 = int(_4504) - _4506 = ops.prim.NumToTensor(torch.size(images, 1)) - _4507 = torch.view(_1, [_4505, int(_4506), -1]) - ~~~~~~~~~~ <--- HERE - _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) - _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) -RuntimeError: shape '[5, 3, -1]' is invalid for input of size 768 - -2024-03-27 13:58:46,591 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. -Traceback of TorchScript (most recent call last): - File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward - _4505 = int(_4504) - _4506 = ops.prim.NumToTensor(torch.size(images, 1)) - _4507 = torch.view(_1, [_4505, int(_4506), -1]) - ~~~~~~~~~~ <--- HERE - _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) - _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) -RuntimeError: shape '[5, 3, -1]' is invalid for input of size 768 - -2024-03-27 13:58:57,964 api_outfit_matcher.py [line:46] WARNING 'tops' -2024-03-27 13:58:57,964 api_outfit_matcher.py [line:46] WARNING 'tops' -2024-03-27 13:59:03,013 api_outfit_matcher.py [line:46] WARNING 'tops' -2024-03-27 13:59:03,013 api_outfit_matcher.py [line:46] WARNING 'tops' -2024-03-27 13:59:37,401 decorator.py [line:11] INFO function:【load_image】,runtime:【0.16234040260314941】s -2024-03-27 13:59:37,401 decorator.py [line:11] INFO function:【load_image】,runtime:【0.16234040260314941】s -2024-03-27 13:59:37,529 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11061978340148926】s -2024-03-27 13:59:37,529 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11061978340148926】s -2024-03-27 13:59:37,578 decorator.py [line:11] INFO function:【get_result】,runtime:【0.3390374183654785】s -2024-03-27 13:59:37,578 decorator.py [line:11] INFO function:【get_result】,runtime:【0.3390374183654785】s -2024-03-27 13:59:37,579 api_outfit_matcher.py [line:43] INFO run time is : 4.3606555461883545 -2024-03-27 13:59:37,579 api_outfit_matcher.py [line:43] INFO run time is : 4.3606555461883545 -2024-03-27 13:59:53,533 decorator.py [line:11] INFO function:【load_image】,runtime:【0.12405610084533691】s -2024-03-27 13:59:53,533 decorator.py [line:11] INFO function:【load_image】,runtime:【0.12405610084533691】s -2024-03-27 13:59:53,614 decorator.py [line:11] INFO function:【load_image】,runtime:【0.062774658203125】s -2024-03-27 13:59:53,614 decorator.py [line:11] INFO function:【load_image】,runtime:【0.062774658203125】s -2024-03-27 13:59:53,706 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07370877265930176】s -2024-03-27 13:59:53,706 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07370877265930176】s -2024-03-27 13:59:53,782 decorator.py [line:11] INFO function:【load_image】,runtime:【0.058119773864746094】s -2024-03-27 13:59:53,782 decorator.py [line:11] INFO function:【load_image】,runtime:【0.058119773864746094】s -2024-03-27 13:59:53,884 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08421730995178223】s -2024-03-27 13:59:53,884 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08421730995178223】s -2024-03-27 13:59:53,959 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05769848823547363】s -2024-03-27 13:59:53,959 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05769848823547363】s -2024-03-27 13:59:54,047 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07019829750061035】s -2024-03-27 13:59:54,047 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07019829750061035】s -2024-03-27 13:59:54,136 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07048344612121582】s -2024-03-27 13:59:54,136 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07048344612121582】s -2024-03-27 13:59:54,214 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05997824668884277】s -2024-03-27 13:59:54,214 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05997824668884277】s -2024-03-27 13:59:54,303 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07163858413696289】s -2024-03-27 13:59:54,303 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07163858413696289】s -2024-03-27 13:59:54,386 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06445097923278809】s -2024-03-27 13:59:54,386 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06445097923278809】s -2024-03-27 13:59:54,440 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. -Traceback of TorchScript (most recent call last): - File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward - _4505 = int(_4504) - _4506 = ops.prim.NumToTensor(torch.size(images, 1)) - _4507 = torch.view(_1, [_4505, int(_4506), -1]) - ~~~~~~~~~~ <--- HERE - _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) - _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) -RuntimeError: shape '[5, 3, -1]' is invalid for input of size 704 - -2024-03-27 13:59:54,440 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. -Traceback of TorchScript (most recent call last): - File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward - _4505 = int(_4504) - _4506 = ops.prim.NumToTensor(torch.size(images, 1)) - _4507 = torch.view(_1, [_4505, int(_4506), -1]) - ~~~~~~~~~~ <--- HERE - _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) - _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) -RuntimeError: shape '[5, 3, -1]' is invalid for input of size 704 - -2024-03-27 14:00:04,040 decorator.py [line:11] INFO function:【load_image】,runtime:【0.15560507774353027】s -2024-03-27 14:00:04,040 decorator.py [line:11] INFO function:【load_image】,runtime:【0.15560507774353027】s -2024-03-27 14:00:04,168 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10945677757263184】s -2024-03-27 14:00:04,168 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10945677757263184】s -2024-03-27 14:00:04,302 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11451935768127441】s -2024-03-27 14:00:04,302 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11451935768127441】s -2024-03-27 14:00:04,403 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08105683326721191】s -2024-03-27 14:00:04,403 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08105683326721191】s -2024-03-27 14:00:04,556 decorator.py [line:11] INFO function:【load_image】,runtime:【0.13525652885437012】s -2024-03-27 14:00:04,556 decorator.py [line:11] INFO function:【load_image】,runtime:【0.13525652885437012】s -2024-03-27 14:00:04,677 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10164761543273926】s -2024-03-27 14:00:04,677 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10164761543273926】s -2024-03-27 14:00:04,806 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11051678657531738】s -2024-03-27 14:00:04,806 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11051678657531738】s -2024-03-27 14:00:04,939 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11425638198852539】s -2024-03-27 14:00:04,939 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11425638198852539】s -2024-03-27 14:00:05,050 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09280538558959961】s -2024-03-27 14:00:05,050 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09280538558959961】s -2024-03-27 14:00:05,179 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11007046699523926】s -2024-03-27 14:00:05,179 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11007046699523926】s -2024-03-27 14:00:05,287 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09088277816772461】s -2024-03-27 14:00:05,287 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09088277816772461】s -2024-03-27 14:00:05,397 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0912470817565918】s -2024-03-27 14:00:05,397 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0912470817565918】s -2024-03-27 14:00:05,449 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. -Traceback of TorchScript (most recent call last): - File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward - _4505 = int(_4504) - _4506 = ops.prim.NumToTensor(torch.size(images, 1)) - _4507 = torch.view(_1, [_4505, int(_4506), -1]) - ~~~~~~~~~~ <--- HERE - _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) - _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) -RuntimeError: shape '[5, 3, -1]' is invalid for input of size 768 - -2024-03-27 14:00:05,449 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. -Traceback of TorchScript (most recent call last): - File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward - _4505 = int(_4504) - _4506 = ops.prim.NumToTensor(torch.size(images, 1)) - _4507 = torch.view(_1, [_4505, int(_4506), -1]) - ~~~~~~~~~~ <--- HERE - _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) - _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) -RuntimeError: shape '[5, 3, -1]' is invalid for input of size 768 - -2024-03-27 14:00:24,103 decorator.py [line:11] INFO function:【load_image】,runtime:【0.12218999862670898】s -2024-03-27 14:00:24,103 decorator.py [line:11] INFO function:【load_image】,runtime:【0.12218999862670898】s -2024-03-27 14:00:24,206 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08275294303894043】s -2024-03-27 14:00:24,206 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08275294303894043】s -2024-03-27 14:00:24,257 decorator.py [line:11] INFO function:【get_result】,runtime:【0.27626585960388184】s -2024-03-27 14:00:24,257 decorator.py [line:11] INFO function:【get_result】,runtime:【0.27626585960388184】s -2024-03-27 14:00:27,384 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08464622497558594】s -2024-03-27 14:00:27,384 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08464622497558594】s -2024-03-27 14:00:27,483 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08122897148132324】s -2024-03-27 14:00:27,483 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08122897148132324】s -2024-03-27 14:00:27,514 decorator.py [line:11] INFO function:【get_result】,runtime:【0.21431875228881836】s -2024-03-27 14:00:27,514 decorator.py [line:11] INFO function:【get_result】,runtime:【0.21431875228881836】s -2024-03-27 14:00:28,238 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06983208656311035】s -2024-03-27 14:00:28,238 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06983208656311035】s -2024-03-27 14:00:28,339 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08301925659179688】s -2024-03-27 14:00:28,339 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08301925659179688】s -2024-03-27 14:00:28,372 decorator.py [line:11] INFO function:【get_result】,runtime:【0.2040712833404541】s -2024-03-27 14:00:28,372 decorator.py [line:11] INFO function:【get_result】,runtime:【0.2040712833404541】s -2024-03-27 14:00:29,044 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08105134963989258】s -2024-03-27 14:00:29,044 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08105134963989258】s -2024-03-27 14:00:29,150 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08832597732543945】s -2024-03-27 14:00:29,150 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08832597732543945】s -2024-03-27 14:00:29,180 decorator.py [line:11] INFO function:【get_result】,runtime:【0.21682119369506836】s -2024-03-27 14:00:29,180 decorator.py [line:11] INFO function:【get_result】,runtime:【0.21682119369506836】s -2024-03-27 14:00:29,839 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0821681022644043】s -2024-03-27 14:00:29,839 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0821681022644043】s -2024-03-27 14:00:29,935 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07955217361450195】s -2024-03-27 14:00:29,935 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07955217361450195】s -2024-03-27 14:00:30,019 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06698799133300781】s -2024-03-27 14:00:30,019 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06698799133300781】s -2024-03-27 14:00:30,108 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07267951965332031】s -2024-03-27 14:00:30,108 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07267951965332031】s -2024-03-27 14:00:30,201 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07572412490844727】s -2024-03-27 14:00:30,201 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07572412490844727】s -2024-03-27 14:00:30,274 decorator.py [line:11] INFO function:【load_image】,runtime:【0.055880069732666016】s -2024-03-27 14:00:30,274 decorator.py [line:11] INFO function:【load_image】,runtime:【0.055880069732666016】s -2024-03-27 14:00:30,361 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07042908668518066】s -2024-03-27 14:00:30,361 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07042908668518066】s -2024-03-27 14:00:30,458 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07879352569580078】s -2024-03-27 14:00:30,458 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07879352569580078】s -2024-03-27 14:00:30,542 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06822371482849121】s -2024-03-27 14:00:30,542 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06822371482849121】s -2024-03-27 14:00:30,627 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06983423233032227】s -2024-03-27 14:00:30,627 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06983423233032227】s -2024-03-27 14:00:30,718 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07277274131774902】s -2024-03-27 14:00:30,718 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07277274131774902】s -2024-03-27 14:00:30,803 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06798839569091797】s -2024-03-27 14:00:30,803 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06798839569091797】s -2024-03-27 14:00:30,894 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07380461692810059】s -2024-03-27 14:00:30,894 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07380461692810059】s -2024-03-27 14:00:30,987 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0753021240234375】s -2024-03-27 14:00:30,987 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0753021240234375】s -2024-03-27 14:00:31,062 decorator.py [line:11] INFO function:【load_image】,runtime:【0.058187007904052734】s -2024-03-27 14:00:31,062 decorator.py [line:11] INFO function:【load_image】,runtime:【0.058187007904052734】s -2024-03-27 14:00:31,114 decorator.py [line:11] INFO function:【get_result】,runtime:【1.3570747375488281】s -2024-03-27 14:00:31,114 decorator.py [line:11] INFO function:【get_result】,runtime:【1.3570747375488281】s -2024-03-27 14:00:32,052 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0656881332397461】s -2024-03-27 14:00:32,052 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0656881332397461】s -2024-03-27 14:00:32,145 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07381057739257812】s -2024-03-27 14:00:32,145 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07381057739257812】s -2024-03-27 14:00:32,176 decorator.py [line:11] INFO function:【get_result】,runtime:【0.18974781036376953】s -2024-03-27 14:00:32,176 decorator.py [line:11] INFO function:【get_result】,runtime:【0.18974781036376953】s -2024-03-27 14:00:32,176 api_outfit_matcher.py [line:43] INFO run time is : 10.125276803970337 -2024-03-27 14:00:32,176 api_outfit_matcher.py [line:43] INFO run time is : 10.125276803970337 -2024-03-27 14:00:48,000 decorator.py [line:11] INFO function:【load_image】,runtime:【0.2157456874847412】s -2024-03-27 14:00:48,000 decorator.py [line:11] INFO function:【load_image】,runtime:【0.2157456874847412】s -2024-03-27 14:00:48,116 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09854531288146973】s -2024-03-27 14:00:48,116 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09854531288146973】s -2024-03-27 14:00:48,249 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11585569381713867】s -2024-03-27 14:00:48,249 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11585569381713867】s -2024-03-27 14:00:48,351 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08505105972290039】s -2024-03-27 14:00:48,351 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08505105972290039】s -2024-03-27 14:00:48,455 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08607959747314453】s -2024-03-27 14:00:48,455 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08607959747314453】s -2024-03-27 14:00:48,560 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08723664283752441】s -2024-03-27 14:00:48,560 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08723664283752441】s -2024-03-27 14:00:48,655 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07823681831359863】s -2024-03-27 14:00:48,655 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07823681831359863】s -2024-03-27 14:00:48,790 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11772513389587402】s -2024-03-27 14:00:48,790 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11772513389587402】s -2024-03-27 14:00:48,902 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0930490493774414】s -2024-03-27 14:00:48,902 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0930490493774414】s -2024-03-27 14:00:49,027 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10860133171081543】s -2024-03-27 14:00:49,027 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10860133171081543】s -2024-03-27 14:00:49,122 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07420182228088379】s -2024-03-27 14:00:49,122 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07420182228088379】s -2024-03-27 14:00:49,187 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. -Traceback of TorchScript (most recent call last): - File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward - _4505 = int(_4504) - _4506 = ops.prim.NumToTensor(torch.size(images, 1)) - _4507 = torch.view(_1, [_4505, int(_4506), -1]) - ~~~~~~~~~~ <--- HERE - _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) - _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) -RuntimeError: shape '[5, 3, -1]' is invalid for input of size 704 - -2024-03-27 14:00:49,187 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. -Traceback of TorchScript (most recent call last): - File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward - _4505 = int(_4504) - _4506 = ops.prim.NumToTensor(torch.size(images, 1)) - _4507 = torch.view(_1, [_4505, int(_4506), -1]) - ~~~~~~~~~~ <--- HERE - _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) - _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) -RuntimeError: shape '[5, 3, -1]' is invalid for input of size 704 - -2024-03-27 14:01:02,099 decorator.py [line:11] INFO function:【load_image】,runtime:【0.16933894157409668】s -2024-03-27 14:01:02,099 decorator.py [line:11] INFO function:【load_image】,runtime:【0.16933894157409668】s -2024-03-27 14:01:02,194 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07816171646118164】s -2024-03-27 14:01:02,194 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07816171646118164】s -2024-03-27 14:01:02,302 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08951163291931152】s -2024-03-27 14:01:02,302 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08951163291931152】s -2024-03-27 14:01:02,407 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0887606143951416】s -2024-03-27 14:01:02,407 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0887606143951416】s -2024-03-27 14:01:02,509 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08620452880859375】s -2024-03-27 14:01:02,509 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08620452880859375】s -2024-03-27 14:01:02,599 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07243728637695312】s -2024-03-27 14:01:02,599 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07243728637695312】s -2024-03-27 14:01:02,698 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08305978775024414】s -2024-03-27 14:01:02,698 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08305978775024414】s -2024-03-27 14:01:02,786 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0703268051147461】s -2024-03-27 14:01:02,786 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0703268051147461】s -2024-03-27 14:01:02,870 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06625247001647949】s -2024-03-27 14:01:02,870 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06625247001647949】s -2024-03-27 14:01:02,958 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07140207290649414】s -2024-03-27 14:01:02,958 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07140207290649414】s -2024-03-27 14:01:03,031 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05882072448730469】s -2024-03-27 14:01:03,031 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05882072448730469】s -2024-03-27 14:01:03,119 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07142138481140137】s -2024-03-27 14:01:03,119 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07142138481140137】s -2024-03-27 14:01:03,193 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05618572235107422】s -2024-03-27 14:01:03,193 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05618572235107422】s -2024-03-27 14:01:03,277 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06607556343078613】s -2024-03-27 14:01:03,277 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06607556343078613】s -2024-03-27 14:01:03,335 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. -Traceback of TorchScript (most recent call last): - File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward - _4505 = int(_4504) - _4506 = ops.prim.NumToTensor(torch.size(images, 1)) - _4507 = torch.view(_1, [_4505, int(_4506), -1]) - ~~~~~~~~~~ <--- HERE - _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) - _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) -RuntimeError: shape '[6, 3, -1]' is invalid for input of size 896 - -2024-03-27 14:01:03,335 api_outfit_matcher.py [line:46] WARNING [400] PyTorch execute failure: The following operation failed in the TorchScript interpreter. -Traceback of TorchScript (most recent call last): - File "code/__torch__/fcm/models/main_model/type_aware_net.py", line 12025, in forward - _4505 = int(_4504) - _4506 = ops.prim.NumToTensor(torch.size(images, 1)) - _4507 = torch.view(_1, [_4505, int(_4506), -1]) - ~~~~~~~~~~ <--- HERE - _4508 = torch.slice(_4507, 0, 0, 9223372036854775807) - _4509 = torch.slice(torch.select(_4508, 1, 0), 1, 0, 9223372036854775807) -RuntimeError: shape '[6, 3, -1]' is invalid for input of size 896 - -2024-03-27 14:02:22,476 decorator.py [line:11] INFO function:【load_image】,runtime:【0.12627029418945312】s -2024-03-27 14:02:22,476 decorator.py [line:11] INFO function:【load_image】,runtime:【0.12627029418945312】s -2024-03-27 14:02:22,586 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09139084815979004】s -2024-03-27 14:02:22,586 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09139084815979004】s -2024-03-27 14:02:22,658 decorator.py [line:11] INFO function:【get_result】,runtime:【0.30730652809143066】s -2024-03-27 14:02:22,658 decorator.py [line:11] INFO function:【get_result】,runtime:【0.30730652809143066】s -2024-03-27 14:02:22,658 api_outfit_matcher.py [line:43] INFO run time is : 0.30835771560668945 -2024-03-27 14:02:22,658 api_outfit_matcher.py [line:43] INFO run time is : 0.30835771560668945 -2024-03-27 14:02:35,439 api_outfit_matcher.py [line:46] WARNING 'bottoms' -2024-03-27 14:02:35,439 api_outfit_matcher.py [line:46] WARNING 'bottoms' -2024-03-27 14:02:39,781 api_outfit_matcher.py [line:46] WARNING 'bottoms' -2024-03-27 14:02:39,781 api_outfit_matcher.py [line:46] WARNING 'bottoms' -2024-03-27 14:02:51,401 api_outfit_matcher.py [line:46] WARNING 'bottoms' -2024-03-27 14:02:51,401 api_outfit_matcher.py [line:46] WARNING 'bottoms' -2024-03-27 14:04:04,097 api_outfit_matcher.py [line:46] WARNING 'bottoms' -2024-03-27 14:04:04,097 api_outfit_matcher.py [line:46] WARNING 'bottoms' -2024-03-27 14:04:06,307 api_outfit_matcher.py [line:46] WARNING 'bottoms' -2024-03-27 14:04:06,307 api_outfit_matcher.py [line:46] WARNING 'bottoms' -2024-03-27 14:04:28,865 api_outfit_matcher.py [line:46] WARNING 'bottoms' -2024-03-27 14:04:28,865 api_outfit_matcher.py [line:46] WARNING 'bottoms' -2024-03-27 14:04:29,773 api_outfit_matcher.py [line:46] WARNING 'bottoms' -2024-03-27 14:04:29,773 api_outfit_matcher.py [line:46] WARNING 'bottoms' -2024-03-27 14:13:28,169 decorator.py [line:11] INFO function:【load_image】,runtime:【0.12053704261779785】s -2024-03-27 14:13:28,169 decorator.py [line:11] INFO function:【load_image】,runtime:【0.12053704261779785】s -2024-03-27 14:13:28,264 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07200479507446289】s -2024-03-27 14:13:28,264 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07200479507446289】s -2024-03-27 14:13:28,320 decorator.py [line:11] INFO function:【get_result】,runtime:【0.27213454246520996】s -2024-03-27 14:13:28,320 decorator.py [line:11] INFO function:【get_result】,runtime:【0.27213454246520996】s -2024-03-27 14:13:28,321 api_outfit_matcher.py [line:43] INFO run time is : 9.347336292266846 -2024-03-27 14:13:28,321 api_outfit_matcher.py [line:43] INFO run time is : 9.347336292266846 -2024-03-27 14:13:41,694 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11302900314331055】s -2024-03-27 14:13:41,694 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11302900314331055】s -2024-03-27 14:13:41,786 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07468986511230469】s -2024-03-27 14:13:41,786 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07468986511230469】s -2024-03-27 14:13:41,885 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08054018020629883】s -2024-03-27 14:13:41,885 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08054018020629883】s -2024-03-27 14:13:41,975 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0731651782989502】s -2024-03-27 14:13:41,975 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0731651782989502】s -2024-03-27 14:13:42,072 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08111858367919922】s -2024-03-27 14:13:42,072 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08111858367919922】s -2024-03-27 14:13:42,149 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05853128433227539】s -2024-03-27 14:13:42,149 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05853128433227539】s -2024-03-27 14:13:42,243 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07651996612548828】s -2024-03-27 14:13:42,243 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07651996612548828】s -2024-03-27 14:13:42,333 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07381224632263184】s -2024-03-27 14:13:42,333 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07381224632263184】s -2024-03-27 14:13:42,427 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07590818405151367】s -2024-03-27 14:13:42,427 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07590818405151367】s -2024-03-27 14:13:42,502 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05824589729309082】s -2024-03-27 14:13:42,502 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05824589729309082】s -2024-03-27 14:13:42,546 decorator.py [line:11] INFO function:【get_result】,runtime:【0.9643533229827881】s -2024-03-27 14:13:42,546 decorator.py [line:11] INFO function:【get_result】,runtime:【0.9643533229827881】s -2024-03-27 14:13:42,547 api_outfit_matcher.py [line:43] INFO run time is : 2.5539469718933105 -2024-03-27 14:13:42,547 api_outfit_matcher.py [line:43] INFO run time is : 2.5539469718933105 -2024-03-27 14:13:48,812 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10729408264160156】s -2024-03-27 14:13:48,812 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10729408264160156】s -2024-03-27 14:13:48,890 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06264424324035645】s -2024-03-27 14:13:48,890 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06264424324035645】s -2024-03-27 14:13:48,987 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07999897003173828】s -2024-03-27 14:13:48,987 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07999897003173828】s -2024-03-27 14:13:49,075 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0713644027709961】s -2024-03-27 14:13:49,075 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0713644027709961】s -2024-03-27 14:13:49,170 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07723450660705566】s -2024-03-27 14:13:49,170 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07723450660705566】s -2024-03-27 14:13:49,252 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06630754470825195】s -2024-03-27 14:13:49,252 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06630754470825195】s -2024-03-27 14:13:49,348 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07870364189147949】s -2024-03-27 14:13:49,348 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07870364189147949】s -2024-03-27 14:13:49,421 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05652785301208496】s -2024-03-27 14:13:49,421 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05652785301208496】s -2024-03-27 14:13:49,513 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07566189765930176】s -2024-03-27 14:13:49,513 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07566189765930176】s -2024-03-27 14:13:49,602 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07099485397338867】s -2024-03-27 14:13:49,602 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07099485397338867】s -2024-03-27 14:13:49,652 decorator.py [line:11] INFO function:【get_result】,runtime:【0.9470536708831787】s -2024-03-27 14:13:49,652 decorator.py [line:11] INFO function:【get_result】,runtime:【0.9470536708831787】s -2024-03-27 14:13:49,653 api_outfit_matcher.py [line:43] INFO run time is : 0.9490540027618408 -2024-03-27 14:13:49,653 api_outfit_matcher.py [line:43] INFO run time is : 0.9490540027618408 -2024-03-27 14:13:51,276 decorator.py [line:11] INFO function:【load_image】,runtime:【0.12873482704162598】s -2024-03-27 14:13:51,276 decorator.py [line:11] INFO function:【load_image】,runtime:【0.12873482704162598】s -2024-03-27 14:13:51,370 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07540464401245117】s -2024-03-27 14:13:51,370 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07540464401245117】s -2024-03-27 14:13:51,477 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08808326721191406】s -2024-03-27 14:13:51,477 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08808326721191406】s -2024-03-27 14:13:51,581 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08571839332580566】s -2024-03-27 14:13:51,581 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08571839332580566】s -2024-03-27 14:13:51,678 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0799405574798584】s -2024-03-27 14:13:51,678 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0799405574798584】s -2024-03-27 14:13:51,774 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07712888717651367】s -2024-03-27 14:13:51,774 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07712888717651367】s -2024-03-27 14:13:51,872 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08074474334716797】s -2024-03-27 14:13:51,872 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08074474334716797】s -2024-03-27 14:13:51,952 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06273889541625977】s -2024-03-27 14:13:51,952 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06273889541625977】s -2024-03-27 14:13:52,050 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08139181137084961】s -2024-03-27 14:13:52,050 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08139181137084961】s -2024-03-27 14:13:52,133 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06469225883483887】s -2024-03-27 14:13:52,133 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06469225883483887】s -2024-03-27 14:13:52,179 decorator.py [line:11] INFO function:【get_result】,runtime:【1.0312957763671875】s -2024-03-27 14:13:52,179 decorator.py [line:11] INFO function:【get_result】,runtime:【1.0312957763671875】s -2024-03-27 14:13:52,179 api_outfit_matcher.py [line:43] INFO run time is : 1.0312957763671875 -2024-03-27 14:13:52,179 api_outfit_matcher.py [line:43] INFO run time is : 1.0312957763671875 -2024-03-27 14:14:05,332 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11725211143493652】s -2024-03-27 14:14:05,332 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11725211143493652】s -2024-03-27 14:14:05,425 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07071876525878906】s -2024-03-27 14:14:05,425 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07071876525878906】s -2024-03-27 14:14:05,529 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0852499008178711】s -2024-03-27 14:14:05,529 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0852499008178711】s -2024-03-27 14:14:05,626 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07905936241149902】s -2024-03-27 14:14:05,626 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07905936241149902】s -2024-03-27 14:14:05,727 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08432912826538086】s -2024-03-27 14:14:05,727 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08432912826538086】s -2024-03-27 14:14:05,819 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07285594940185547】s -2024-03-27 14:14:05,819 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07285594940185547】s -2024-03-27 14:14:05,916 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07759284973144531】s -2024-03-27 14:14:05,916 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07759284973144531】s -2024-03-27 14:14:06,012 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07890105247497559】s -2024-03-27 14:14:06,012 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07890105247497559】s -2024-03-27 14:14:06,095 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06615090370178223】s -2024-03-27 14:14:06,095 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06615090370178223】s -2024-03-27 14:14:06,194 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08176875114440918】s -2024-03-27 14:14:06,194 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08176875114440918】s -2024-03-27 14:14:06,273 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0603032112121582】s -2024-03-27 14:14:06,273 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0603032112121582】s -2024-03-27 14:14:06,360 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06786799430847168】s -2024-03-27 14:14:06,360 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06786799430847168】s -2024-03-27 14:14:21,380 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10731768608093262】s -2024-03-27 14:14:21,380 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10731768608093262】s -2024-03-27 14:14:21,477 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07420969009399414】s -2024-03-27 14:14:21,477 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07420969009399414】s -2024-03-27 14:14:21,574 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07980537414550781】s -2024-03-27 14:14:21,574 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07980537414550781】s -2024-03-27 14:14:21,654 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06193065643310547】s -2024-03-27 14:14:21,654 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06193065643310547】s -2024-03-27 14:14:21,750 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0795445442199707】s -2024-03-27 14:14:21,750 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0795445442199707】s -2024-03-27 14:14:21,834 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06658554077148438】s -2024-03-27 14:14:21,834 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06658554077148438】s -2024-03-27 14:14:21,929 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07778453826904297】s -2024-03-27 14:14:21,929 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07778453826904297】s -2024-03-27 14:14:22,006 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05918693542480469】s -2024-03-27 14:14:22,006 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05918693542480469】s -2024-03-27 14:14:22,102 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07865786552429199】s -2024-03-27 14:14:22,102 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07865786552429199】s -2024-03-27 14:14:22,190 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07041430473327637】s -2024-03-27 14:14:22,190 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07041430473327637】s -2024-03-27 14:14:22,323 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11721158027648926】s -2024-03-27 14:14:22,323 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11721158027648926】s -2024-03-27 14:14:22,416 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07410883903503418】s -2024-03-27 14:14:22,416 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07410883903503418】s -2024-03-27 14:14:22,516 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07660293579101562】s -2024-03-27 14:14:22,516 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07660293579101562】s -2024-03-27 14:14:26,496 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11292743682861328】s -2024-03-27 14:14:26,496 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11292743682861328】s -2024-03-27 14:14:26,573 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05947279930114746】s -2024-03-27 14:14:26,573 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05947279930114746】s -2024-03-27 14:14:26,669 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07658600807189941】s -2024-03-27 14:14:26,669 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07658600807189941】s -2024-03-27 14:14:26,753 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06722331047058105】s -2024-03-27 14:14:26,753 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06722331047058105】s -2024-03-27 14:14:26,846 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0749204158782959】s -2024-03-27 14:14:26,846 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0749204158782959】s -2024-03-27 14:14:26,933 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06791448593139648】s -2024-03-27 14:14:26,933 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06791448593139648】s -2024-03-27 14:14:27,023 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07126331329345703】s -2024-03-27 14:14:27,023 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07126331329345703】s -2024-03-27 14:14:27,117 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0749061107635498】s -2024-03-27 14:14:27,117 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0749061107635498】s -2024-03-27 14:14:27,191 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05623435974121094】s -2024-03-27 14:14:27,191 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05623435974121094】s -2024-03-27 14:14:27,279 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06994819641113281】s -2024-03-27 14:14:27,279 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06994819641113281】s -2024-03-27 14:14:27,361 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06389856338500977】s -2024-03-27 14:14:27,361 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06389856338500977】s -2024-03-27 14:14:28,419 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10083913803100586】s -2024-03-27 14:14:28,419 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10083913803100586】s -2024-03-27 14:14:28,510 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07288980484008789】s -2024-03-27 14:14:28,510 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07288980484008789】s -2024-03-27 14:14:28,606 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0774831771850586】s -2024-03-27 14:14:28,606 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0774831771850586】s -2024-03-27 14:14:28,690 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06493782997131348】s -2024-03-27 14:14:28,690 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06493782997131348】s -2024-03-27 14:14:28,790 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08233404159545898】s -2024-03-27 14:14:28,790 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08233404159545898】s -2024-03-27 14:14:28,871 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06325149536132812】s -2024-03-27 14:14:28,871 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06325149536132812】s -2024-03-27 14:14:28,961 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07159209251403809】s -2024-03-27 14:14:28,961 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07159209251403809】s -2024-03-27 14:14:29,054 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07437419891357422】s -2024-03-27 14:14:29,054 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07437419891357422】s -2024-03-27 14:14:29,129 decorator.py [line:11] INFO function:【load_image】,runtime:【0.057080745697021484】s -2024-03-27 14:14:29,129 decorator.py [line:11] INFO function:【load_image】,runtime:【0.057080745697021484】s -2024-03-27 14:14:29,217 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07136392593383789】s -2024-03-27 14:14:29,217 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07136392593383789】s -2024-03-27 14:14:29,293 decorator.py [line:11] INFO function:【load_image】,runtime:【0.057555198669433594】s -2024-03-27 14:14:29,293 decorator.py [line:11] INFO function:【load_image】,runtime:【0.057555198669433594】s -2024-03-27 14:14:29,378 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06703376770019531】s -2024-03-27 14:14:29,378 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06703376770019531】s -2024-03-27 14:14:40,905 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11571621894836426】s -2024-03-27 14:14:40,905 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11571621894836426】s -2024-03-27 14:14:41,010 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0827176570892334】s -2024-03-27 14:14:41,010 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0827176570892334】s -2024-03-27 14:14:41,044 decorator.py [line:11] INFO function:【get_result】,runtime:【0.25452423095703125】s -2024-03-27 14:14:41,044 decorator.py [line:11] INFO function:【get_result】,runtime:【0.25452423095703125】s -2024-03-27 14:14:41,116 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07067036628723145】s -2024-03-27 14:14:41,116 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07067036628723145】s -2024-03-27 14:14:41,213 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07850337028503418】s -2024-03-27 14:14:41,213 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07850337028503418】s -2024-03-27 14:14:41,244 decorator.py [line:11] INFO function:【get_result】,runtime:【0.19916868209838867】s -2024-03-27 14:14:41,244 decorator.py [line:11] INFO function:【get_result】,runtime:【0.19916868209838867】s -2024-03-27 14:14:41,304 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0590207576751709】s -2024-03-27 14:14:41,304 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0590207576751709】s -2024-03-27 14:14:41,403 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07943153381347656】s -2024-03-27 14:14:41,403 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07943153381347656】s -2024-03-27 14:14:41,438 decorator.py [line:11] INFO function:【get_result】,runtime:【0.19217133522033691】s -2024-03-27 14:14:41,438 decorator.py [line:11] INFO function:【get_result】,runtime:【0.19217133522033691】s -2024-03-27 14:14:41,507 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06877613067626953】s -2024-03-27 14:14:41,507 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06877613067626953】s -2024-03-27 14:14:41,610 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08210253715515137】s -2024-03-27 14:14:41,610 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08210253715515137】s -2024-03-27 14:14:41,642 decorator.py [line:11] INFO function:【get_result】,runtime:【0.20302748680114746】s -2024-03-27 14:14:41,642 decorator.py [line:11] INFO function:【get_result】,runtime:【0.20302748680114746】s -2024-03-27 14:14:41,715 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07173418998718262】s -2024-03-27 14:14:41,715 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07173418998718262】s -2024-03-27 14:14:41,808 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07458186149597168】s -2024-03-27 14:14:41,808 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07458186149597168】s -2024-03-27 14:14:41,890 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06409287452697754】s -2024-03-27 14:14:41,890 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06409287452697754】s -2024-03-27 14:14:41,973 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06636548042297363】s -2024-03-27 14:14:41,973 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06636548042297363】s -2024-03-27 14:14:42,062 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07068657875061035】s -2024-03-27 14:14:42,062 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07068657875061035】s -2024-03-27 14:14:42,149 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06926965713500977】s -2024-03-27 14:14:42,149 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06926965713500977】s -2024-03-27 14:14:42,232 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0660395622253418】s -2024-03-27 14:14:42,232 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0660395622253418】s -2024-03-27 14:14:42,323 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07256722450256348】s -2024-03-27 14:14:42,323 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07256722450256348】s -2024-03-27 14:14:42,397 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05702400207519531】s -2024-03-27 14:14:42,397 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05702400207519531】s -2024-03-27 14:14:42,485 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06693291664123535】s -2024-03-27 14:14:42,485 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06693291664123535】s -2024-03-27 14:14:42,572 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0691843032836914】s -2024-03-27 14:14:42,572 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0691843032836914】s -2024-03-27 14:14:42,646 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05779695510864258】s -2024-03-27 14:14:42,646 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05779695510864258】s -2024-03-27 14:14:42,736 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0709836483001709】s -2024-03-27 14:14:42,736 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0709836483001709】s -2024-03-27 14:14:42,826 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07241034507751465】s -2024-03-27 14:14:42,826 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07241034507751465】s -2024-03-27 14:14:42,908 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06538867950439453】s -2024-03-27 14:14:42,908 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06538867950439453】s -2024-03-27 14:14:42,984 decorator.py [line:11] INFO function:【get_result】,runtime:【1.3399734497070312】s -2024-03-27 14:14:42,984 decorator.py [line:11] INFO function:【get_result】,runtime:【1.3399734497070312】s -2024-03-27 14:14:43,041 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0576634407043457】s -2024-03-27 14:14:43,041 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0576634407043457】s -2024-03-27 14:14:43,130 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07071876525878906】s -2024-03-27 14:14:43,130 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07071876525878906】s -2024-03-27 14:14:43,167 decorator.py [line:11] INFO function:【get_result】,runtime:【0.18287253379821777】s -2024-03-27 14:14:43,167 decorator.py [line:11] INFO function:【get_result】,runtime:【0.18287253379821777】s -2024-03-27 14:14:43,168 api_outfit_matcher.py [line:43] INFO run time is : 2.3777401447296143 -2024-03-27 14:14:43,168 api_outfit_matcher.py [line:43] INFO run time is : 2.3777401447296143 -2024-03-27 14:14:46,705 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10887026786804199】s -2024-03-27 14:14:46,705 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10887026786804199】s -2024-03-27 14:14:46,805 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08235359191894531】s -2024-03-27 14:14:46,805 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08235359191894531】s -2024-03-27 14:14:46,907 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08365893363952637】s -2024-03-27 14:14:46,907 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08365893363952637】s -2024-03-27 14:14:46,983 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05913829803466797】s -2024-03-27 14:14:46,983 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05913829803466797】s -2024-03-27 14:14:47,091 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09004020690917969】s -2024-03-27 14:14:47,091 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09004020690917969】s -2024-03-27 14:14:47,176 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06689047813415527】s -2024-03-27 14:14:47,176 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06689047813415527】s -2024-03-27 14:14:47,274 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0794064998626709】s -2024-03-27 14:14:47,274 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0794064998626709】s -2024-03-27 14:14:47,368 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07596850395202637】s -2024-03-27 14:14:47,368 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07596850395202637】s -2024-03-27 14:14:47,469 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08249664306640625】s -2024-03-27 14:14:47,469 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08249664306640625】s -2024-03-27 14:14:47,554 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06575179100036621】s -2024-03-27 14:14:47,554 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06575179100036621】s -2024-03-27 14:14:47,597 decorator.py [line:11] INFO function:【get_result】,runtime:【1.0012257099151611】s -2024-03-27 14:14:47,597 decorator.py [line:11] INFO function:【get_result】,runtime:【1.0012257099151611】s -2024-03-27 14:14:47,598 api_outfit_matcher.py [line:43] INFO run time is : 1.0032567977905273 -2024-03-27 14:14:47,598 api_outfit_matcher.py [line:43] INFO run time is : 1.0032567977905273 -2024-03-27 14:14:50,183 decorator.py [line:11] INFO function:【load_image】,runtime:【0.1313343048095703】s -2024-03-27 14:14:50,183 decorator.py [line:11] INFO function:【load_image】,runtime:【0.1313343048095703】s -2024-03-27 14:14:50,272 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06959009170532227】s -2024-03-27 14:14:50,272 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06959009170532227】s -2024-03-27 14:14:50,373 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08186006546020508】s -2024-03-27 14:14:50,373 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08186006546020508】s -2024-03-27 14:14:50,460 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06712198257446289】s -2024-03-27 14:14:50,460 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06712198257446289】s -2024-03-27 14:14:50,556 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07895445823669434】s -2024-03-27 14:14:50,556 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07895445823669434】s -2024-03-27 14:14:50,640 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06591057777404785】s -2024-03-27 14:14:50,640 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06591057777404785】s -2024-03-27 14:14:50,732 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07393789291381836】s -2024-03-27 14:14:50,732 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07393789291381836】s -2024-03-27 14:14:50,831 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08100056648254395】s -2024-03-27 14:14:50,831 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08100056648254395】s -2024-03-27 14:14:50,917 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06758689880371094】s -2024-03-27 14:14:50,917 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06758689880371094】s -2024-03-27 14:14:51,013 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07765388488769531】s -2024-03-27 14:14:51,013 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07765388488769531】s -2024-03-27 14:14:51,102 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07015538215637207】s -2024-03-27 14:14:51,102 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07015538215637207】s -2024-03-27 14:16:43,899 decorator.py [line:11] INFO function:【load_image】,runtime:【0.13039946556091309】s -2024-03-27 14:16:43,899 decorator.py [line:11] INFO function:【load_image】,runtime:【0.13039946556091309】s -2024-03-27 14:16:44,062 decorator.py [line:11] INFO function:【load_image】,runtime:【0.13941526412963867】s -2024-03-27 14:16:44,062 decorator.py [line:11] INFO function:【load_image】,runtime:【0.13941526412963867】s -2024-03-27 14:16:44,232 decorator.py [line:11] INFO function:【load_image】,runtime:【0.15298748016357422】s -2024-03-27 14:16:44,232 decorator.py [line:11] INFO function:【load_image】,runtime:【0.15298748016357422】s -2024-03-27 14:16:44,392 decorator.py [line:11] INFO function:【load_image】,runtime:【0.14305353164672852】s -2024-03-27 14:16:44,392 decorator.py [line:11] INFO function:【load_image】,runtime:【0.14305353164672852】s -2024-03-27 14:16:44,576 decorator.py [line:11] INFO function:【load_image】,runtime:【0.16811156272888184】s -2024-03-27 14:16:44,576 decorator.py [line:11] INFO function:【load_image】,runtime:【0.16811156272888184】s -2024-03-27 14:16:44,744 decorator.py [line:11] INFO function:【load_image】,runtime:【0.15052032470703125】s -2024-03-27 14:16:44,744 decorator.py [line:11] INFO function:【load_image】,runtime:【0.15052032470703125】s -2024-03-27 14:16:44,882 decorator.py [line:11] INFO function:【load_image】,runtime:【0.1208045482635498】s -2024-03-27 14:16:44,882 decorator.py [line:11] INFO function:【load_image】,runtime:【0.1208045482635498】s -2024-03-27 14:16:44,958 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05800986289978027】s -2024-03-27 14:16:44,958 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05800986289978027】s -2024-03-27 14:16:45,067 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09082460403442383】s -2024-03-27 14:16:45,067 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09082460403442383】s -2024-03-27 14:16:45,141 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05906391143798828】s -2024-03-27 14:16:45,141 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05906391143798828】s -2024-03-27 14:16:45,237 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07822608947753906】s -2024-03-27 14:16:45,237 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07822608947753906】s -2024-03-27 14:18:54,726 decorator.py [line:11] INFO function:【load_image】,runtime:【300.05387806892395】s -2024-03-27 14:18:54,726 decorator.py [line:11] INFO function:【load_image】,runtime:【300.05387806892395】s -2024-03-27 14:19:16,846 decorator.py [line:11] INFO function:【load_image】,runtime:【300.04746174812317】s -2024-03-27 14:19:16,846 decorator.py [line:11] INFO function:【load_image】,runtime:【300.04746174812317】s -2024-03-27 14:19:30,319 decorator.py [line:11] INFO function:【load_image】,runtime:【300.03394055366516】s -2024-03-27 14:19:30,319 decorator.py [line:11] INFO function:【load_image】,runtime:【300.03394055366516】s -2024-03-27 14:20:02,512 decorator.py [line:11] INFO function:【load_image】,runtime:【0.14667463302612305】s -2024-03-27 14:20:02,512 decorator.py [line:11] INFO function:【load_image】,runtime:【0.14667463302612305】s -2024-03-27 14:20:02,607 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07747149467468262】s -2024-03-27 14:20:02,607 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07747149467468262】s -2024-03-27 14:20:02,717 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09011220932006836】s -2024-03-27 14:20:02,717 decorator.py [line:11] INFO function:【load_image】,runtime:【0.09011220932006836】s -2024-03-27 14:20:02,805 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06991457939147949】s -2024-03-27 14:20:02,805 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06991457939147949】s -2024-03-27 14:20:02,910 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08726048469543457】s -2024-03-27 14:20:02,910 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08726048469543457】s -2024-03-27 14:20:02,991 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06430816650390625】s -2024-03-27 14:20:02,991 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06430816650390625】s -2024-03-27 14:20:03,087 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07968354225158691】s -2024-03-27 14:20:03,087 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07968354225158691】s -2024-03-27 14:20:03,189 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08442282676696777】s -2024-03-27 14:20:03,189 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08442282676696777】s -2024-03-27 14:20:03,278 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07222533226013184】s -2024-03-27 14:20:03,278 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07222533226013184】s -2024-03-27 14:20:03,379 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08110642433166504】s -2024-03-27 14:20:03,379 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08110642433166504】s -2024-03-27 14:20:03,469 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07362747192382812】s -2024-03-27 14:20:03,469 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07362747192382812】s -2024-03-27 14:20:38,969 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11296820640563965】s -2024-03-27 14:20:38,969 decorator.py [line:11] INFO function:【load_image】,runtime:【0.11296820640563965】s -2024-03-27 14:20:39,056 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06966471672058105】s -2024-03-27 14:20:39,056 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06966471672058105】s -2024-03-27 14:20:39,158 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08404111862182617】s -2024-03-27 14:20:39,158 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08404111862182617】s -2024-03-27 14:20:39,250 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07638955116271973】s -2024-03-27 14:20:39,250 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07638955116271973】s -2024-03-27 14:20:39,352 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08615422248840332】s -2024-03-27 14:20:39,352 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08615422248840332】s -2024-03-27 14:20:39,433 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0630955696105957】s -2024-03-27 14:20:39,433 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0630955696105957】s -2024-03-27 14:20:39,537 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0868382453918457】s -2024-03-27 14:20:39,537 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0868382453918457】s -2024-03-27 14:20:39,630 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07893753051757812】s -2024-03-27 14:20:39,630 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07893753051757812】s -2024-03-27 14:20:39,728 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07926106452941895】s -2024-03-27 14:20:39,728 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07926106452941895】s -2024-03-27 14:20:39,805 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0608980655670166】s -2024-03-27 14:20:39,805 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0608980655670166】s -2024-03-27 14:21:14,308 decorator.py [line:11] INFO function:【get_result】,runtime:【35.45225286483765】s -2024-03-27 14:21:14,308 decorator.py [line:11] INFO function:【get_result】,runtime:【35.45225286483765】s -2024-03-27 14:21:14,309 api_outfit_matcher.py [line:43] INFO run time is : 46.602468490600586 -2024-03-27 14:21:14,309 api_outfit_matcher.py [line:43] INFO run time is : 46.602468490600586 -2024-03-27 14:21:32,320 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10713672637939453】s -2024-03-27 14:21:32,320 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10713672637939453】s -2024-03-27 14:21:32,400 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06152820587158203】s -2024-03-27 14:21:32,400 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06152820587158203】s -2024-03-27 14:21:32,490 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07219386100769043】s -2024-03-27 14:21:32,490 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07219386100769043】s -2024-03-27 14:21:32,571 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06483602523803711】s -2024-03-27 14:21:32,571 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06483602523803711】s -2024-03-27 14:21:32,661 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07199335098266602】s -2024-03-27 14:21:32,661 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07199335098266602】s -2024-03-27 14:21:32,756 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0789797306060791】s -2024-03-27 14:21:32,756 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0789797306060791】s -2024-03-27 14:21:32,855 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07486796379089355】s -2024-03-27 14:21:32,855 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07486796379089355】s -2024-03-27 14:21:32,947 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07346510887145996】s -2024-03-27 14:21:32,947 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07346510887145996】s -2024-03-27 14:21:33,029 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06652092933654785】s -2024-03-27 14:21:33,029 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06652092933654785】s -2024-03-27 14:21:33,115 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06980299949645996】s -2024-03-27 14:21:33,115 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06980299949645996】s -2024-03-27 14:21:33,189 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05495500564575195】s -2024-03-27 14:21:33,189 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05495500564575195】s -2024-03-27 14:21:47,627 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10357475280761719】s -2024-03-27 14:21:47,627 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10357475280761719】s -2024-03-27 14:21:47,707 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06177830696105957】s -2024-03-27 14:21:47,707 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06177830696105957】s -2024-03-27 14:21:47,802 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07734298706054688】s -2024-03-27 14:21:47,802 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07734298706054688】s -2024-03-27 14:21:47,892 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07427024841308594】s -2024-03-27 14:21:47,892 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07427024841308594】s -2024-03-27 14:21:47,980 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07008957862854004】s -2024-03-27 14:21:47,980 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07008957862854004】s -2024-03-27 14:21:48,066 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06926536560058594】s -2024-03-27 14:21:48,066 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06926536560058594】s -2024-03-27 14:21:48,159 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07513070106506348】s -2024-03-27 14:21:48,159 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07513070106506348】s -2024-03-27 14:21:48,240 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06406807899475098】s -2024-03-27 14:21:48,240 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06406807899475098】s -2024-03-27 14:21:48,328 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0713653564453125】s -2024-03-27 14:21:48,328 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0713653564453125】s -2024-03-27 14:21:48,413 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0676414966583252】s -2024-03-27 14:21:48,413 decorator.py [line:11] INFO function:【load_image】,runtime:【0.0676414966583252】s -2024-03-27 14:22:04,655 decorator.py [line:11] INFO function:【get_result】,runtime:【17.13152003288269】s -2024-03-27 14:22:04,655 decorator.py [line:11] INFO function:【get_result】,runtime:【17.13152003288269】s -2024-03-27 14:22:04,656 api_outfit_matcher.py [line:43] INFO run time is : 18.978604078292847 -2024-03-27 14:22:04,656 api_outfit_matcher.py [line:43] INFO run time is : 18.978604078292847 -2024-03-27 14:22:08,333 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10210704803466797】s -2024-03-27 14:22:08,333 decorator.py [line:11] INFO function:【load_image】,runtime:【0.10210704803466797】s -2024-03-27 14:22:08,422 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07208585739135742】s -2024-03-27 14:22:08,422 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07208585739135742】s -2024-03-27 14:22:08,525 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08597993850708008】s -2024-03-27 14:22:08,525 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08597993850708008】s -2024-03-27 14:22:08,625 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08390545845031738】s -2024-03-27 14:22:08,625 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08390545845031738】s -2024-03-27 14:22:08,727 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08538031578063965】s -2024-03-27 14:22:08,727 decorator.py [line:11] INFO function:【load_image】,runtime:【0.08538031578063965】s -2024-03-27 14:22:08,805 decorator.py [line:11] INFO function:【load_image】,runtime:【0.059221506118774414】s -2024-03-27 14:22:08,805 decorator.py [line:11] INFO function:【load_image】,runtime:【0.059221506118774414】s -2024-03-27 14:22:08,892 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06974506378173828】s -2024-03-27 14:22:08,892 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06974506378173828】s -2024-03-27 14:22:08,982 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07265496253967285】s -2024-03-27 14:22:08,982 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07265496253967285】s -2024-03-27 14:22:09,056 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05707836151123047】s -2024-03-27 14:22:09,056 decorator.py [line:11] INFO function:【load_image】,runtime:【0.05707836151123047】s -2024-03-27 14:22:09,146 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07120347023010254】s -2024-03-27 14:22:09,146 decorator.py [line:11] INFO function:【load_image】,runtime:【0.07120347023010254】s -2024-03-27 14:22:09,230 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06669831275939941】s -2024-03-27 14:22:09,230 decorator.py [line:11] INFO function:【load_image】,runtime:【0.06669831275939941】s -2024-03-27 14:26:41,041 decorator.py [line:11] INFO function:【load_image】,runtime:【300.03149700164795】s -2024-03-27 14:26:41,041 decorator.py [line:11] INFO function:【load_image】,runtime:【300.03149700164795】s -2024-03-27 15:10:21,691 api_attribute.py [line:17] INFO test -2024-03-27 15:10:21,691 api_attribute.py [line:17] INFO test -2024-03-27 15:19:50,431 api_attribute.py [line:17] INFO test -2024-03-27 15:19:50,431 api_attribute.py [line:17] INFO test -2024-03-27 15:20:48,998 api_attribute.py [line:18] INFO test -2024-03-27 15:20:48,998 api_attribute.py [line:18] INFO test -2024-03-27 15:24:37,184 api_attribute.py [line:18] INFO test -2024-03-27 15:24:37,184 api_attribute.py [line:18] INFO test -2024-03-27 15:50:48,918 api_attribute.py [line:18] INFO test -2024-03-27 15:50:48,918 api_attribute.py [line:18] INFO test -2024-03-27 15:53:25,057 api_attribute.py [line:18] INFO test -2024-03-27 15:53:25,057 api_attribute.py [line:18] INFO test -2024-03-27 16:01:53,943 api_attribute.py [line:18] INFO test -2024-03-27 16:01:53,943 api_attribute.py [line:18] INFO test -2024-03-27 16:23:31,085 api_attribute.py [line:18] INFO test -2024-03-27 16:23:31,085 api_attribute.py [line:18] INFO test -2024-03-27 16:59:17,028 decorator.py [line:11] INFO function:【load_image】,runtime:【372.1579358577728】s -2024-03-27 16:59:17,028 decorator.py [line:11] INFO function:【load_image】,runtime:【372.1579358577728】s -2024-03-27 16:59:28,246 decorator.py [line:11] INFO function:【load_image】,runtime:【4.365650177001953】s -2024-03-27 16:59:28,246 decorator.py [line:11] INFO function:【load_image】,runtime:【4.365650177001953】s -2024-03-27 16:59:35,344 decorator.py [line:11] INFO function:【load_image】,runtime:【1.5201640129089355】s -2024-03-27 16:59:35,344 decorator.py [line:11] INFO function:【load_image】,runtime:【1.5201640129089355】s -2024-03-27 16:59:36,538 decorator.py [line:11] INFO function:【load_image】,runtime:【1.1855032444000244】s -2024-03-27 16:59:36,538 decorator.py [line:11] INFO function:【load_image】,runtime:【1.1855032444000244】s -2024-03-27 16:59:38,242 decorator.py [line:11] INFO function:【get_result】,runtime:【4.41891622543335】s -2024-03-27 16:59:38,242 decorator.py [line:11] INFO function:【get_result】,runtime:【4.41891622543335】s -2024-03-27 16:59:38,244 api_outfit_matcher.py [line:43] INFO run time is : 4.420928478240967 -2024-03-27 16:59:38,244 api_outfit_matcher.py [line:43] INFO run time is : 4.420928478240967 -2024-03-27 17:05:01,804 decorator.py [line:11] INFO function:【load_image】,runtime:【251.81508135795593】s -2024-03-27 17:05:01,804 decorator.py [line:11] INFO function:【load_image】,runtime:【251.81508135795593】s -2024-03-27 17:05:02,568 decorator.py [line:11] INFO function:【load_image】,runtime:【0.7592649459838867】s -2024-03-27 17:05:02,568 decorator.py [line:11] INFO function:【load_image】,runtime:【0.7592649459838867】s -2024-03-27 17:05:02,615 decorator.py [line:11] INFO function:【get_result】,runtime:【252.62576150894165】s -2024-03-27 17:05:02,615 decorator.py [line:11] INFO function:【get_result】,runtime:【252.62576150894165】s -2024-03-27 17:05:02,616 api_outfit_matcher.py [line:43] INFO run time is : 252.62676739692688 -2024-03-27 17:05:02,616 api_outfit_matcher.py [line:43] INFO run time is : 252.62676739692688 -2024-03-27 18:01:01,985 milvus_client.py [line:641] DEBUG Created new connection using: 704a3f1ccb564a0ea5281250a8583db5 -2024-03-27 18:01:01,985 decorators.py [line:146] ERROR RPC error: [search], , -2024-03-27 18:01:01,985 decorators.py [line:146] ERROR RPC error: [search], , -2024-03-27 18:01:01,985 decorators.py [line:146] ERROR RPC error: [search], , -2024-03-27 18:01:01,987 milvus_client.py [line:318] ERROR Failed to search collection: mixi_outfit -2024-03-27 18:01:01,987 milvus_client.py [line:318] ERROR Failed to search collection: mixi_outfit -2024-03-27 18:01:01,987 milvus_client.py [line:318] ERROR Failed to search collection: mixi_outfit -2024-03-27 18:01:08,508 milvus_client.py [line:641] DEBUG Created new connection using: ca5adf3ff3e34da0ae3f93c1669501ba -2024-03-27 18:01:08,708 decorator.py [line:11] INFO function:【match_features】,runtime:【0.21055293083190918】s -2024-03-27 18:01:08,708 decorator.py [line:11] INFO function:【match_features】,runtime:【0.21055293083190918】s -2024-03-27 18:03:26,541 milvus_client.py [line:641] DEBUG Created new connection using: 624da64059d34937a6ee6bc1ada3cc2d -2024-03-27 18:03:26,747 decorator.py [line:11] INFO function:【match_features】,runtime:【0.22229576110839844】s -2024-03-27 18:03:26,747 decorator.py [line:11] INFO function:【match_features】,runtime:【0.22229576110839844】s -2024-03-27 18:08:31,893 api_similar_match.py [line:24] WARNING "result number can't be less than 0" -2024-03-27 18:08:31,893 api_similar_match.py [line:24] WARNING "result number can't be less than 0" diff --git a/app/main.py b/app/main.py deleted file mode 100644 index d20a72f..0000000 --- a/app/main.py +++ /dev/null @@ -1,39 +0,0 @@ -import uvicorn -from fastapi import FastAPI - -import logging.config - -from app.api.api_route import router -from app.core.config import settings - -from logging_env import LOGGER_CONFIG_DICT - -logging.config.dictConfig(LOGGER_CONFIG_DICT) - -from starlette.middleware.cors import CORSMiddleware - - -def get_application() -> FastAPI: - application = FastAPI( - title=settings.PROJECT_NAME, docs_url="/docs", redoc_url='/re-docs', - openapi_url=f"{settings.API_PREFIX}/openapi.json", - description=''' - Base frame with FastAPI - - out_matcher_hon API - - ''' - ) - application.add_middleware( - CORSMiddleware, - allow_origins=[str(origin) for origin in settings.BACKEND_CORS_ORIGINS], - allow_credentials=True, - allow_methods=["*"], - allow_headers=["*"], - ) - application.include_router(router=router, prefix=settings.API_PREFIX) - return application - - -app = get_application() -if __name__ == '__main__': - uvicorn.run(app, host="0.0.0.0", port=8000) diff --git a/app/schemas/attribute.py b/app/schemas/attribute.py deleted file mode 100644 index bc9af8e..0000000 --- a/app/schemas/attribute.py +++ /dev/null @@ -1,6 +0,0 @@ -from pydantic import BaseModel - - -class AttributeModel(BaseModel): - upload_img_path: list - upload_img_id: list diff --git a/app/schemas/outfit_matcher.py b/app/schemas/outfit_matcher.py deleted file mode 100644 index ae265b6..0000000 --- a/app/schemas/outfit_matcher.py +++ /dev/null @@ -1,15 +0,0 @@ -from pydantic import BaseModel - - -class OMDataItem(BaseModel): - item_name: str - semantic_category: str - image_path: str - - -class OutfitMatcher(BaseModel): - topk: int - max_outfits: int - is_best: bool - query: list[OMDataItem] - database: list[OMDataItem] diff --git a/app/schemas/similar_match.py b/app/schemas/similar_match.py deleted file mode 100644 index e5fb063..0000000 --- a/app/schemas/similar_match.py +++ /dev/null @@ -1,6 +0,0 @@ -from pydantic import BaseModel - - -class SimilarMatchMItem(BaseModel): - image_path: str - result_number: int diff --git a/app/service/attribute_recognition/__init__.py b/app/service/attribute_recognition/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/app/service/attribute_recognition/const.py b/app/service/attribute_recognition/const.py deleted file mode 100644 index dc17294..0000000 --- a/app/service/attribute_recognition/const.py +++ /dev/null @@ -1,139 +0,0 @@ -import torch - -device = torch.device('cuda') -top_discription_list = ['app/service/attribute_recognition/discriptor/top/1_top_length.csv', - 'app/service/attribute_recognition/discriptor/top/2_top_type.csv', - 'app/service/attribute_recognition/discriptor/top/3_top_Sleeve_length.csv', - 'app/service/attribute_recognition/discriptor/top/4_top_Sleeve_shape.csv', - 'app/service/attribute_recognition/discriptor/top/5_top_Sleeve_shoulder.csv', - 'app/service/attribute_recognition/discriptor/top/6_top_Neckline.csv', - 'app/service/attribute_recognition/discriptor/top/7_outer_Print.csv', - 'app/service/attribute_recognition/discriptor/top/8_outer_Material.csv', - # 'app/service/attribute_recognition/discriptor/top/9_top_Material.csv', - 'app/service/attribute_recognition/discriptor/top/9_top_Softness.csv', - 'app/service/attribute_recognition/discriptor/top/10_top_Design.csv', - 'app/service/attribute_recognition/discriptor/top/11_top_OPType.csv', - 'app/service/attribute_recognition/discriptor/top/12_top_Silhouette.csv', - 'app/service/attribute_recognition/discriptor/top/7_top_Collar.csv'] - -top_model_list = ['top_length', - 'top_type', - 'top_Sleeve_length', - 'top_Sleeve_shape', - 'top_Sleeve_shoulder', - 'top_Neckline', - 'top_print', - 'top_material', - 'top_Softness', - 'top_Design', - 'top_optype', - 'top_Silhouette', - 'top_Collar' - ] - -bottom_discription_list = [ - 'app/service/attribute_recognition/discriptor/bottom/2_bottom_subtype.csv', - # 'app/service/attribute_recognition/discriptor/bottom/3_bottom_structure.csv', - 'app/service/attribute_recognition/discriptor/bottom/3_bottom_length.csv', - 'app/service/attribute_recognition/discriptor/bottom/7_outer_Print.csv', - 'app/service/attribute_recognition/discriptor/bottom/8_outer_Material.csv', - 'app/service/attribute_recognition/discriptor/bottom/5_bottom_Softness.csv', - 'app/service/attribute_recognition/discriptor/bottom/8_bottom_Silhouette.csv', - 'app/service/attribute_recognition/discriptor/bottom/7_bottom_OPType.csv', - 'app/service/attribute_recognition/discriptor/bottom/6_bottom_Design.csv'] - -bottom_model_list = [ - 'bottom_sub-Type', - 'bottom_length', - 'bottom_print', - 'bottom_material', - 'bottom_Softness_B', - 'bottom_Silhouette_B', - 'bottom_OPType_B', - 'bottom_design'] - -outwear_discription_list = ['app/service/attribute_recognition/discriptor/outwear/1_outer_length.csv', - # 'app/service/attribute_recognition/discriptor/outwear/2_outer_type.csv', - 'app/service/attribute_recognition/discriptor/outwear/3_outer_sleeve_length.csv', - 'app/service/attribute_recognition/discriptor/outwear/4_outer_sleeve_shape.csv', - 'app/service/attribute_recognition/discriptor/outwear/5_outer_sleeve_shoulder.csv', - 'app/service/attribute_recognition/discriptor/outwear/6_outer_Collar.csv', - 'app/service/attribute_recognition/discriptor/outwear/7_outer_Print.csv', - 'app/service/attribute_recognition/discriptor/outwear/8_outer_Material.csv', - 'app/service/attribute_recognition/discriptor/outwear/9_outer_Softness.csv', - 'app/service/attribute_recognition/discriptor/outwear/10_outer_Design.csv', - # 'app/service/attribute_recognition/discriptor/outwear/11_outer_opening.csv', - 'app/service/attribute_recognition/discriptor/outwear/12_outer_OPType.csv', - 'app/service/attribute_recognition/discriptor/outwear/13_outer_Silhouette.csv', ] - -outwear_model_list = ['outwear_outer_length', - # 'outwear_2_outer_type', - 'outwear_outer_sleeve_length', - 'outwear_outer_sleeve_shape', - 'outwear_outer_sleeve_shoulder', - 'outwear_outer_collar', - 'outwear_print', - 'outwear_material', - 'outwear_outer_softness', - 'outwear_outer_design', - # 'outwear_11_outer_opening', - 'outwear_outer_optype', - 'outwear_outer_silhouette'] - -jumpsuit_discription_list = ['app/service/attribute_recognition/discriptor/jumpsuit/1_jumsuit_length.csv', - 'app/service/attribute_recognition/discriptor/jumpsuit/2_jumpsuit_Sleeve_length.csv', - 'app/service/attribute_recognition/discriptor/jumpsuit/3_jumpsuit_Sleeve_shape.csv', - 'app/service/attribute_recognition/discriptor/jumpsuit/4_jumpsuit_Sleeve_shoulder.csv', - 'app/service/attribute_recognition/discriptor/jumpsuit/5_jumpsuit_Neckline.csv', - 'app/service/attribute_recognition/discriptor/jumpsuit/6_jumpsuit_Collar.csv', - 'app/service/attribute_recognition/discriptor/jumpsuit/7_jumpsuit_Print.csv', - 'app/service/attribute_recognition/discriptor/jumpsuit/8_jumpsuit_Material.csv', - 'app/service/attribute_recognition/discriptor/jumpsuit/9_jumpsuit_Softness.csv', - 'app/service/attribute_recognition/discriptor/jumpsuit/10_jumsuit_design.csv', - 'app/service/attribute_recognition/discriptor/jumpsuit/11_jumpsuit_OPType.csv', - 'app/service/attribute_recognition/discriptor/jumpsuit/12_jumpsuit_subtype.csv'] - -jumpsuit_model_list = ['jumpsuit_length', - 'jumpsuit_sleeve_length', - 'jumpsuit_sleeve_shape', - 'jumpsuit_sleeve_shoulder', - 'jumpsuit_neckline', - 'jumpsuit_collar', - 'jumpsuit_print', - 'jumpsuit_material', - 'jumpsuit_softness', - 'jumpsuit_design', - 'jumpsuit_optype', - 'jumpsuit_subtype'] - -dress_discription_list = ['app/service/attribute_recognition/discriptor/dress/1_dress_length.csv', - 'app/service/attribute_recognition/discriptor/dress/3_top_Sleeve_length.csv', - 'app/service/attribute_recognition/discriptor/dress/4_top_Sleeve_shape.csv', - 'app/service/attribute_recognition/discriptor/dress/5_top_Sleeve_shoulder.csv', - 'app/service/attribute_recognition/discriptor/dress/ori5_dress_Neckline.csv', - 'app/service/attribute_recognition/discriptor/dress/7_outer_Print.csv', - 'app/service/attribute_recognition/discriptor/dress/7_top_Collar.csv', - 'app/service/attribute_recognition/discriptor/dress/8_outer_Material.csv', - 'app/service/attribute_recognition/discriptor/dress/9_dress_Design.csv', - 'app/service/attribute_recognition/discriptor/dress/9_top_Softness.csv', - 'app/service/attribute_recognition/discriptor/dress/11_dress_Silhouette.csv', - # 'app/service/attribute_recognition/discriptor/dress/11_top_OPType.csv', - 'app/service/attribute_recognition/discriptor/dress/12_dress_type.csv'] - -dress_model_list = ['dress_length', - 'dress_sleeve_length', - 'dress_sleeve_shape', - 'dress_sleeve_shoulder', - 'dress_neckline', - 'dress_print', - 'dress_collar', - 'dress_material', - 'dress_design', - 'dress_softness', - 'dress_silohouette12', - # 'dress_' - 'dress_type' - ] - -category_discription = 'app/service/attribute_recognition/discriptor/category/category_dis.csv' -category_model = 'category' diff --git a/app/service/attribute_recognition/const_debug.py b/app/service/attribute_recognition/const_debug.py deleted file mode 100644 index 3b20939..0000000 --- a/app/service/attribute_recognition/const_debug.py +++ /dev/null @@ -1,139 +0,0 @@ -import torch - -device = torch.device('cuda') -top_discription_list = [r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\1_top_length.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\2_top_type.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\3_top_Sleeve_length.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\4_top_Sleeve_shape.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\5_top_Sleeve_shoulder.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\6_top_Neckline.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\7_outer_Print.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\8_outer_Material.csv', - # r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\9_top_Material.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\9_top_Softness.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\10_top_Design.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\11_top_OPType.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\12_top_Silhouette.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\7_top_Collar.csv'] - -top_model_list = ['top_length', - 'top_type', - 'top_Sleeve_length', - 'top_Sleeve_shape', - 'top_Sleeve_shoulder', - 'top_Neckline', - 'top_print', - 'top_material', - 'top_Softness', - 'top_Design', - 'top_optype', - 'top_Silhouette', - 'top_Collar' - ] - -bottom_discription_list = [ - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\bottom\2_bottom_subtype.csv', - # r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\bottom\3_bottom_structure.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\bottom\3_bottom_length.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\bottom\7_outer_Print.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\bottom\8_outer_Material.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\bottom\5_bottom_Softness.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\bottom\8_bottom_Silhouette.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\bottom\7_bottom_OPType.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\bottom\6_bottom_Design.csv'] - -bottom_model_list = [ - 'bottom_sub-Type', - 'bottom_length', - 'bottom_print', - 'bottom_material', - 'bottom_Softness_B', - 'bottom_Silhouette_B', - 'bottom_OPType_B', - 'bottom_design'] - -outwear_discription_list = [r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\1_outer_length.csv', - # r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\2_outer_type.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\3_outer_sleeve_length.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\4_outer_sleeve_shape.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\5_outer_sleeve_shoulder.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\6_outer_Collar.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\7_outer_Print.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\8_outer_Material.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\9_outer_Softness.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\10_outer_Design.csv', - # r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\11_outer_opening.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\12_outer_OPType.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\13_outer_Silhouette.csv', ] - -outwear_model_list = ['outwear_outer_length', - # 'outwear_2_outer_type', - 'outwear_outer_sleeve_length', - 'outwear_outer_sleeve_shape', - 'outwear_outer_sleeve_shoulder', - 'outwear_outer_collar', - 'outwear_print', - 'outwear_material', - 'outwear_outer_softness', - 'outwear_outer_design', - # 'outwear_11_outer_opening', - 'outwear_outer_optype', - 'outwear_outer_silhouette'] - -jumpsuit_discription_list = [r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\1_jumsuit_length.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\2_jumpsuit_Sleeve_length.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\3_jumpsuit_Sleeve_shape.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\4_jumpsuit_Sleeve_shoulder.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\5_jumpsuit_Neckline.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\6_jumpsuit_Collar.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\7_jumpsuit_Print.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\8_jumpsuit_Material.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\9_jumpsuit_Softness.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\10_jumsuit_design.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\11_jumpsuit_OPType.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\12_jumpsuit_subtype.csv'] - -jumpsuit_model_list = ['jumpsuit_length', - 'jumpsuit_sleeve_length', - 'jumpsuit_sleeve_shape', - 'jumpsuit_sleeve_shoulder', - 'jumpsuit_neckline', - 'jumpsuit_collar', - 'jumpsuit_print', - 'jumpsuit_material', - 'jumpsuit_softness', - 'jumpsuit_design', - 'jumpsuit_optype', - 'jumpsuit_subtype'] - -dress_discription_list = [r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\1_dress_length.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\3_top_Sleeve_length.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\4_top_Sleeve_shape.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\5_top_Sleeve_shoulder.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\ori5_dress_Neckline.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\7_outer_Print.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\7_top_Collar.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\8_outer_Material.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\9_dress_Design.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\9_top_Softness.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\11_dress_Silhouette.csv', - # r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\11_top_OPType.csv', - r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\12_dress_type.csv'] - -dress_model_list = ['dress_length', - 'dress_sleeve_length', - 'dress_sleeve_shape', - 'dress_sleeve_shoulder', - 'dress_neckline', - 'dress_print', - 'dress_collar', - 'dress_material', - 'dress_design', - 'dress_softness', - 'dress_silohouette12', - # 'dress_' - 'dress_type' - ] - -category_discription = r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\category\category_dis.csv' -category_model = 'category' diff --git a/app/service/attribute_recognition/discriptor/bottom/2_bottom_subtype.csv b/app/service/attribute_recognition/discriptor/bottom/2_bottom_subtype.csv deleted file mode 100644 index 7cb9fb2..0000000 --- a/app/service/attribute_recognition/discriptor/bottom/2_bottom_subtype.csv +++ /dev/null @@ -1,21 +0,0 @@ -labelName,join_attr,taskName,taskId -A Line Skirt,bottom_Sub-Type_1,Sub_Type,2 -Bodycon Skirt,bottom_Sub-Type_2,Sub_Type,2 -Boot-Cut,bottom_Sub-Type_3,Sub_Type,2 -Bubble skirt,bottom_Sub-Type_4,Sub_Type,2 -Cargo Pants,bottom_Sub-Type_5,Sub_Type,2 -Culottes,bottom_Sub-Type_6,Sub_Type,2 -Handkerchief Skirt,bottom_Sub-Type_7,Sub_Type,2 -Jeans,bottom_Sub-Type_8,Sub_Type,2 -Joggers,bottom_Sub-Type_9,Sub_Type,2 -Leather pants,bottom_Sub-Type_10,Sub_Type,2 -Leggings,bottom_Sub-Type_11,Sub_Type,2 -Mermaid,bottom_Sub-Type_12,Sub_Type,2 -Pattened pants,bottom_Sub-Type_13,Sub_Type,2 -Peg leg Pants-Cigarette Pants,bottom_Sub-Type_14,Sub_Type,2 -Pencil Skirt,bottom_Sub-Type_15,Sub_Type,2 -Pleated Skirt,bottom_Sub-Type_16,Sub_Type,2 -Shorts,bottom_Sub-Type_17,Sub_Type,2 -Skater Skirt,bottom_Sub-Type_18,Sub_Type,2 -Suit Trousers,bottom_Sub-Type_19,Sub_Type,2 -Tier Skirt,bottom_Sub-Type_20,Sub_Type,2 diff --git a/app/service/attribute_recognition/discriptor/bottom/3_bottom_length.csv b/app/service/attribute_recognition/discriptor/bottom/3_bottom_length.csv deleted file mode 100644 index ecaf257..0000000 --- a/app/service/attribute_recognition/discriptor/bottom/3_bottom_length.csv +++ /dev/null @@ -1,6 +0,0 @@ -labelName,join_attr,taskName,taskId -Short,attr_BTM_length_1,Length,3 -Middle,attr_BTM_length_2,Length,3 -Seven,attr_BTM_length_3,Length,3 -Nine,attr_BTM_length_4,Length,3 -Long,attr_BTM_length_5,Length,3 diff --git a/app/service/attribute_recognition/discriptor/bottom/5_bottom_Softness.csv b/app/service/attribute_recognition/discriptor/bottom/5_bottom_Softness.csv deleted file mode 100644 index 8269778..0000000 --- a/app/service/attribute_recognition/discriptor/bottom/5_bottom_Softness.csv +++ /dev/null @@ -1,4 +0,0 @@ -labelName,join_attr,taskName,taskId -Soft,attr_Softness_B_1,Softness,5 -Medium,attr_Softness_B_2,Softness,5 -Hard,attr_Softness_B_3,Softness,5 diff --git a/app/service/attribute_recognition/discriptor/bottom/6_bottom_Design.csv b/app/service/attribute_recognition/discriptor/bottom/6_bottom_Design.csv deleted file mode 100644 index 27bf3d1..0000000 --- a/app/service/attribute_recognition/discriptor/bottom/6_bottom_Design.csv +++ /dev/null @@ -1,17 +0,0 @@ -labelName,join_attr,taskName,taskId -Asymmetrical,attr_Design_B_1,Design,6 -Tiered,attr_Design_B_2,Design,6 -Tassel,attr_Design_B_3,Design,6 -Ruffle,attr_Design_B_4,Design,6 -Pleated,attr_Design_B_5,Design,6 -Wrap,attr_Design_B_6,Design,6 -Ripped,attr_Design_B_7,Design,6 -Cut out,attr_Design_B_8,Design,6 -Eyelet,attr_Design_B_9,Design,6 -Folded,attr_Design_B_10,Design,6 -Tied,attr_Design_B_11,Design,6 -Drapes,attr_Design_B_12,Design,6 -Ribbon,attr_Design_B_13,Design,6 -Button,attr_Design_B_14,Design,6 -Split,attr_Design_B_15,Design,6 -Fishtail,attr_Design_B_16,Design,6 diff --git a/app/service/attribute_recognition/discriptor/bottom/7_bottom_OPType.csv b/app/service/attribute_recognition/discriptor/bottom/7_bottom_OPType.csv deleted file mode 100644 index 008d981..0000000 --- a/app/service/attribute_recognition/discriptor/bottom/7_bottom_OPType.csv +++ /dev/null @@ -1,6 +0,0 @@ -labelName,join_attr,taskName,taskId -Button,attr_OPType_B_1,Opening_Type,7 -Zipper,attr_OPType_B_2,Opening_Type,7 -Thread,attr_OPType_B_3,Opening_Type,7 -Hook,attr_OPType_B_4,Opening_Type,7 -Elastic,attr_OPType_B_5,Opening_Type,7 diff --git a/app/service/attribute_recognition/discriptor/bottom/7_outer_Print.csv b/app/service/attribute_recognition/discriptor/bottom/7_outer_Print.csv deleted file mode 100644 index cb5695d..0000000 --- a/app/service/attribute_recognition/discriptor/bottom/7_outer_Print.csv +++ /dev/null @@ -1,16 +0,0 @@ -labelName,join_attr,taskName,taskId -Abstract,attr_Print_O_1,Print,7 -Allover,attr_Print_O_2,Print,7 -Animal,attr_Print_O_3,Print,7 -Camouflage,attr_Print_O_4,Print,7 -Checks,attr_Print_O_5,Print,7 -Color_block,attr_Print_O_6,Print,7 -Disty print,attr_Print_O_7,Print,7 -Dotted,attr_Print_O_8,Print,7 -Floral,attr_Print_O_9,Print,7 -Graphic print,attr_Print_O_10,Print,7 -Logo and slogan,attr_Print_O_11,Print,7 -Patchwork,attr_Print_O_12,Print,7 -Plain,attr_Print_O_13,Print,7 -Plain_dnim,attr_Print_O_14,Print,7 -Stripe,attr_Print_O_15,Print,7 diff --git a/app/service/attribute_recognition/discriptor/bottom/8_bottom_Silhouette.csv b/app/service/attribute_recognition/discriptor/bottom/8_bottom_Silhouette.csv deleted file mode 100644 index 9bd771a..0000000 --- a/app/service/attribute_recognition/discriptor/bottom/8_bottom_Silhouette.csv +++ /dev/null @@ -1,6 +0,0 @@ -labelName,join_attr,taskName,taskId -A Line,attr_Silhouette_B_1,Silhouette,8 -H Shape,attr_Silhouette_B_2,Silhouette,8 -Slim,attr_Silhouette_B_3,Silhouette,8 -Peg-leg,attr_Silhouette_B_4,Silhouette,8 -Peplum,attr_Silhouette_B_5,Silhouette,8 diff --git a/app/service/attribute_recognition/discriptor/bottom/8_outer_Material.csv b/app/service/attribute_recognition/discriptor/bottom/8_outer_Material.csv deleted file mode 100644 index 2db5c94..0000000 --- a/app/service/attribute_recognition/discriptor/bottom/8_outer_Material.csv +++ /dev/null @@ -1,28 +0,0 @@ -labelName,join_attr,taskName,taskId -Canvas,attr_Material_O_1,Material,8 -Chambray,attr_Material_O_2,Material,8 -Chenille,attr_Material_O_3,Material,8 -Chiffon,attr_Material_O_4,Material,8 -Corduroy,attr_Material_O_5,Material,8 -Crepe,attr_Material_O_6,Material,8 -Denim,attr_Material_O_7,Material,8 -Faux_fur,attr_Material_O_8,Material,8 -Faux_leather,attr_Material_O_9,Material,8 -Flannel,attr_Material_O_10,Material,8 -Fleece,attr_Material_O_11,Material,8 -Gingham,attr_Material_O_12,Material,8 -Jersey,attr_Material_O_13,Material,8 -Knit,attr_Material_O_14,Material,8 -Lace,attr_Material_O_15,Material,8 -Lawn,attr_Material_O_16,Material,8 -Neoprene,attr_Material_O_17,Material,8 -Organza,attr_Material_O_18,Material,8 -Plush,attr_Material_O_19,Material,8 -Satin,attr_Material_O_20,Material,8 -Serge,attr_Material_O_21,Material,8 -Taffeta,attr_Material_O_22,Material,8 -Tulle,attr_Material_O_23,Material,8 -Tweed,attr_Material_O_24,Material,8 -Twill,attr_Material_O_25,Material,8 -Velvet,attr_Material_O_26,Material,8 -Vinyl,attr_Material_O_27,Material,8 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori10_bottom_Silhoutte.csv b/app/service/attribute_recognition/discriptor/bottom/ori10_bottom_Silhoutte.csv deleted file mode 100644 index 48a01f9..0000000 --- a/app/service/attribute_recognition/discriptor/bottom/ori10_bottom_Silhoutte.csv +++ /dev/null @@ -1,6 +0,0 @@ -labelName,join_attr,taskName,taskId -A Line,attr_Silhouette_B_1,Silhouette,10 -H Shape,attr_Silhouette_B_2,Silhouette,10 -Slim,attr_Silhouette_B_3,Silhouette,10 -Peg-top,attr_Silhouette_B_4,Silhouette,10 -Peplum,attr_Silhouette_B_5,Silhouette,10 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori1_bottom_Type.csv b/app/service/attribute_recognition/discriptor/bottom/ori1_bottom_Type.csv deleted file mode 100644 index e1a7c82..0000000 --- a/app/service/attribute_recognition/discriptor/bottom/ori1_bottom_Type.csv +++ /dev/null @@ -1,3 +0,0 @@ -labelName,join_attr,taskName,taskId -Pants,BTM_Type_1,Type,1 -Skirt,BTM_Type_2,Type,1 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori2_bottom_subtype.csv b/app/service/attribute_recognition/discriptor/bottom/ori2_bottom_subtype.csv deleted file mode 100644 index 93d835f..0000000 --- a/app/service/attribute_recognition/discriptor/bottom/ori2_bottom_subtype.csv +++ /dev/null @@ -1,47 +0,0 @@ -labelName,join_attr,taskName,taskId -Jeans,BTM_Sub-Type_1,Sub_Type,2 -Leggings,BTM_Sub-Type_2,Sub_Type,2 -Joggers,BTM_Sub-Type_3,Sub_Type,2 -Suit Trousers,BTM_Sub-Type_4,Sub_Type,2 -Cargo Pants,BTM_Sub-Type_5,Sub_Type,2 -Culottes,BTM_Sub-Type_6,Sub_Type,2 -Peg leg Pants ,BTM_Sub-Type_7,Sub_Type,2 -A Line Skirt_gathered,BTM_Sub-Type_8,Sub_Type,2 -Pencil Skirt,BTM_Sub-Type_9,Sub_Type,2 -Handkerchief Skirt,BTM_Sub-Type_10,Sub_Type,2 -Mermaid/Fishtail Skirt,BTM_Sub-Type_11,Sub_Type,2 -Skater Skirt,BTM_Sub-Type_12,Sub_Type,2 -Bodycon Skirt,BTM_Sub-Type_13,Sub_Type,2 -Shorts,BTM_Sub-Type_14,Sub_Type,2 -boot-cut_flare,BTM_Sub-Type_15,Sub_Type,2 -Pleated Skirt,BTM_Sub-Type_16,Sub_Type,2 -Bubble skirt,BTM_Sub-Type_17,Sub_Type,2 -Leather pants,BTM_Sub-Type_18,Sub_Type,2 -pattened pants,BTM_Sub-Type_19,Sub_Type,2 -Tier Skirt,BTM_Sub-Type_20,Sub_Type,2 -asymmetric_mullet,BTM_Sub-Type_21,Sub_Type,2 -baggy,BTM_Sub-Type_22,Sub_Type,2 -denim skirt,BTM_Sub-Type_23,Sub_Type,2 -flare skirt,BTM_Sub-Type_24,Sub_Type,2 -fringe skirt,BTM_Sub-Type_25,Sub_Type,2 -godet skirt,BTM_Sub-Type_26,Sub_Type,2 -high rise pants,BTM_Sub-Type_27,Sub_Type,2 -hight waist skirt,BTM_Sub-Type_28,Sub_Type,2 -hat pants,BTM_Sub-Type_29,Sub_Type,2 -leather skirts,BTM_Sub-Type_30,Sub_Type,2 -long skirts,BTM_Sub-Type_31,Sub_Type,2 -low rise pants,BTM_Sub-Type_32,Sub_Type,2 -mini skirt,BTM_Sub-Type_33,Sub_Type,2 -panel kirt,BTM_Sub-Type_34,Sub_Type,2 -peg top skirt,BTM_Sub-Type_35,Sub_Type,2 -pencil pants,BTM_Sub-Type_36,Sub_Type,2 -shorts (denim),BTM_Sub-Type_37,Sub_Type,2 -skinny_cigarette pants,BTM_Sub-Type_38,Sub_Type,2 -split skirt,BTM_Sub-Type_39,Sub_Type,2 -stirrup,BTM_Sub-Type_40,Sub_Type,2 -stranget pants,BTM_Sub-Type_41,Sub_Type,2 -straight skirt,BTM_Sub-Type_42,Sub_Type,2 -wide leg pants,BTM_Sub-Type_43,Sub_Type,2 -wrap skirt,BTM_Sub-Type_44,Sub_Type,2 -Jeans,BTM_Sub-Type_45,Sub_Type,2 -Leggings,BTM_Sub-Type_46,Sub_Type,2 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori3_bottom_structure.csv b/app/service/attribute_recognition/discriptor/bottom/ori3_bottom_structure.csv deleted file mode 100644 index e968d11..0000000 --- a/app/service/attribute_recognition/discriptor/bottom/ori3_bottom_structure.csv +++ /dev/null @@ -1,4 +0,0 @@ -labelName,join_attr,taskName,taskId -Woven,attr_BTM_Structure_1,Structure,3 -Knit,attr_BTM_Structure_2,Structure,3 -Sweater,attr_BTM_Structure_3,Structure,3 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori4_bottom_length.csv b/app/service/attribute_recognition/discriptor/bottom/ori4_bottom_length.csv deleted file mode 100644 index 87465d1..0000000 --- a/app/service/attribute_recognition/discriptor/bottom/ori4_bottom_length.csv +++ /dev/null @@ -1,6 +0,0 @@ -labelName,join_attr,taskName,taskId -Short,attr_BTM_length_1,Length,4 -Middle,attr_BTM_length_2,Length,4 -Seven,attr_BTM_length_3,Length,4 -Nine,attr_BTM_length_4,Length,4 -Long,attr_BTM_length_5,Length,4 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori5_bottom_Print.csv b/app/service/attribute_recognition/discriptor/bottom/ori5_bottom_Print.csv deleted file mode 100644 index 4d6410e..0000000 --- a/app/service/attribute_recognition/discriptor/bottom/ori5_bottom_Print.csv +++ /dev/null @@ -1,16 +0,0 @@ -labelName,join_attr,taskName,taskId -abstract,attr_Print_B_1,Print,5 -allover,attr_Print_B_2,Print,5 -animal printed,attr_Print_B_3,Print,5 -Camouflage,attr_Print_B_4,Print,5 -checks,attr_Print_B_5,Print,5 -color_block,attr_Print_B_6,Print,5 -disty print,attr_Print_B_7,Print,5 -dotted,attr_Print_B_8,Print,5 -floral,attr_Print_B_9,Print,5 -graphic print,attr_Print_B_10,Print,5 -logo and slogan print,attr_Print_B_11,Print,5 -patchwork,attr_Print_B_12,Print,5 -plain,attr_Print_B_13,Print,5 -plain_dnim,attr_Print_B_14,Print,5 -stripe,attr_Print_B_15,Print,5 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori6_bottom_Material.csv b/app/service/attribute_recognition/discriptor/bottom/ori6_bottom_Material.csv deleted file mode 100644 index 6d94f8b..0000000 --- a/app/service/attribute_recognition/discriptor/bottom/ori6_bottom_Material.csv +++ /dev/null @@ -1,28 +0,0 @@ -labelName,join_attr,taskName,taskId -canvas,attr_Material_B_1,Material,6 -chambray,attr_Material_B_2,Material,6 -chenille,attr_Material_B_3,Material,6 -chiffon,attr_Material_B_4,Material,6 -corduroy,attr_Material_B_5,Material,6 -crepe,attr_Material_B_6,Material,6 -denim,attr_Material_B_7,Material,6 -faux_fur,attr_Material_B_8,Material,6 -faux_leather,attr_Material_B_9,Material,6 -flannel,attr_Material_B_10,Material,6 -fleece,attr_Material_B_11,Material,6 -gingham,attr_Material_B_12,Material,6 -jersey,attr_Material_B_13,Material,6 -knit,attr_Material_B_14,Material,6 -lace,attr_Material_B_15,Material,6 -lawn,attr_Material_B_16,Material,6 -neoprene,attr_Material_B_17,Material,6 -organza,attr_Material_B_18,Material,6 -plush,attr_Material_B_19,Material,6 -satin,attr_Material_B_20,Material,6 -serge,attr_Material_B_21,Material,6 -taffeta,attr_Material_B_22,Material,6 -tulle,attr_Material_B_23,Material,6 -tweed,attr_Material_B_24,Material,6 -twill,attr_Material_B_25,Material,6 -velvet,attr_Material_B_26,Material,6 -vinyl,attr_Material_B_27,Material,6 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori7_bottom_Softness.csv b/app/service/attribute_recognition/discriptor/bottom/ori7_bottom_Softness.csv deleted file mode 100644 index 74421f0..0000000 --- a/app/service/attribute_recognition/discriptor/bottom/ori7_bottom_Softness.csv +++ /dev/null @@ -1,4 +0,0 @@ -labelName,join_attr,taskName,taskId -Soft,attr_Softness_B_1,Softness,7 -Medium,attr_Softness_B_2,Softness,7 -Hard,attr_Softness_B_3,Softness,7 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori8_bottom_Design.csv b/app/service/attribute_recognition/discriptor/bottom/ori8_bottom_Design.csv deleted file mode 100644 index 6a8e5d7..0000000 --- a/app/service/attribute_recognition/discriptor/bottom/ori8_bottom_Design.csv +++ /dev/null @@ -1,17 +0,0 @@ -labelName,join_attr,taskName,taskId -Asymmetrical,attr_Design_B_1,Design,8 -Tiered,attr_Design_B_2,Design,8 -Tassel,attr_Design_B_3,Design,8 -Ruffle,attr_Design_B_4,Design,8 -Pleated,attr_Design_B_5,Design,8 -Wrap,attr_Design_B_6,Design,8 -Ripped,attr_Design_B_7,Design,8 -Cut out,attr_Design_B_8,Design,8 -Eyelet,attr_Design_B_9,Design,8 -Folded,attr_Design_B_10,Design,8 -Tied,attr_Design_B_11,Design,8 -Drapes,attr_Design_B_12,Design,8 -Ribbon,attr_Design_B_13,Design,8 -Button,attr_Design_B_14,Design,8 -Split,attr_Design_B_15,Design,8 -Fishtail,attr_Design_B_16,Design,8 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori9_bottom_OPType.csv b/app/service/attribute_recognition/discriptor/bottom/ori9_bottom_OPType.csv deleted file mode 100644 index 5aaef17..0000000 --- a/app/service/attribute_recognition/discriptor/bottom/ori9_bottom_OPType.csv +++ /dev/null @@ -1,6 +0,0 @@ -labelName,join_attr,taskName,taskId -Button,attr_OPType_B_1,Opening_Type,9 -Zipper,attr_OPType_B_2,Opening_Type,9 -Thread,attr_OPType_B_3,Opening_Type,9 -Hook,attr_OPType_B_4,Opening_Type,9 -Elastic,attr_OPType_B_5,Opening_Type,9 diff --git a/app/service/attribute_recognition/discriptor/category/category_dis.csv b/app/service/attribute_recognition/discriptor/category/category_dis.csv deleted file mode 100644 index 724edb2..0000000 --- a/app/service/attribute_recognition/discriptor/category/category_dis.csv +++ /dev/null @@ -1,7 +0,0 @@ -labelName,join_attr,taskName,taskId -top,attr_top,category,1 -pants,attr_pants,category,1 -skirt,attr_skirt,category,1 -dress,attr_dress,category,1 -outwear,attr_outwear,category,1 -jumpsuit,attr_jumpsuit,category,1 diff --git a/app/service/attribute_recognition/discriptor/dress/11_dress_Silhouette.csv b/app/service/attribute_recognition/discriptor/dress/11_dress_Silhouette.csv deleted file mode 100644 index 97499f4..0000000 --- a/app/service/attribute_recognition/discriptor/dress/11_dress_Silhouette.csv +++ /dev/null @@ -1,11 +0,0 @@ -labelName,join_attr,taskName,taskId -A Line,attr_Silhouette_U_1,Silhouette,11 -H Shape,attr_Silhouette_U_2,Silhouette,11 -Slim,attr_Silhouette_U_3,Silhouette,11 -Oversized,attr_Silhouette_U_4,Silhouette,11 -Cacoon,attr_Silhouette_U_5,Silhouette,11 -Empire,attr_Silhouette_U_6,Silhouette,11 -Hourglass,attr_Silhouette_U_7,Silhouette,11 -Mermaid,attr_Silhouette_U_8,Silhouette,11 -Sheath,attr_Silhouette_U_9,Silhouette,11 -Tent,attr_Silhouette_U_10,Silhouette,11 diff --git a/app/service/attribute_recognition/discriptor/dress/11_top_OPType.csv b/app/service/attribute_recognition/discriptor/dress/11_top_OPType.csv deleted file mode 100644 index 870631b..0000000 --- a/app/service/attribute_recognition/discriptor/dress/11_top_OPType.csv +++ /dev/null @@ -1,5 +0,0 @@ -labelName,join_attr,taskName,taskId -Button,attr_OPType_U_1,Opening_Type,11 -Zipper,attr_OPType_U_2,Opening_Type,11 -Thread,attr_OPType_U_3,Opening_Type,11 -Hook,attr_OPType_U_4,Opening_Type,11 diff --git a/app/service/attribute_recognition/discriptor/dress/12_dress_type.csv b/app/service/attribute_recognition/discriptor/dress/12_dress_type.csv deleted file mode 100644 index 7a7a1c7..0000000 --- a/app/service/attribute_recognition/discriptor/dress/12_dress_type.csv +++ /dev/null @@ -1,20 +0,0 @@ -labelName,join_attr,taskName,taskId -Evening gown,attr_dresstype_1,Type,12 -Shirt-dress,attr_dresstype_2,Type,12 -Coat dress,attr_dresstype_3,Type,12 -Handkerchief dress,attr_dresstype_4,Type,12 -Jumper dress,attr_dresstype_5,Type,12 -Dungaree dress,attr_dresstype_6,Type,12 -Skater dress,attr_dresstype_7,Type,12 -Tea dress,attr_dresstype_8,Type,12 -Mermaid dress,attr_dresstype_9,Type,12 -Cocktail dress,attr_dresstype_10,Type,12 -A-Line dress,attr_dresstype_11,Type,12 -Bodycon dress,attr_dresstype_12,Type,12 -Maxi dress,attr_dresstype_13,Type,12 -Office dress,attr_dresstype_14,Type,12 -Pencil dress,attr_dresstype_15,Type,12 -Sheer dress,attr_dresstype_16,Type,12 -Shift dress,attr_dresstype_17,Type,12 -Slip dress,attr_dresstype_18,Type,12 -T-shirt dress,attr_dresstype_19,Type,12 \ No newline at end of file diff --git a/app/service/attribute_recognition/discriptor/dress/1_dress_length.csv b/app/service/attribute_recognition/discriptor/dress/1_dress_length.csv deleted file mode 100644 index 9568d0c..0000000 --- a/app/service/attribute_recognition/discriptor/dress/1_dress_length.csv +++ /dev/null @@ -1,6 +0,0 @@ -labelName,join_attr,taskName,taskId -Maxi,attr_Dress_length_1,Length,1 -Midi,attr_Dress_length_2,Length,1 -Mini,attr_Dress_length_3,Length,1 -Over the knee,attr_Dress_length_4,Length,1 -Floor Length,attr_Dress_length_5,Length,1 diff --git a/app/service/attribute_recognition/discriptor/dress/3_top_Sleeve_length.csv b/app/service/attribute_recognition/discriptor/dress/3_top_Sleeve_length.csv deleted file mode 100644 index 1f2a0f3..0000000 --- a/app/service/attribute_recognition/discriptor/dress/3_top_Sleeve_length.csv +++ /dev/null @@ -1,6 +0,0 @@ -labelName,join_attr,taskName,taskId -Sleeveless,attr_Sleeve_length_1,Sleeve_Length,3 -Short,attr_Sleeve_length_2,Sleeve_Length,3 -Middle,attr_Sleeve_length_3,Sleeve_Length,3 -Seven,attr_Sleeve_length_4,Sleeve_Length,3 -Long,attr_Sleeve_length_5,Sleeve_Length,3 diff --git a/app/service/attribute_recognition/discriptor/dress/4_top_Sleeve_shape.csv b/app/service/attribute_recognition/discriptor/dress/4_top_Sleeve_shape.csv deleted file mode 100644 index d429c11..0000000 --- a/app/service/attribute_recognition/discriptor/dress/4_top_Sleeve_shape.csv +++ /dev/null @@ -1,9 +0,0 @@ -labelName,join_attr,taskName,taskId -Regular,attr_Sleeve_shape_1,Sleeve_Shape,4 -Slim,attr_Sleeve_shape_2,Sleeve_Shape,4 -Puff,attr_Sleeve_shape_3,Sleeve_Shape,4 -Bell,attr_Sleeve_shape_4,Sleeve_Shape,4 -Batwing,attr_Sleeve_shape_5,Sleeve_Shape,4 -Shirt,attr_Sleeve_shape_6,Sleeve_Shape,4 -Rib,attr_Sleeve_shape_7,Sleeve_Shape,4 -Raglan,attr_Sleeve_shape_8,Sleeve_Shape,4 diff --git a/app/service/attribute_recognition/discriptor/dress/5_top_Sleeve_shoulder.csv b/app/service/attribute_recognition/discriptor/dress/5_top_Sleeve_shoulder.csv deleted file mode 100644 index c31e7ea..0000000 --- a/app/service/attribute_recognition/discriptor/dress/5_top_Sleeve_shoulder.csv +++ /dev/null @@ -1,5 +0,0 @@ -labelName,join_attr,taskName,taskId -Regular,attr_Sleeve_shoulder_1,Sleeve_Shoulder,5 -Cold,attr_Sleeve_shoulder_2,Sleeve_Shoulder,5 -Tucked,attr_Sleeve_shoulder_3,Sleeve_Shoulder,5 -Balmain,attr_Sleeve_shoulder_4,Sleeve_Shoulder,5 diff --git a/app/service/attribute_recognition/discriptor/dress/6_top_Neckline.csv b/app/service/attribute_recognition/discriptor/dress/6_top_Neckline.csv deleted file mode 100644 index 30c1420..0000000 --- a/app/service/attribute_recognition/discriptor/dress/6_top_Neckline.csv +++ /dev/null @@ -1,7 +0,0 @@ -labelName,join_attr,taskName,taskId -Round,attr_Neckline_1,Neckline,6 -V,attr_Neckline_2,Neckline,6 -Square,attr_Neckline_3,Neckline,6 -One-shoulder,attr_Neckline_4,Neckline,6 -Off-shoulder,attr_Neckline_5,Neckline,6 -Strapless,attr_Neckline_6,Neckline,6 diff --git a/app/service/attribute_recognition/discriptor/dress/7_outer_Print.csv b/app/service/attribute_recognition/discriptor/dress/7_outer_Print.csv deleted file mode 100644 index cb5695d..0000000 --- a/app/service/attribute_recognition/discriptor/dress/7_outer_Print.csv +++ /dev/null @@ -1,16 +0,0 @@ -labelName,join_attr,taskName,taskId -Abstract,attr_Print_O_1,Print,7 -Allover,attr_Print_O_2,Print,7 -Animal,attr_Print_O_3,Print,7 -Camouflage,attr_Print_O_4,Print,7 -Checks,attr_Print_O_5,Print,7 -Color_block,attr_Print_O_6,Print,7 -Disty print,attr_Print_O_7,Print,7 -Dotted,attr_Print_O_8,Print,7 -Floral,attr_Print_O_9,Print,7 -Graphic print,attr_Print_O_10,Print,7 -Logo and slogan,attr_Print_O_11,Print,7 -Patchwork,attr_Print_O_12,Print,7 -Plain,attr_Print_O_13,Print,7 -Plain_dnim,attr_Print_O_14,Print,7 -Stripe,attr_Print_O_15,Print,7 diff --git a/app/service/attribute_recognition/discriptor/dress/7_top_Collar.csv b/app/service/attribute_recognition/discriptor/dress/7_top_Collar.csv deleted file mode 100644 index a30c014..0000000 --- a/app/service/attribute_recognition/discriptor/dress/7_top_Collar.csv +++ /dev/null @@ -1,11 +0,0 @@ -labelName,join_attr,taskName,taskId -Peterpan,attr_Collar_1,Collar,7 -Shirt,attr_Collar_2,Collar,7 -Rib,attr_Collar_3,Collar,7 -Turtle,attr_Collar_4,Collar,7 -Lapel,attr_Collar_5,Collar,7 -Hoodie,attr_Collar_6,Collar,7 -Mandarin,attr_Collar_7,Collar,7 -Tie,attr_Collar_8,Collar,7 -Ruffle,attr_Collar_9,Collar,7 -Cowl,attr_Collar_10,Collar,7 diff --git a/app/service/attribute_recognition/discriptor/dress/8_outer_Material.csv b/app/service/attribute_recognition/discriptor/dress/8_outer_Material.csv deleted file mode 100644 index 2db5c94..0000000 --- a/app/service/attribute_recognition/discriptor/dress/8_outer_Material.csv +++ /dev/null @@ -1,28 +0,0 @@ -labelName,join_attr,taskName,taskId -Canvas,attr_Material_O_1,Material,8 -Chambray,attr_Material_O_2,Material,8 -Chenille,attr_Material_O_3,Material,8 -Chiffon,attr_Material_O_4,Material,8 -Corduroy,attr_Material_O_5,Material,8 -Crepe,attr_Material_O_6,Material,8 -Denim,attr_Material_O_7,Material,8 -Faux_fur,attr_Material_O_8,Material,8 -Faux_leather,attr_Material_O_9,Material,8 -Flannel,attr_Material_O_10,Material,8 -Fleece,attr_Material_O_11,Material,8 -Gingham,attr_Material_O_12,Material,8 -Jersey,attr_Material_O_13,Material,8 -Knit,attr_Material_O_14,Material,8 -Lace,attr_Material_O_15,Material,8 -Lawn,attr_Material_O_16,Material,8 -Neoprene,attr_Material_O_17,Material,8 -Organza,attr_Material_O_18,Material,8 -Plush,attr_Material_O_19,Material,8 -Satin,attr_Material_O_20,Material,8 -Serge,attr_Material_O_21,Material,8 -Taffeta,attr_Material_O_22,Material,8 -Tulle,attr_Material_O_23,Material,8 -Tweed,attr_Material_O_24,Material,8 -Twill,attr_Material_O_25,Material,8 -Velvet,attr_Material_O_26,Material,8 -Vinyl,attr_Material_O_27,Material,8 diff --git a/app/service/attribute_recognition/discriptor/dress/9_dress_Design.csv b/app/service/attribute_recognition/discriptor/dress/9_dress_Design.csv deleted file mode 100644 index 03016b0..0000000 --- a/app/service/attribute_recognition/discriptor/dress/9_dress_Design.csv +++ /dev/null @@ -1,19 +0,0 @@ -labelName,join_attr,taskName,taskId -Asymmetrical,attr_Design_U_1,Design,9 -Tiered,attr_Design_U_2,Design,9 -Tassel,attr_Design_U_3,Design,9 -Ruffle,attr_Design_U_4,Design,9 -Pleated,attr_Design_U_5,Design,9 -Wrap,attr_Design_U_6,Design,9 -Ripped,attr_Design_U_7,Design,9 -Cut out,attr_Design_U_8,Design,9 -Eyelet,attr_Design_U_9,Design,9 -Folded,attr_Design_U_10,Design,9 -Tied,attr_Design_U_11,Design,9 -Drapes,attr_Design_U_12,Design,9 -Ribbon,attr_Design_U_13,Design,9 -Button,attr_Design_U_14,Design,9 -Split,attr_Design_U_15,Design,9 -Fishtail,attr_Design_U_16,Design,9 -Cami dress,attr_Design_U_17,Design,9 -Gathering,attr_Design_U_18,Design,9 diff --git a/app/service/attribute_recognition/discriptor/dress/9_top_Softness.csv b/app/service/attribute_recognition/discriptor/dress/9_top_Softness.csv deleted file mode 100644 index dc8b5f0..0000000 --- a/app/service/attribute_recognition/discriptor/dress/9_top_Softness.csv +++ /dev/null @@ -1,4 +0,0 @@ -labelName,join_attr,taskName,taskId -Soft,attr_Softness_U_1,Softness,9 -Medium,attr_Softness_U_2,Softness,9 -Hard,attr_Softness_U_3,Softness,9 diff --git a/app/service/attribute_recognition/discriptor/dress/ori10_dress_Design.csv b/app/service/attribute_recognition/discriptor/dress/ori10_dress_Design.csv deleted file mode 100644 index db0561e..0000000 --- a/app/service/attribute_recognition/discriptor/dress/ori10_dress_Design.csv +++ /dev/null @@ -1,16 +0,0 @@ -labelName,join_attr,taskName,taskId -Asymmetrical,attr_Design_D_1,Design,10 -Tiered,attr_Design_D_2,Design,10 -Tassel,attr_Design_D_3,Design,10 -Ruffle,attr_Design_D_4,Design,10 -Pleated,attr_Design_D_5,Design,10 -Wrap,attr_Design_D_6,Design,10 -Ripped,attr_Design_D_7,Design,10 -Cut out,attr_Design_D_8,Design,10 -Eyelet,attr_Design_D_9,Design,10 -Folded,attr_Design_D_10,Design,10 -Tied,attr_Design_D_11,Design,10 -Drapes,attr_Design_D_12,Design,10 -Ribbon,attr_Design_D_13,Design,10 -Button,attr_Design_D_14,Design,10 -Gathering,attr_Design_D_15,Design,10 diff --git a/app/service/attribute_recognition/discriptor/dress/ori11_dress_OPType.csv b/app/service/attribute_recognition/discriptor/dress/ori11_dress_OPType.csv deleted file mode 100644 index 34be31e..0000000 --- a/app/service/attribute_recognition/discriptor/dress/ori11_dress_OPType.csv +++ /dev/null @@ -1,5 +0,0 @@ -labelName,join_attr,taskName,taskId -Button,attr_OPType_D_1,Opening_Type,11 -Zipper,attr_OPType_D_2,Opening_Type,11 -Thread,attr_OPType_D_3,Opening_Type,11 -Hook,attr_OPType_D_4,Opening_Type,11 diff --git a/app/service/attribute_recognition/discriptor/dress/ori12_dress_Silhouette.csv b/app/service/attribute_recognition/discriptor/dress/ori12_dress_Silhouette.csv deleted file mode 100644 index 170bd18..0000000 --- a/app/service/attribute_recognition/discriptor/dress/ori12_dress_Silhouette.csv +++ /dev/null @@ -1,11 +0,0 @@ -labelName,join_attr,taskName,taskId -A Line,attr_Silhouette_D_1,Silhouette,12 -H Shape,attr_Silhouette_D_2,Silhouette,12 -Slim,attr_Silhouette_D_3,Silhouette,12 -Oversized,attr_Silhouette_D_4,Silhouette,12 -Cacoon,attr_Silhouette_D_5,Silhouette,12 -Empire,attr_Silhouette_D_6,Silhouette,12 -Hourglass,attr_Silhouette_D_7,Silhouette,12 -Mermaid,attr_Silhouette_D_8,Silhouette,12 -Sheath,attr_Silhouette_D_9,Silhouette,12 -Tent,attr_Silhouette_D_10,Silhouette,12 diff --git a/app/service/attribute_recognition/discriptor/dress/ori13_dress_Type.csv b/app/service/attribute_recognition/discriptor/dress/ori13_dress_Type.csv deleted file mode 100644 index 84daf45..0000000 --- a/app/service/attribute_recognition/discriptor/dress/ori13_dress_Type.csv +++ /dev/null @@ -1,20 +0,0 @@ -labelName,join_attr,taskName,taskId -Evening gown,attr_Dress_Type_1,Type,13 -Shirt-dress,attr_Dress_Type_2,Type,13 -Coat dress,attr_Dress_Type_3,Type,13 -Handkerchief dress,attr_Dress_Type_4,Type,13 -Jumper dress,attr_Dress_Type_5,Type,13 -Dungaree dress,attr_Dress_Type_6,Type,13 -Skater dress,attr_Dress_Type_7,Type,13 -Tea dress,attr_Dress_Type_8,Type,13 -Mermaid dress,attr_Dress_Type_9,Type,13 -Cocktail dress,attr_Dress_Type_10,Type,13 -A-Line dress,attr_Dress_Type_11,Type,13 -Bodycon dress,attr_Dress_Type_12,Type,13 -Maxi dress,attr_Dress_Type_13,Type,13 -Office dress,attr_Dress_Type_14,Type,13 -Pencil dress,attr_Dress_Type_15,Type,13 -Sheer dress,attr_Dress_Type_16,Type,13 -Shift dress,attr_Dress_Type_17,Type,13 -Slip dress,attr_Dress_Type_18,Type,13 -T-shirt dress,attr_Dress_Type_19,Type,13 diff --git a/app/service/attribute_recognition/discriptor/dress/ori1_dress_length.csv b/app/service/attribute_recognition/discriptor/dress/ori1_dress_length.csv deleted file mode 100644 index 9568d0c..0000000 --- a/app/service/attribute_recognition/discriptor/dress/ori1_dress_length.csv +++ /dev/null @@ -1,6 +0,0 @@ -labelName,join_attr,taskName,taskId -Maxi,attr_Dress_length_1,Length,1 -Midi,attr_Dress_length_2,Length,1 -Mini,attr_Dress_length_3,Length,1 -Over the knee,attr_Dress_length_4,Length,1 -Floor Length,attr_Dress_length_5,Length,1 diff --git a/app/service/attribute_recognition/discriptor/dress/ori2_dress_Sleeve_length.csv b/app/service/attribute_recognition/discriptor/dress/ori2_dress_Sleeve_length.csv deleted file mode 100644 index 14a2dc5..0000000 --- a/app/service/attribute_recognition/discriptor/dress/ori2_dress_Sleeve_length.csv +++ /dev/null @@ -1,6 +0,0 @@ -labelName,join_attr,taskName,taskId -Sleeveless,attr_Sleeve_length_D_1,Sleeve_Length,2 -Short,attr_Sleeve_length_D_2,Sleeve_Length,2 -Middle,attr_Sleeve_length_D_3,Sleeve_Length,2 -Seven,attr_Sleeve_length_D_4,Sleeve_Length,2 -Long,attr_Sleeve_length_D_5,Sleeve_Length,2 diff --git a/app/service/attribute_recognition/discriptor/dress/ori3_dress_Sleeve_shape.csv b/app/service/attribute_recognition/discriptor/dress/ori3_dress_Sleeve_shape.csv deleted file mode 100644 index 7277acf..0000000 --- a/app/service/attribute_recognition/discriptor/dress/ori3_dress_Sleeve_shape.csv +++ /dev/null @@ -1,9 +0,0 @@ -labelName,join_attr,taskName,taskId -Regular,attr_Sleeve_shape_D_1,Sleeve_Shape,3 -Slim,attr_Sleeve_shape_D_2,Sleeve_Shape,3 -Puff,attr_Sleeve_shape_D_3,Sleeve_Shape,3 -Bell,attr_Sleeve_shape_D_4,Sleeve_Shape,3 -Batwing,attr_Sleeve_shape_D_5,Sleeve_Shape,3 -Shirt,attr_Sleeve_shape_D_6,Sleeve_Shape,3 -Rib,attr_Sleeve_shape_D_7,Sleeve_Shape,3 -Raglan,attr_Sleeve_shape_D_8,Sleeve_Shape,3 diff --git a/app/service/attribute_recognition/discriptor/dress/ori4_dress_Sleeve_shoulder.csv b/app/service/attribute_recognition/discriptor/dress/ori4_dress_Sleeve_shoulder.csv deleted file mode 100644 index 36656f8..0000000 --- a/app/service/attribute_recognition/discriptor/dress/ori4_dress_Sleeve_shoulder.csv +++ /dev/null @@ -1,5 +0,0 @@ -labelName,join_attr,taskName,taskId -Regular,attr_Sleeve_shoulder_D_1,Sleeve_Shoulder,4 -Cold,attr_Sleeve_shoulder_D_2,Sleeve_Shoulder,4 -Tucked,attr_Sleeve_shoulder_D_3,Sleeve_Shoulder,4 -Balmain,attr_Sleeve_shoulder_D_4,Sleeve_Shoulder,4 diff --git a/app/service/attribute_recognition/discriptor/dress/ori5_dress_Neckline.csv b/app/service/attribute_recognition/discriptor/dress/ori5_dress_Neckline.csv deleted file mode 100644 index 5e76802..0000000 --- a/app/service/attribute_recognition/discriptor/dress/ori5_dress_Neckline.csv +++ /dev/null @@ -1,17 +0,0 @@ -labelName,join_attr,taskName,taskId -Round,attr_Neckline_D_1,Neckline,5 -V,attr_Neckline_D_2,Neckline,5 -Square,attr_Neckline_D_3,Neckline,5 -One-shoulder,attr_Neckline_D_4,Neckline,5 -Off-shoulder,attr_Neckline_D_5,Neckline,5 -Strapless,attr_Neckline_D_6,Neckline,5 -Turtle,attr_Neckline_D_7,Neckline,5 -Boat,attr_Neckline_D_8,Neckline,5 -Halter,attr_Neckline_D_9,Neckline,5 -Spaghetti Strap,attr_Neckline_D_10,Neckline,5 -Sweetheart,attr_Neckline_D_11,Neckline,5 -U,attr_Neckline_D_12,Neckline,5 -choker,attr_Neckline_D_13,Neckline,5 -cowl,attr_Neckline_D_14,Neckline,5 -keyhole,attr_Neckline_D_15,Neckline,5 -split,attr_Neckline_D_16,Neckline,5 diff --git a/app/service/attribute_recognition/discriptor/dress/ori6_dress_Collar.csv b/app/service/attribute_recognition/discriptor/dress/ori6_dress_Collar.csv deleted file mode 100644 index 0873572..0000000 --- a/app/service/attribute_recognition/discriptor/dress/ori6_dress_Collar.csv +++ /dev/null @@ -1,11 +0,0 @@ -labelName,join_attr,taskName,taskId -Peterpan-Bertha,attr_Collar_D_1,Collar,6 -Shirt,attr_Collar_D_2,Collar,6 -Rib,attr_Collar_D_3,Collar,6 -Turtle,attr_Collar_D_4,Collar,6 -Lapel,attr_Collar_D_5,Collar,6 -Hoodie,attr_Collar_D_6,Collar,6 -Mandarin,attr_Collar_D_7,Collar,6 -Tie,attr_Collar_D_8,Collar,6 -Ruffle,attr_Collar_D_9,Collar,6 -Cowl,attr_Collar_D_10,Collar,6 diff --git a/app/service/attribute_recognition/discriptor/dress/ori7_dress_Print.csv b/app/service/attribute_recognition/discriptor/dress/ori7_dress_Print.csv deleted file mode 100644 index 5caa797..0000000 --- a/app/service/attribute_recognition/discriptor/dress/ori7_dress_Print.csv +++ /dev/null @@ -1,16 +0,0 @@ -labelName,join_attr,taskName,taskId -abstract,attr_Print_D_1,Print,7 -allover,attr_Print_D_2,Print,7 -animal printed,attr_Print_D_3,Print,7 -Camouflage,attr_Print_D_4,Print,7 -checks,attr_Print_D_5,Print,7 -color_block,attr_Print_D_6,Print,7 -disty print,attr_Print_D_7,Print,7 -dotted,attr_Print_D_8,Print,7 -floral,attr_Print_D_9,Print,7 -graphic print,attr_Print_D_10,Print,7 -logo and slogan print,attr_Print_D_11,Print,7 -patchwork,attr_Print_D_12,Print,7 -plain,attr_Print_D_13,Print,7 -plain_dnim,attr_Print_D_14,Print,7 -stripe,attr_Print_D_15,Print,7 diff --git a/app/service/attribute_recognition/discriptor/dress/ori8_dress_Material.csv b/app/service/attribute_recognition/discriptor/dress/ori8_dress_Material.csv deleted file mode 100644 index 2a05645..0000000 --- a/app/service/attribute_recognition/discriptor/dress/ori8_dress_Material.csv +++ /dev/null @@ -1,28 +0,0 @@ -labelName,join_attr,taskName,taskId -canvas,attr_Material_D_1,Material,8 -chambray,attr_Material_D_2,Material,8 -chenille,attr_Material_D_3,Material,8 -chiffon,attr_Material_D_4,Material,8 -corduroy,attr_Material_D_5,Material,8 -crepe,attr_Material_D_6,Material,8 -denim,attr_Material_D_7,Material,8 -faux_fur,attr_Material_D_8,Material,8 -faux_leather,attr_Material_D_9,Material,8 -flannel,attr_Material_D_10,Material,8 -fleece,attr_Material_D_11,Material,8 -gingham,attr_Material_D_12,Material,8 -jersey,attr_Material_D_13,Material,8 -knit,attr_Material_D_14,Material,8 -lace,attr_Material_D_15,Material,8 -lawn,attr_Material_D_16,Material,8 -neoprene,attr_Material_D_17,Material,8 -organza,attr_Material_D_18,Material,8 -plush,attr_Material_D_19,Material,8 -satin,attr_Material_D_20,Material,8 -serge,attr_Material_D_21,Material,8 -taffeta,attr_Material_D_22,Material,8 -tulle,attr_Material_D_23,Material,8 -tweed,attr_Material_D_24,Material,8 -twill,attr_Material_D_25,Material,8 -velvet,attr_Material_D_26,Material,8 -vinyl,attr_Material_D_27,Material,8 diff --git a/app/service/attribute_recognition/discriptor/dress/ori9_dress_Softness.csv b/app/service/attribute_recognition/discriptor/dress/ori9_dress_Softness.csv deleted file mode 100644 index 4488232..0000000 --- a/app/service/attribute_recognition/discriptor/dress/ori9_dress_Softness.csv +++ /dev/null @@ -1,4 +0,0 @@ -labelName,join_attr,taskName,taskId -Soft,attr_Softness_D_1,Softness,9 -Medium,attr_Softness_D_2,Softness,9 -Hard,attr_Softness_D_3,Softness,9 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/.~lock.12_jumsuit_subtye.csv# b/app/service/attribute_recognition/discriptor/jumpsuit/.~lock.12_jumsuit_subtye.csv# deleted file mode 100644 index c911109..0000000 --- a/app/service/attribute_recognition/discriptor/jumpsuit/.~lock.12_jumsuit_subtye.csv# +++ /dev/null @@ -1 +0,0 @@ -,shumin,shumin,20.02.2023 16:48,file:///home/shumin/.config/libreoffice/4; \ No newline at end of file diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/.~lock.8_jumpsuit_Material.csv# b/app/service/attribute_recognition/discriptor/jumpsuit/.~lock.8_jumpsuit_Material.csv# deleted file mode 100644 index e1b4bc3..0000000 --- a/app/service/attribute_recognition/discriptor/jumpsuit/.~lock.8_jumpsuit_Material.csv# +++ /dev/null @@ -1 +0,0 @@ -,shumin,shumin,20.02.2023 16:40,file:///home/shumin/.config/libreoffice/4; \ No newline at end of file diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/10_jumsuit_design.csv b/app/service/attribute_recognition/discriptor/jumpsuit/10_jumsuit_design.csv deleted file mode 100644 index 47d13cf..0000000 --- a/app/service/attribute_recognition/discriptor/jumpsuit/10_jumsuit_design.csv +++ /dev/null @@ -1,17 +0,0 @@ -labelName,join_attr,taskName,taskId -Asymmetrical,attr_Design_J_1,Design,9 -Tassel,attr_Design_J_2,Design,9 -Ruffle,attr_Design_J_3,Design,9 -Pleated,attr_Design_J_4,Design,9 -Wrap,attr_Design_J_5,Design,9 -Cut out,attr_Design_J_6,Design,9 -Tied,attr_Design_J_7,Design,9 -Drapes,attr_Design_J_8,Design,9 -Ribbon,attr_Design_J_9,Design,9 -Button,attr_Design_J_10,Design,9 -Cami,attr_Design_J_11,Design,9 -Gathering,attr_Design_J_12,Design,9 -Pocket,attr_Design_J_13,Design,9 -Dungaree,attr_Design_J_14,Design,9 -Layering,attr_Design_J_15,Design,9 -Belted,attr_Design_J_16,Design,9 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/11_jumpsuit_OPType.csv b/app/service/attribute_recognition/discriptor/jumpsuit/11_jumpsuit_OPType.csv deleted file mode 100644 index 7e8fa63..0000000 --- a/app/service/attribute_recognition/discriptor/jumpsuit/11_jumpsuit_OPType.csv +++ /dev/null @@ -1,5 +0,0 @@ -labelName,join_attr,taskName,taskId -Button,attr_OPType_J_1,Opening_Type,11 -Zipper,attr_OPType_J_2,Opening_Type,11 -Thread,attr_OPType_J_3,Opening_Type,11 -Hook,attr_OPType_J_4,Opening_Type,11 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/12_jumpsuit_subtype.csv b/app/service/attribute_recognition/discriptor/jumpsuit/12_jumpsuit_subtype.csv deleted file mode 100644 index ba7256d..0000000 --- a/app/service/attribute_recognition/discriptor/jumpsuit/12_jumpsuit_subtype.csv +++ /dev/null @@ -1,6 +0,0 @@ -labelName,join_attr,taskName,taskId -Peg leg,attr_Jumpsuit_subtype_1,Subtype,12 -Straight leg,attr_Jumpsuit_subtype_2,Subtype,12 -Wide leg,attr_Jumpsuit_subtype_3,Subtype,12 -Boot-cut flare,attr_Jumpsuit_subtype_4,Subtype,12 -Slim fit,attr_Jumpsuit_subtype_5,Subtype,12 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/1_jumsuit_length.csv b/app/service/attribute_recognition/discriptor/jumpsuit/1_jumsuit_length.csv deleted file mode 100644 index 6a03719..0000000 --- a/app/service/attribute_recognition/discriptor/jumpsuit/1_jumsuit_length.csv +++ /dev/null @@ -1,6 +0,0 @@ -labelName,join_attr,taskName,taskId -Short,attr_Jumpsuit_length_1,Length,1 -Middle,attr_Jumpsuit_length_2,Length,1 -Seven,attr_Jumpsuit_length_3,Length,1 -Nine,attr_Jumpsuit_length_4,Length,1 -Long,attr_Jumpsuit_length_5,Length,1 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/2_jumpsuit_Sleeve_length.csv b/app/service/attribute_recognition/discriptor/jumpsuit/2_jumpsuit_Sleeve_length.csv deleted file mode 100644 index 7d77d7a..0000000 --- a/app/service/attribute_recognition/discriptor/jumpsuit/2_jumpsuit_Sleeve_length.csv +++ /dev/null @@ -1,6 +0,0 @@ -labelName,join_attr,taskName,taskId -Sleeveless,attr_Sleeve_length_J_1,Sleeve_Length,2 -Short,attr_Sleeve_length_J_2,Sleeve_Length,2 -Middle,attr_Sleeve_length_J_3,Sleeve_Length,2 -Seven,attr_Sleeve_length_J_4,Sleeve_Length,2 -Long,attr_Sleeve_length_J_5,Sleeve_Length,2 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/3_jumpsuit_Sleeve_shape.csv b/app/service/attribute_recognition/discriptor/jumpsuit/3_jumpsuit_Sleeve_shape.csv deleted file mode 100644 index c1a9cce..0000000 --- a/app/service/attribute_recognition/discriptor/jumpsuit/3_jumpsuit_Sleeve_shape.csv +++ /dev/null @@ -1,9 +0,0 @@ -labelName,join_attr,taskName,taskId -Regular,attr_Sleeve_shape_J_1,Sleeve_Shape,3 -Slim,attr_Sleeve_shape_J_2,Sleeve_Shape,3 -Puff,attr_Sleeve_shape_J_3,Sleeve_Shape,3 -Bell,attr_Sleeve_shape_J_4,Sleeve_Shape,3 -Batwing,attr_Sleeve_shape_J_5,Sleeve_Shape,3 -Shirt,attr_Sleeve_shape_J_6,Sleeve_Shape,3 -Rib,attr_Sleeve_shape_J_7,Sleeve_Shape,3 -Raglan,attr_Sleeve_shape_J_8,Sleeve_Shape,3 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/4_jumpsuit_Sleeve_shoulder.csv b/app/service/attribute_recognition/discriptor/jumpsuit/4_jumpsuit_Sleeve_shoulder.csv deleted file mode 100644 index 47e067a..0000000 --- a/app/service/attribute_recognition/discriptor/jumpsuit/4_jumpsuit_Sleeve_shoulder.csv +++ /dev/null @@ -1,5 +0,0 @@ -labelName,join_attr,taskName,taskId -Regular,attr_Sleeve_shoulder_J_1,Sleeve_Shoulder,4 -Cold,attr_Sleeve_shoulder_J_2,Sleeve_Shoulder,4 -Tucked,attr_Sleeve_shoulder_J_3,Sleeve_Shoulder,4 -Balmain,attr_Sleeve_shoulder_J_4,Sleeve_Shoulder,4 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/5_jumpsuit_Neckline.csv b/app/service/attribute_recognition/discriptor/jumpsuit/5_jumpsuit_Neckline.csv deleted file mode 100644 index 30c1420..0000000 --- a/app/service/attribute_recognition/discriptor/jumpsuit/5_jumpsuit_Neckline.csv +++ /dev/null @@ -1,7 +0,0 @@ -labelName,join_attr,taskName,taskId -Round,attr_Neckline_1,Neckline,6 -V,attr_Neckline_2,Neckline,6 -Square,attr_Neckline_3,Neckline,6 -One-shoulder,attr_Neckline_4,Neckline,6 -Off-shoulder,attr_Neckline_5,Neckline,6 -Strapless,attr_Neckline_6,Neckline,6 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/6_jumpsuit_Collar.csv b/app/service/attribute_recognition/discriptor/jumpsuit/6_jumpsuit_Collar.csv deleted file mode 100644 index a154c21..0000000 --- a/app/service/attribute_recognition/discriptor/jumpsuit/6_jumpsuit_Collar.csv +++ /dev/null @@ -1,11 +0,0 @@ -labelName,join_attr,taskName,taskId -Peterpan,attr_Collar_J_1,Collar,6 -Shirt,attr_Collar_J_2,Collar,6 -Rib,attr_Collar_J_3,Collar,6 -Turtle,attr_Collar_J_4,Collar,6 -Lapel,attr_Collar_J_5,Collar,6 -Hoodie,attr_Collar_J_6,Collar,6 -Mandarin,attr_Collar_J_7,Collar,6 -Tie,attr_Collar_J_8,Collar,6 -Ruffle,attr_Collar_J_9,Collar,6 -Cowl,attr_Collar_J_10,Collar,6 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/7_jumpsuit_Print.csv b/app/service/attribute_recognition/discriptor/jumpsuit/7_jumpsuit_Print.csv deleted file mode 100644 index 4e3e285..0000000 --- a/app/service/attribute_recognition/discriptor/jumpsuit/7_jumpsuit_Print.csv +++ /dev/null @@ -1,16 +0,0 @@ -labelName,join_attr,taskName,taskId -Abstract,attr_Print_J_1,Print,7 -Allover,attr_Print_J_2,Print,7 -Animal,attr_Print_J_3,Print,7 -Camouflage,attr_Print_J_4,Print,7 -Checks,attr_Print_J_5,Print,7 -Color_block,attr_Print_J_6,Print,7 -Disty Print,attr_Print_J_7,Print,7 -Dotted,attr_Print_J_8,Print,7 -Floral,attr_Print_J_9,Print,7 -Graphic Print,attr_Print_J_10,Print,7 -Logo and slogan,attr_Print_J_11,Print,7 -Patchwork,attr_Print_J_12,Print,7 -Plain,attr_Print_J_13,Print,7 -Plain_dnim,attr_Print_J_14,Print,7 -Stripe,attr_Print_J_15,Print,7 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/8_jumpsuit_Material.csv b/app/service/attribute_recognition/discriptor/jumpsuit/8_jumpsuit_Material.csv deleted file mode 100644 index 558e700..0000000 --- a/app/service/attribute_recognition/discriptor/jumpsuit/8_jumpsuit_Material.csv +++ /dev/null @@ -1,28 +0,0 @@ -labelName,join_attr,taskName,taskId -Canvas,attr_Material_J_1,Material,8 -Chambray,attr_Material_J_2,Material,8 -Chenille,attr_Material_J_3,Material,8 -Chiffon,attr_Material_J_4,Material,8 -Corduroy,attr_Material_J_5,Material,8 -Crepe,attr_Material_J_6,Material,8 -Denim,attr_Material_J_7,Material,8 -Faux_fur,attr_Material_J_8,Material,8 -Faux_leather,attr_Material_J_9,Material,8 -Flannel,attr_Material_J_10,Material,8 -Fleece,attr_Material_J_11,Material,8 -Gingham,attr_Material_J_12,Material,8 -Jersey,attr_Material_J_13,Material,8 -Knit,attr_Material_J_14,Material,8 -Lace,attr_Material_J_15,Material,8 -Lawn,attr_Material_J_16,Material,8 -Neoprene,attr_Material_J_17,Material,8 -Organza,attr_Material_J_18,Material,8 -Plush,attr_Material_J_19,Material,8 -Satin,attr_Material_J_20,Material,8 -Serge,attr_Material_J_21,Material,8 -Taffeta,attr_Material_J_22,Material,8 -Tulle,attr_Material_J_23,Material,8 -Tweed,attr_Material_J_24,Material,8 -Twill,attr_Material_J_25,Material,8 -Velvet,attr_Material_J_26,Material,8 -Vinyl,attr_Material_J_27,Material,8 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/9_jumpsuit_Softness.csv b/app/service/attribute_recognition/discriptor/jumpsuit/9_jumpsuit_Softness.csv deleted file mode 100644 index c1aa4d3..0000000 --- a/app/service/attribute_recognition/discriptor/jumpsuit/9_jumpsuit_Softness.csv +++ /dev/null @@ -1,4 +0,0 @@ -labelName,join_attr,taskName,taskId -Soft,attr_Softness_J_1,Softness,9 -Medium,attr_Softness_J_2,Softness,9 -Hard,attr_Softness_J_3,Softness,9 diff --git a/app/service/attribute_recognition/discriptor/outwear/10_outer_Design.csv b/app/service/attribute_recognition/discriptor/outwear/10_outer_Design.csv deleted file mode 100644 index 61b4cd1..0000000 --- a/app/service/attribute_recognition/discriptor/outwear/10_outer_Design.csv +++ /dev/null @@ -1,19 +0,0 @@ -labelName,join_attr,taskName,taskId -Asymmetrical,attr_Design_O_1,Design,10 -Tiered,attr_Design_O_2,Design,10 -Tassel,attr_Design_O_3,Design,10 -Ruffles,attr_Design_O_4,Design,10 -Pleated,attr_Design_O_5,Design,10 -Wrap,attr_Design_O_6,Design,10 -Ripped,attr_Design_O_7,Design,10 -Cut out,attr_Design_O_8,Design,10 -Eyelet,attr_Design_O_9,Design,10 -Folded,attr_Design_O_10,Design,10 -Tied,attr_Design_O_11,Design,10 -Drapes,attr_Design_O_12,Design,10 -Ribbon,attr_Design_O_13,Design,10 -Button,attr_Design_O_14,Design,10 -Crossed-over zipper,attr_Design_O_15,Design,10 -Crossed-over button,attr_Design_O_16,Design,10 -Single breasted,attr_Design_O_17,Design,10 -Double breasted,attr_Design_O_18,Design,10 diff --git a/app/service/attribute_recognition/discriptor/outwear/11_outer_opening.csv b/app/service/attribute_recognition/discriptor/outwear/11_outer_opening.csv deleted file mode 100644 index d8c5372..0000000 --- a/app/service/attribute_recognition/discriptor/outwear/11_outer_opening.csv +++ /dev/null @@ -1,3 +0,0 @@ -labelName,join_attr,taskName,taskId -Full,attr_Opening_O_1,Opening_Type,11 -Half,attr_Opening_O_2,Opening_Type,11 diff --git a/app/service/attribute_recognition/discriptor/outwear/12_outer_OPType.csv b/app/service/attribute_recognition/discriptor/outwear/12_outer_OPType.csv deleted file mode 100644 index 3e4ee2c..0000000 --- a/app/service/attribute_recognition/discriptor/outwear/12_outer_OPType.csv +++ /dev/null @@ -1,5 +0,0 @@ -labelName,join_attr,taskName,taskId -Button,attr_OPType_O_1,Opening_Type,12 -Zipper,attr_OPType_O_2,Opening_Type,12 -Thread,attr_OPType_O_3,Opening_Type,12 -Hook,attr_OPType_O_4,Opening_Type,12 diff --git a/app/service/attribute_recognition/discriptor/outwear/13_outer_Silhouette.csv b/app/service/attribute_recognition/discriptor/outwear/13_outer_Silhouette.csv deleted file mode 100644 index 7d2c201..0000000 --- a/app/service/attribute_recognition/discriptor/outwear/13_outer_Silhouette.csv +++ /dev/null @@ -1,7 +0,0 @@ -labelName,join_attr,taskName,taskId -A Line,attr_Silhouette_O_1,Silhouette,13 -H Shape,attr_Silhouette_O_2,Silhouette,13 -Slim,attr_Silhouette_O_3,Silhouette,13 -Flyman,attr_Silhouette_O_4,Silhouette,13 -Peplum,attr_Silhouette_O_5,Silhouette,13 -Oversize,attr_Silhouette_O_6,Silhouette,13 diff --git a/app/service/attribute_recognition/discriptor/outwear/1_outer_length.csv b/app/service/attribute_recognition/discriptor/outwear/1_outer_length.csv deleted file mode 100644 index 3784c37..0000000 --- a/app/service/attribute_recognition/discriptor/outwear/1_outer_length.csv +++ /dev/null @@ -1,4 +0,0 @@ -labelName,join_attr,taskName,taskId -Short,attr_Outer_length_1,Length,1 -Regular,attr_Outer_length_2,Length,1 -Long,attr_Outer_length_3,Length,1 \ No newline at end of file diff --git a/app/service/attribute_recognition/discriptor/outwear/2_outer_type.csv b/app/service/attribute_recognition/discriptor/outwear/2_outer_type.csv deleted file mode 100644 index 60b6ae5..0000000 --- a/app/service/attribute_recognition/discriptor/outwear/2_outer_type.csv +++ /dev/null @@ -1,18 +0,0 @@ -labelName,join_attr,taskName,taskId -Coat,attr_Outer_type_1,Type,2 -Trench,attr_Outer_type_2,Type,2 -Baseball jacket,attr_Outer_type_3,Type,2 -Hoodie jacket,attr_Outer_type_4,Type,2 -Active jacket,attr_Outer_type_5,Type,2 -Jacket,attr_Outer_type_6,Type,2 -Blazer,attr_Outer_type_7,Type,2 -Cardigan,attr_Outer_type_8,Type,2 -Capes,attr_Outer_type_9,Type,2 -Fleeces Jacket,attr_Outer_type_10,Type,2 -Gilets/Puffer,attr_Outer_type_11,Type,2 -Aviator jacket,attr_Outer_type_12,Type,2 -Biker jacket,attr_Outer_type_13,Type,2 -Pea coat,attr_Outer_type_14,Type,2 -Shacket,attr_Outer_type_15,Type,2 -Denim jacket,attr_Outer_type_16,Type,2 -Raincoat,attr_Outer_type_17,Type,2 diff --git a/app/service/attribute_recognition/discriptor/outwear/3_outer_sleeve_length.csv b/app/service/attribute_recognition/discriptor/outwear/3_outer_sleeve_length.csv deleted file mode 100644 index 8e35b85..0000000 --- a/app/service/attribute_recognition/discriptor/outwear/3_outer_sleeve_length.csv +++ /dev/null @@ -1,6 +0,0 @@ -labelName,join_attr,taskName,taskId -Sleeveless,attr_sleeve_length_1,Sleeve_Length,3 -Short,attr_sleeve_length_2,Sleeve_Length,3 -Middle,attr_sleeve_length_3,Sleeve_Length,3 -Seven,attr_sleeve_length_4,Sleeve_Length,3 -Long,attr_sleeve_length_5,Sleeve_Length,3 diff --git a/app/service/attribute_recognition/discriptor/outwear/4_outer_sleeve_shape.csv b/app/service/attribute_recognition/discriptor/outwear/4_outer_sleeve_shape.csv deleted file mode 100644 index 4e8f770..0000000 --- a/app/service/attribute_recognition/discriptor/outwear/4_outer_sleeve_shape.csv +++ /dev/null @@ -1,9 +0,0 @@ -labelName,join_attr,taskName,taskId -Regular,attr_sleeve_shape_O_1,Sleeve_Shape,4 -Slim,attr_sleeve_shape_O_2,Sleeve_Shape,4 -Puff,attr_sleeve_shape_O_3,Sleeve_Shape,4 -Bell,attr_sleeve_shape_O_4,Sleeve_Shape,4 -Batwing,attr_sleeve_shape_O_5,Sleeve_Shape,4 -Shirt,attr_sleeve_shape_O_6,Sleeve_Shape,4 -Rib,attr_sleeve_shape_O_7,Sleeve_Shape,4 -Raglan,attr_sleeve_shape_O_8,Sleeve_Shape,4 diff --git a/app/service/attribute_recognition/discriptor/outwear/5_outer_sleeve_shoulder.csv b/app/service/attribute_recognition/discriptor/outwear/5_outer_sleeve_shoulder.csv deleted file mode 100644 index 3e421d0..0000000 --- a/app/service/attribute_recognition/discriptor/outwear/5_outer_sleeve_shoulder.csv +++ /dev/null @@ -1,6 +0,0 @@ -labelName,join_attr,taskName,taskId -Regular,attr_sleeve_shoulder_O_1,Sleeve_Shoulder,5 -Cold,attr_sleeve_shoulder_O_2,Sleeve_Shoulder,5 -Tucked,attr_sleeve_shoulder_O_3,Sleeve_Shoulder,5 -Balmain,attr_sleeve_shoulder_O_4,Sleeve_Shoulder,5 -Drop Shoulder,attr_sleeve_shoulder_O_5,Sleeve_Shoulder,5 diff --git a/app/service/attribute_recognition/discriptor/outwear/6_outer_Collar.csv b/app/service/attribute_recognition/discriptor/outwear/6_outer_Collar.csv deleted file mode 100644 index e261e15..0000000 --- a/app/service/attribute_recognition/discriptor/outwear/6_outer_Collar.csv +++ /dev/null @@ -1,10 +0,0 @@ -labelName,join_attr,taskName,taskId -Peterpan,attr_Callar_O_1,Collar,6 -Shirt,attr_Callar_O_2,Collar,6 -Rib,attr_Callar_O_3,Collar,6 -Turtle,attr_Callar_O_4,Collar,6 -Lapel,attr_Callar_O_5,Collar,6 -Hoodie,attr_Callar_O_6,Collar,6 -Mandarin,attr_Callar_O_7,Collar,6 -Ruffle,attr_Callar_O_8,Collar,6 -Jewel,attr_Callar_O_9,Collar,6 diff --git a/app/service/attribute_recognition/discriptor/outwear/7_outer_Print.csv b/app/service/attribute_recognition/discriptor/outwear/7_outer_Print.csv deleted file mode 100644 index cb5695d..0000000 --- a/app/service/attribute_recognition/discriptor/outwear/7_outer_Print.csv +++ /dev/null @@ -1,16 +0,0 @@ -labelName,join_attr,taskName,taskId -Abstract,attr_Print_O_1,Print,7 -Allover,attr_Print_O_2,Print,7 -Animal,attr_Print_O_3,Print,7 -Camouflage,attr_Print_O_4,Print,7 -Checks,attr_Print_O_5,Print,7 -Color_block,attr_Print_O_6,Print,7 -Disty print,attr_Print_O_7,Print,7 -Dotted,attr_Print_O_8,Print,7 -Floral,attr_Print_O_9,Print,7 -Graphic print,attr_Print_O_10,Print,7 -Logo and slogan,attr_Print_O_11,Print,7 -Patchwork,attr_Print_O_12,Print,7 -Plain,attr_Print_O_13,Print,7 -Plain_dnim,attr_Print_O_14,Print,7 -Stripe,attr_Print_O_15,Print,7 diff --git a/app/service/attribute_recognition/discriptor/outwear/8_outer_Material.csv b/app/service/attribute_recognition/discriptor/outwear/8_outer_Material.csv deleted file mode 100644 index 2db5c94..0000000 --- a/app/service/attribute_recognition/discriptor/outwear/8_outer_Material.csv +++ /dev/null @@ -1,28 +0,0 @@ -labelName,join_attr,taskName,taskId -Canvas,attr_Material_O_1,Material,8 -Chambray,attr_Material_O_2,Material,8 -Chenille,attr_Material_O_3,Material,8 -Chiffon,attr_Material_O_4,Material,8 -Corduroy,attr_Material_O_5,Material,8 -Crepe,attr_Material_O_6,Material,8 -Denim,attr_Material_O_7,Material,8 -Faux_fur,attr_Material_O_8,Material,8 -Faux_leather,attr_Material_O_9,Material,8 -Flannel,attr_Material_O_10,Material,8 -Fleece,attr_Material_O_11,Material,8 -Gingham,attr_Material_O_12,Material,8 -Jersey,attr_Material_O_13,Material,8 -Knit,attr_Material_O_14,Material,8 -Lace,attr_Material_O_15,Material,8 -Lawn,attr_Material_O_16,Material,8 -Neoprene,attr_Material_O_17,Material,8 -Organza,attr_Material_O_18,Material,8 -Plush,attr_Material_O_19,Material,8 -Satin,attr_Material_O_20,Material,8 -Serge,attr_Material_O_21,Material,8 -Taffeta,attr_Material_O_22,Material,8 -Tulle,attr_Material_O_23,Material,8 -Tweed,attr_Material_O_24,Material,8 -Twill,attr_Material_O_25,Material,8 -Velvet,attr_Material_O_26,Material,8 -Vinyl,attr_Material_O_27,Material,8 diff --git a/app/service/attribute_recognition/discriptor/outwear/9_outer_Softness.csv b/app/service/attribute_recognition/discriptor/outwear/9_outer_Softness.csv deleted file mode 100644 index 785de6c..0000000 --- a/app/service/attribute_recognition/discriptor/outwear/9_outer_Softness.csv +++ /dev/null @@ -1,4 +0,0 @@ -labelName,join_attr,taskName,taskId -Soft,attr_Softness_O_1,Softness,9 -Medium,attr_Softness_O_2,Softness,9 -Hard,attr_Softness_O_3,Softness,9 diff --git a/app/service/attribute_recognition/discriptor/top/10_top_Design.csv b/app/service/attribute_recognition/discriptor/top/10_top_Design.csv deleted file mode 100644 index 0ee8255..0000000 --- a/app/service/attribute_recognition/discriptor/top/10_top_Design.csv +++ /dev/null @@ -1,15 +0,0 @@ -labelName,join_attr,taskName,taskId -Asymmetrical,attr_Design_U_1,Design,10 -Tiered,attr_Design_U_2,Design,10 -Tassel,attr_Design_U_3,Design,10 -Ruffle,attr_Design_U_4,Design,10 -Pleated,attr_Design_U_5,Design,10 -Wrap,attr_Design_U_6,Design,10 -Ripped,attr_Design_U_7,Design,10 -Cut out,attr_Design_U_8,Design,10 -Eyelet,attr_Design_U_9,Design,10 -Folded,attr_Design_U_10,Design,10 -Tied,attr_Design_U_11,Design,10 -Drapes,attr_Design_U_12,Design,10 -Ribbon,attr_Design_U_13,Design,10 -Button,attr_Design_U_14,Design,10 diff --git a/app/service/attribute_recognition/discriptor/top/11_top_OPType.csv b/app/service/attribute_recognition/discriptor/top/11_top_OPType.csv deleted file mode 100644 index 870631b..0000000 --- a/app/service/attribute_recognition/discriptor/top/11_top_OPType.csv +++ /dev/null @@ -1,5 +0,0 @@ -labelName,join_attr,taskName,taskId -Button,attr_OPType_U_1,Opening_Type,11 -Zipper,attr_OPType_U_2,Opening_Type,11 -Thread,attr_OPType_U_3,Opening_Type,11 -Hook,attr_OPType_U_4,Opening_Type,11 diff --git a/app/service/attribute_recognition/discriptor/top/12_top_Silhouette.csv b/app/service/attribute_recognition/discriptor/top/12_top_Silhouette.csv deleted file mode 100644 index 49c7db5..0000000 --- a/app/service/attribute_recognition/discriptor/top/12_top_Silhouette.csv +++ /dev/null @@ -1,7 +0,0 @@ -labelName,join_attr,taskName,taskId -A Line,attr_Silhouette_U_1,Silhouette,12 -H Shape,attr_Silhouette_U_2,Silhouette,12 -Slim,attr_Silhouette_U_3,Silhouette,12 -Flyman,attr_Silhouette_U_4,Silhouette,12 -Peplum,attr_Silhouette_U_5,Silhouette,12 -Oversize,attr_Silhouette_U_6,Silhouette,12 diff --git a/app/service/attribute_recognition/discriptor/top/1_top_length.csv b/app/service/attribute_recognition/discriptor/top/1_top_length.csv deleted file mode 100644 index 49903cc..0000000 --- a/app/service/attribute_recognition/discriptor/top/1_top_length.csv +++ /dev/null @@ -1,4 +0,0 @@ -labelName,join_attr,taskName,taskId -Short,attr_Top_length_1,Length,1 -Regular,attr_Top_length_2,Length,1 -Long,attr_Top_length_3,Length,1 diff --git a/app/service/attribute_recognition/discriptor/top/2_top_type.csv b/app/service/attribute_recognition/discriptor/top/2_top_type.csv deleted file mode 100644 index 01cc5e0..0000000 --- a/app/service/attribute_recognition/discriptor/top/2_top_type.csv +++ /dev/null @@ -1,15 +0,0 @@ -labelName,join_attr,taskName,taskId -Bandeau,attr_toptype_1,Type,2 -Blouse,attr_toptype_2,Type,2 -Bodysuit,attr_toptype_3,Type,2 -Bralets,attr_toptype_4,Type,2 -Camisole,attr_toptype_5,Type,2 -Crop Top,attr_toptype_6,Type,2 -Hoodie,attr_toptype_7,Type,2 -Pullover,attr_toptype_8,Type,2 -Polo shirt,attr_toptype_9,Type,2 -Shirt,attr_toptype_10,Type,2 -strapeless,attr_toptype_11,Type,2 -Sweater,attr_toptype_12,Type,2 -Tank Top,attr_toptype_13,Type,2 -T-shirt,attr_toptype_14,Type,2 diff --git a/app/service/attribute_recognition/discriptor/top/3_top_Sleeve_length.csv b/app/service/attribute_recognition/discriptor/top/3_top_Sleeve_length.csv deleted file mode 100644 index 1f2a0f3..0000000 --- a/app/service/attribute_recognition/discriptor/top/3_top_Sleeve_length.csv +++ /dev/null @@ -1,6 +0,0 @@ -labelName,join_attr,taskName,taskId -Sleeveless,attr_Sleeve_length_1,Sleeve_Length,3 -Short,attr_Sleeve_length_2,Sleeve_Length,3 -Middle,attr_Sleeve_length_3,Sleeve_Length,3 -Seven,attr_Sleeve_length_4,Sleeve_Length,3 -Long,attr_Sleeve_length_5,Sleeve_Length,3 diff --git a/app/service/attribute_recognition/discriptor/top/4_top_Sleeve_shape.csv b/app/service/attribute_recognition/discriptor/top/4_top_Sleeve_shape.csv deleted file mode 100644 index d429c11..0000000 --- a/app/service/attribute_recognition/discriptor/top/4_top_Sleeve_shape.csv +++ /dev/null @@ -1,9 +0,0 @@ -labelName,join_attr,taskName,taskId -Regular,attr_Sleeve_shape_1,Sleeve_Shape,4 -Slim,attr_Sleeve_shape_2,Sleeve_Shape,4 -Puff,attr_Sleeve_shape_3,Sleeve_Shape,4 -Bell,attr_Sleeve_shape_4,Sleeve_Shape,4 -Batwing,attr_Sleeve_shape_5,Sleeve_Shape,4 -Shirt,attr_Sleeve_shape_6,Sleeve_Shape,4 -Rib,attr_Sleeve_shape_7,Sleeve_Shape,4 -Raglan,attr_Sleeve_shape_8,Sleeve_Shape,4 diff --git a/app/service/attribute_recognition/discriptor/top/5_top_Sleeve_shoulder.csv b/app/service/attribute_recognition/discriptor/top/5_top_Sleeve_shoulder.csv deleted file mode 100644 index c31e7ea..0000000 --- a/app/service/attribute_recognition/discriptor/top/5_top_Sleeve_shoulder.csv +++ /dev/null @@ -1,5 +0,0 @@ -labelName,join_attr,taskName,taskId -Regular,attr_Sleeve_shoulder_1,Sleeve_Shoulder,5 -Cold,attr_Sleeve_shoulder_2,Sleeve_Shoulder,5 -Tucked,attr_Sleeve_shoulder_3,Sleeve_Shoulder,5 -Balmain,attr_Sleeve_shoulder_4,Sleeve_Shoulder,5 diff --git a/app/service/attribute_recognition/discriptor/top/6_top_Neckline.csv b/app/service/attribute_recognition/discriptor/top/6_top_Neckline.csv deleted file mode 100644 index 30c1420..0000000 --- a/app/service/attribute_recognition/discriptor/top/6_top_Neckline.csv +++ /dev/null @@ -1,7 +0,0 @@ -labelName,join_attr,taskName,taskId -Round,attr_Neckline_1,Neckline,6 -V,attr_Neckline_2,Neckline,6 -Square,attr_Neckline_3,Neckline,6 -One-shoulder,attr_Neckline_4,Neckline,6 -Off-shoulder,attr_Neckline_5,Neckline,6 -Strapless,attr_Neckline_6,Neckline,6 diff --git a/app/service/attribute_recognition/discriptor/top/7_outer_Print.csv b/app/service/attribute_recognition/discriptor/top/7_outer_Print.csv deleted file mode 100644 index cb5695d..0000000 --- a/app/service/attribute_recognition/discriptor/top/7_outer_Print.csv +++ /dev/null @@ -1,16 +0,0 @@ -labelName,join_attr,taskName,taskId -Abstract,attr_Print_O_1,Print,7 -Allover,attr_Print_O_2,Print,7 -Animal,attr_Print_O_3,Print,7 -Camouflage,attr_Print_O_4,Print,7 -Checks,attr_Print_O_5,Print,7 -Color_block,attr_Print_O_6,Print,7 -Disty print,attr_Print_O_7,Print,7 -Dotted,attr_Print_O_8,Print,7 -Floral,attr_Print_O_9,Print,7 -Graphic print,attr_Print_O_10,Print,7 -Logo and slogan,attr_Print_O_11,Print,7 -Patchwork,attr_Print_O_12,Print,7 -Plain,attr_Print_O_13,Print,7 -Plain_dnim,attr_Print_O_14,Print,7 -Stripe,attr_Print_O_15,Print,7 diff --git a/app/service/attribute_recognition/discriptor/top/7_top_Collar.csv b/app/service/attribute_recognition/discriptor/top/7_top_Collar.csv deleted file mode 100644 index a30c014..0000000 --- a/app/service/attribute_recognition/discriptor/top/7_top_Collar.csv +++ /dev/null @@ -1,11 +0,0 @@ -labelName,join_attr,taskName,taskId -Peterpan,attr_Collar_1,Collar,7 -Shirt,attr_Collar_2,Collar,7 -Rib,attr_Collar_3,Collar,7 -Turtle,attr_Collar_4,Collar,7 -Lapel,attr_Collar_5,Collar,7 -Hoodie,attr_Collar_6,Collar,7 -Mandarin,attr_Collar_7,Collar,7 -Tie,attr_Collar_8,Collar,7 -Ruffle,attr_Collar_9,Collar,7 -Cowl,attr_Collar_10,Collar,7 diff --git a/app/service/attribute_recognition/discriptor/top/8_outer_Material.csv b/app/service/attribute_recognition/discriptor/top/8_outer_Material.csv deleted file mode 100644 index 2db5c94..0000000 --- a/app/service/attribute_recognition/discriptor/top/8_outer_Material.csv +++ /dev/null @@ -1,28 +0,0 @@ -labelName,join_attr,taskName,taskId -Canvas,attr_Material_O_1,Material,8 -Chambray,attr_Material_O_2,Material,8 -Chenille,attr_Material_O_3,Material,8 -Chiffon,attr_Material_O_4,Material,8 -Corduroy,attr_Material_O_5,Material,8 -Crepe,attr_Material_O_6,Material,8 -Denim,attr_Material_O_7,Material,8 -Faux_fur,attr_Material_O_8,Material,8 -Faux_leather,attr_Material_O_9,Material,8 -Flannel,attr_Material_O_10,Material,8 -Fleece,attr_Material_O_11,Material,8 -Gingham,attr_Material_O_12,Material,8 -Jersey,attr_Material_O_13,Material,8 -Knit,attr_Material_O_14,Material,8 -Lace,attr_Material_O_15,Material,8 -Lawn,attr_Material_O_16,Material,8 -Neoprene,attr_Material_O_17,Material,8 -Organza,attr_Material_O_18,Material,8 -Plush,attr_Material_O_19,Material,8 -Satin,attr_Material_O_20,Material,8 -Serge,attr_Material_O_21,Material,8 -Taffeta,attr_Material_O_22,Material,8 -Tulle,attr_Material_O_23,Material,8 -Tweed,attr_Material_O_24,Material,8 -Twill,attr_Material_O_25,Material,8 -Velvet,attr_Material_O_26,Material,8 -Vinyl,attr_Material_O_27,Material,8 diff --git a/app/service/attribute_recognition/discriptor/top/9_top_Softness.csv b/app/service/attribute_recognition/discriptor/top/9_top_Softness.csv deleted file mode 100644 index dc8b5f0..0000000 --- a/app/service/attribute_recognition/discriptor/top/9_top_Softness.csv +++ /dev/null @@ -1,4 +0,0 @@ -labelName,join_attr,taskName,taskId -Soft,attr_Softness_U_1,Softness,9 -Medium,attr_Softness_U_2,Softness,9 -Hard,attr_Softness_U_3,Softness,9 diff --git a/app/service/attribute_recognition/discriptor/top/ori10_top_Softness.csv b/app/service/attribute_recognition/discriptor/top/ori10_top_Softness.csv deleted file mode 100644 index 6f24145..0000000 --- a/app/service/attribute_recognition/discriptor/top/ori10_top_Softness.csv +++ /dev/null @@ -1,4 +0,0 @@ -labelName,join_attr,taskName,taskId -Soft,attr_Softness_U_1,Softness,10 -Medium,attr_Softness_U_2,Softness,10 -Hard,attr_Softness_U_3,Softness,10 diff --git a/app/service/attribute_recognition/discriptor/top/ori11_top_Design.csv b/app/service/attribute_recognition/discriptor/top/ori11_top_Design.csv deleted file mode 100644 index deb9395..0000000 --- a/app/service/attribute_recognition/discriptor/top/ori11_top_Design.csv +++ /dev/null @@ -1,16 +0,0 @@ -labelName,join_attr,taskName,taskId -Asymmetrical,attr_Design_U_1,Design,11 -Tiered,attr_Design_U_2,Design,11 -Tassel,attr_Design_U_3,Design,11 -Ruffle,attr_Design_U_4,Design,11 -Pleated,attr_Design_U_5,Design,11 -Wrap,attr_Design_U_6,Design,11 -Ripped,attr_Design_U_7,Design,11 -Cut out,attr_Design_U_8,Design,11 -Eyelet,attr_Design_U_9,Design,11 -Folded,attr_Design_U_10,Design,11 -Tied,attr_Design_U_11,Design,11 -Drapes,attr_Design_U_12,Design,11 -Ribbon,attr_Design_U_13,Design,11 -Button,attr_Design_U_14,Design,11 -Gathering,attr_Design_U_15,Design,11 diff --git a/app/service/attribute_recognition/discriptor/top/ori12_top_OPType.csv b/app/service/attribute_recognition/discriptor/top/ori12_top_OPType.csv deleted file mode 100644 index 98e65c6..0000000 --- a/app/service/attribute_recognition/discriptor/top/ori12_top_OPType.csv +++ /dev/null @@ -1,5 +0,0 @@ -labelName,join_attr,taskName,taskId -Button,attr_OPType_U_1,Opening_Type,12 -Zipper,attr_OPType_U_2,Opening_Type,12 -Thread,attr_OPType_U_3,Opening_Type,12 -Hook,attr_OPType_U_4,Opening_Type,12 diff --git a/app/service/attribute_recognition/discriptor/top/ori13_top_Silhouette.csv b/app/service/attribute_recognition/discriptor/top/ori13_top_Silhouette.csv deleted file mode 100644 index a746198..0000000 --- a/app/service/attribute_recognition/discriptor/top/ori13_top_Silhouette.csv +++ /dev/null @@ -1,7 +0,0 @@ -labelName,join_attr,taskName,taskId -A Line,attr_Silhouette_U_1,Silhouette,13 -H Shape,attr_Silhouette_U_2,Silhouette,13 -Slim,attr_Silhouette_U_3,Silhouette,13 -Flyman,attr_Silhouette_U_4,Silhouette,13 -Peplum,attr_Silhouette_U_5,Silhouette,13 -Oversize,attr_Silhouette_U_6,Silhouette,13 diff --git a/app/service/attribute_recognition/discriptor/top/ori1_Top_length.csv b/app/service/attribute_recognition/discriptor/top/ori1_Top_length.csv deleted file mode 100644 index 49903cc..0000000 --- a/app/service/attribute_recognition/discriptor/top/ori1_Top_length.csv +++ /dev/null @@ -1,4 +0,0 @@ -labelName,join_attr,taskName,taskId -Short,attr_Top_length_1,Length,1 -Regular,attr_Top_length_2,Length,1 -Long,attr_Top_length_3,Length,1 diff --git a/app/service/attribute_recognition/discriptor/top/ori2_Top_type.csv b/app/service/attribute_recognition/discriptor/top/ori2_Top_type.csv deleted file mode 100644 index cf60dbb..0000000 --- a/app/service/attribute_recognition/discriptor/top/ori2_Top_type.csv +++ /dev/null @@ -1,15 +0,0 @@ -labelName,join_attr,taskName,taskId -Blouse,attr_Top_type_1,Type,2 -Camisole,attr_Top_type_2,Type,2 -Shirt,attr_Top_type_3,Type,2 -T-shirt,attr_Top_type_4,Type,2 -Jumper-Pullover,attr_Top_type_5,Type,2 -Hoodie,attr_Top_type_6,Type,2 -Tank Top,attr_Top_type_7,Type,2 -Polo shirt,attr_Top_type_8,Type,2 -Crop Top,attr_Top_type_9,Type,2 -Bralets,attr_Top_type_10,Type,2 -Bodysuit,attr_Top_type_11,Type,2 -Bandeau,attr_Top_type_12,Type,2 -Sweater,attr_Top_type_13,Type,2 -Strapless,attr_Top_type_14,Type,2 diff --git a/app/service/attribute_recognition/discriptor/top/ori3_top_Sleeve_length.csv b/app/service/attribute_recognition/discriptor/top/ori3_top_Sleeve_length.csv deleted file mode 100644 index 3549164..0000000 --- a/app/service/attribute_recognition/discriptor/top/ori3_top_Sleeve_length.csv +++ /dev/null @@ -1,6 +0,0 @@ -labelName,join_attr,taskName,taskId -Sleeveless,attr_Sleeve_length_U_1,Sleeve_Length,3 -Short,attr_Sleeve_length_U_2,Sleeve_Length,3 -Middle,attr_Sleeve_length_U_3,Sleeve_Length,3 -Seven,attr_Sleeve_length_U_4,Sleeve_Length,3 -Long,attr_Sleeve_length_U_5,Sleeve_Length,3 diff --git a/app/service/attribute_recognition/discriptor/top/ori4_top_Sleeve_shape.csv b/app/service/attribute_recognition/discriptor/top/ori4_top_Sleeve_shape.csv deleted file mode 100644 index 15517c5..0000000 --- a/app/service/attribute_recognition/discriptor/top/ori4_top_Sleeve_shape.csv +++ /dev/null @@ -1,9 +0,0 @@ -labelName,join_attr,taskName,taskId -Regular,attr_Sleeve_shape_U_1,Sleeve_Shape,4 -Slim,attr_Sleeve_shape_U_2,Sleeve_Shape,4 -Puff,attr_Sleeve_shape_U_3,Sleeve_Shape,4 -Bell,attr_Sleeve_shape_U_4,Sleeve_Shape,4 -Batwing,attr_Sleeve_shape_U_5,Sleeve_Shape,4 -Shirt,attr_Sleeve_shape_U_6,Sleeve_Shape,4 -Rib,attr_Sleeve_shape_U_7,Sleeve_Shape,4 -Raglan,attr_Sleeve_shape_U_8,Sleeve_Shape,4 diff --git a/app/service/attribute_recognition/discriptor/top/ori5_top_Sleeve_shoulder.csv b/app/service/attribute_recognition/discriptor/top/ori5_top_Sleeve_shoulder.csv deleted file mode 100644 index 9a051a1..0000000 --- a/app/service/attribute_recognition/discriptor/top/ori5_top_Sleeve_shoulder.csv +++ /dev/null @@ -1,5 +0,0 @@ -labelName,join_attr,taskName,taskId -Regular,attr_Sleeve_shoulder_U_1,Sleeve_Shoulder,5 -Cold,attr_Sleeve_shoulder_U_2,Sleeve_Shoulder,5 -Tucked,attr_Sleeve_shoulder_U_3,Sleeve_Shoulder,5 -Balmain,attr_Sleeve_shoulder_U_4,Sleeve_Shoulder,5 diff --git a/app/service/attribute_recognition/discriptor/top/ori6_top_Neckline.csv b/app/service/attribute_recognition/discriptor/top/ori6_top_Neckline.csv deleted file mode 100644 index bb6dc62..0000000 --- a/app/service/attribute_recognition/discriptor/top/ori6_top_Neckline.csv +++ /dev/null @@ -1,16 +0,0 @@ -labelName,join_attr,taskName,taskId -Round,attr_Neckline_U_1,Neckline,6 -V,attr_Neckline_U_2,Neckline,6 -Square,attr_Neckline_U_3,Neckline,6 -One-shoulder,attr_Neckline_U_4,Neckline,6 -Off-shoulder,attr_Neckline_U_5,Neckline,6 -Strapless,attr_Neckline_U_6,Neckline,6 -boat,attr_Neckline_U_7,Neckline,6 -choker,attr_Neckline_U_8,Neckline,6 -cowl,attr_Neckline_U_9,Neckline,6 -halter,attr_Neckline_U_10,Neckline,6 -keyhole,attr_Neckline_U_11,Neckline,6 -spaghetti,attr_Neckline_U_12,Neckline,6 -split,attr_Neckline_U_13,Neckline,6 -sweetheart,attr_Neckline_U_14,Neckline,6 -U,attr_Neckline_U_15,Neckline,6 diff --git a/app/service/attribute_recognition/discriptor/top/ori7_top_Collar.csv b/app/service/attribute_recognition/discriptor/top/ori7_top_Collar.csv deleted file mode 100644 index 1c9f028..0000000 --- a/app/service/attribute_recognition/discriptor/top/ori7_top_Collar.csv +++ /dev/null @@ -1,11 +0,0 @@ -labelName,join_attr,taskName,taskId -Peterpan-Bertha,attr_Collar_U_1,Collar,7 -Shirt,attr_Collar_U_2,Collar,7 -Rib,attr_Collar_U_3,Collar,7 -Turtle,attr_Collar_U_4,Collar,7 -Lapel,attr_Collar_U_5,Collar,7 -Hoodie,attr_Collar_U_6,Collar,7 -Mandarin,attr_Collar_U_7,Collar,7 -Tie,attr_Collar_U_8,Collar,7 -Ruffle,attr_Collar_U_9,Collar,7 -Cowl,attr_Collar_U_10,Collar,7 diff --git a/app/service/attribute_recognition/discriptor/top/ori8_top_Print.csv b/app/service/attribute_recognition/discriptor/top/ori8_top_Print.csv deleted file mode 100644 index 9eeeb2c..0000000 --- a/app/service/attribute_recognition/discriptor/top/ori8_top_Print.csv +++ /dev/null @@ -1,16 +0,0 @@ -labelName,join_attr,taskName,taskId -abstract,attr_Print_U_1,Print,8 -allover,attr_Print_U_2,Print,8 -animal printed,attr_Print_U_3,Print,8 -Camouflage,attr_Print_U_4,Print,8 -checks,attr_Print_U_5,Print,8 -color_block,attr_Print_U_6,Print,8 -disty print,attr_Print_U_7,Print,8 -dotted,attr_Print_U_8,Print,8 -floral,attr_Print_U_9,Print,8 -graphic print,attr_Print_U_10,Print,8 -logo and slogan print,attr_Print_U_11,Print,8 -patchwork,attr_Print_U_12,Print,8 -plain,attr_Print_U_13,Print,8 -plain_dnim,attr_Print_U_14,Print,8 -stripe,attr_Print_U_15,Print,8 diff --git a/app/service/attribute_recognition/discriptor/top/ori9_top_Material.csv b/app/service/attribute_recognition/discriptor/top/ori9_top_Material.csv deleted file mode 100644 index 795c3c9..0000000 --- a/app/service/attribute_recognition/discriptor/top/ori9_top_Material.csv +++ /dev/null @@ -1,28 +0,0 @@ -labelName,join_attr,taskName,taskId -canvas,attr_Material_U_1,Material,9 -chambray,attr_Material_U_2,Material,9 -chenille,attr_Material_U_3,Material,9 -chiffon,attr_Material_U_4,Material,9 -corduroy,attr_Material_U_5,Material,9 -crepe,attr_Material_U_6,Material,9 -denim,attr_Material_U_7,Material,9 -faux_fur,attr_Material_U_8,Material,9 -faux_leather,attr_Material_U_9,Material,9 -flannel,attr_Material_U_10,Material,9 -fleece,attr_Material_U_11,Material,9 -gingham,attr_Material_U_12,Material,9 -jersey,attr_Material_U_13,Material,9 -knit,attr_Material_U_14,Material,9 -lace,attr_Material_U_15,Material,9 -lawn,attr_Material_U_16,Material,9 -neoprene,attr_Material_U_17,Material,9 -organza,attr_Material_U_18,Material,9 -plush,attr_Material_U_19,Material,9 -satin,attr_Material_U_20,Material,9 -serge,attr_Material_U_21,Material,9 -taffeta,attr_Material_U_22,Material,9 -tulle,attr_Material_U_23,Material,9 -tweed,attr_Material_U_24,Material,9 -twill,attr_Material_U_25,Material,9 -velvet,attr_Material_U_26,Material,9 -vinyl,attr_Material_U_27,Material,9 diff --git a/app/service/attribute_recognition/service.py b/app/service/attribute_recognition/service.py deleted file mode 100644 index 5ca5927..0000000 --- a/app/service/attribute_recognition/service.py +++ /dev/null @@ -1,215 +0,0 @@ -import datetime -from pprint import pprint - -import mmcv -import cv2 -import numpy as np -import requests -import torch -import tritonclient.http as httpclient -from PIL import Image -from skimage import transform -from torchvision import transforms -import pandas as pd -from minio import Minio - -from app.core.config import MINIO_IP, MINIO_PORT, MINIO_SECURE, MINIO_ACCESS, MINIO_SECRET, ATT_TRITON_IP, ATT_TRITON_PORT - - -def Merge(dict1, dict2): - res = {**dict1, **dict2} - return res - - -class Rescale(object): - """Rescale the image in a sample to a given size. - - Args: - output_size (tuple or int): Desired output size. If tuple, output is - matched to output_size. If int, smaller of image edges is matched - to output_size keeping aspect ratio the same. - """ - - def __init__(self, output_size): - assert isinstance(output_size, (int, tuple)) - self.output_size = output_size - - def __call__(self, image, landmarks): - h, w = image.shape[:2] - if isinstance(self.output_size, int): - if h > w: - new_h, new_w = self.output_size * h / w, self.output_size - else: - new_h, new_w = self.output_size, self.output_size * w / h - else: - new_h, new_w = self.output_size - - new_h, new_w = int(new_h), int(new_w) - img = transform.resize(image, (new_h, new_w), mode='constant') - # h and w are swapped for landmarks because for images, - # x and y axes are axis 1 and 0 respectively - landmarks = landmarks * [new_w / w, new_h / h] - return img, landmarks - - -class AttributeRecognition: - def __init__(self): - self.httpclient = httpclient.InferenceServerClient(url=f"{ATT_TRITON_IP}:{ATT_TRITON_PORT}") - self.minio_client = Minio( - f"{MINIO_IP}:{MINIO_PORT}", - access_key=MINIO_ACCESS, - secret_key=MINIO_SECRET, - secure=MINIO_SECURE) - - def get_image(self, url): - # Get data of an object. - # Read data from response. - response = self.minio_client.get_object(url.split("/", 1)[0], url.split("/", 1)[1]) - img = np.frombuffer(response.data, np.uint8) # 转成8位无符号整型 - img = cv2.imdecode(img, cv2.IMREAD_COLOR) # 解码 - img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) - return img - - def preprocess(self, img_url): - img = self.get_image(img_url) - img = mmcv.imread(img) - ori_shape = img.shape[:2] - img_scale = (224, 224) - scale_factor = [] - img, x, y = mmcv.imresize(img, img_scale, return_scale=True) - scale_factor.append(x) - scale_factor.append(y) - img = mmcv.imnormalize(img, mean=np.array([123.675, 116.28, 103.53]), std=np.array([58.395, 57.12, 57.375]), to_rgb=True) - preprocessed_img = np.expand_dims(img.transpose(2, 0, 1), axis=0) - return preprocessed_img - - def attribute(self, args, request_data): - - final_dict = {} - - for l in range(len(request_data.upload_img_path)): - img_path = request_data.upload_img_path[l] - sample = self.preprocess(img_path) - category_model_path = args.category_model - category_description = args.category_discription - category_list = self.get_attribute(category_model_path, category_description, sample)['category'] - - if len(category_list) >= 1: - category = category_list[0] - print(category) - - if category == 'top': - attr_dict = {'Item': category} - for i in range(len(args.top_discription_list)): - # print('top: ', i) - attr_description = args.top_discription_list[i] - attr_model_path = args.top_model_list[i] - present_dict = self.get_attribute(attr_model_path, attr_description, sample) - attr_dict = Merge(attr_dict, present_dict) - - elif category == 'pants': - attr_dict = {} - category = 'bottom' - attr_dict['Item'] = category - attr_dict['BTM_Type'] = ['Pants'] - for i in range(len(args.bottom_discription_list)): - attr_description = args.bottom_discription_list[i] - attr_model_path = args.bottom_model_list[i] - present_dict = self.get_attribute(attr_model_path, attr_description, sample) - attr_dict = Merge(attr_dict, present_dict) - - elif category == 'skirt': - attr_dict = {'BTM_Type': ['Skirt']} - category = 'bottom' - attr_dict['Item'] = category - for i in range(len(args.bottom_discription_list)): - attr_description = args.bottom_discription_list[i] - attr_model_path = args.bottom_model_list[i] - present_dict = self.get_attribute(attr_model_path, attr_description, sample) - attr_dict = Merge(attr_dict, present_dict) - - elif category == 'dress': - attr_dict = {'Item': category} - for i in range(len(args.dress_discription_list)): - attr_description = args.dress_discription_list[i] - attr_model_path = args.dress_model_list[i] - present_dict = self.get_attribute(attr_model_path, attr_description, sample) - attr_dict = Merge(attr_dict, present_dict) - - elif category == 'outwear': - attr_dict = {'Item': 'outer'} - - for i in range(len(args.outwear_discription_list)): - attr_description = args.outwear_discription_list[i] - attr_model_path = args.outwear_model_list[i] - present_dict = self.get_attribute(attr_model_path, attr_description, sample) - attr_dict = Merge(attr_dict, present_dict) - - elif category == 'jumpsuit': - attr_dict = {'Item': 'jumpsuit'} - for i in range(len(args.jumpsuit_discription_list)): - attr_description = args.jumpsuit_discription_list[i] - attr_model_path = args.jumpsuit_model_list[i] - present_dict = self.get_attribute(attr_model_path, attr_description, sample) - attr_dict = Merge(attr_dict, present_dict) - else: - attr_dict = {} - - print('attr_dict: ', attr_dict) - final_dict[request_data.upload_img_id[l]] = attr_dict - return final_dict - - def get_attribute(self, model_name, description, image): - attr_type = pd.read_csv(description) - inputs = [ - httpclient.InferInput("input__0", image.shape, datatype="FP32") - ] - inputs[0].set_data_from_numpy(image, binary_data=True) - results = self.httpclient.infer(model_name=model_name, inputs=inputs) - inference_output = torch.from_numpy(results.as_numpy(f"output__0")) - scores = inference_output.detach().numpy() - colattr = list(attr_type['labelName']) - task = attr_type['taskName'][0] - if task == 'category': - print(scores, type(scores)) - maxsc = np.max(scores) - if maxsc > 0: - indexs = np.argwhere(scores == maxsc)[:, 1] - else: - attr = {'category': []} - return attr - elif task[:-2] == 'Print' or task[:-2] == 'Material': - # maxsc = np.max(scores) - scores[scores > 0] = 1 - scores[scores <= 0] = 0 - indexs = np.argwhere(scores == 1)[:, 1] - # if maxsc> 0: - # indexs = np.argwhere(scores == maxsc)[:,1] - - else: - maxsc = np.max(scores) - print(maxsc) - if maxsc > 0: - indexs = np.argwhere(scores == maxsc)[:, 1] - else: - indexs = [] - # scores[scores > 0] = 1 - # scores[scores <= 0] = 0 - # indexs = np.argwhere(scores == 1)[:,1] - - attr = {} - attr[task] = [] - for i in range(len(indexs)): - # print('i and indexs: ', i, indexs, indexs[i], type(indexs[i]), colattr[indexs[i]]) - atr = colattr[indexs[i]] - # print('corresponeding atr: ', atr) - attr[task].append(atr) - return attr - - -if __name__ == '__main__': - from app.service.attribute_recognition import const_debug - - request_data = {'upload_img_path': ['./test_top1.jpg'], 'upload_img_id': ["2"]} - service = AttributeRecognition() - pprint(service.attribute(const_debug, request_data)) diff --git a/app/service/outfit_matcher/__init__.py b/app/service/outfit_matcher/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/app/service/outfit_matcher/color/MKTS27000.npy b/app/service/outfit_matcher/color/MKTS27000.npy deleted file mode 100644 index 61b0cbc9c4e8b110a2754799fa22f8e12b316d95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCO0GaGTi)hj#5hp8jKs{N?xd3{Ws@CJ4N=pB!gi|==QB~7|2LK0wG$sH5 diff --git a/app/service/outfit_matcher/color/MKTS27002.npy b/app/service/outfit_matcher/color/MKTS27002.npy deleted file mode 100644 index 72de4686790d239b6f5bc0836ebaa82da1d46b06..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCO0GaGTi)hj#5hp8jKs{N?xd3{Ws@CJ4N==To_8m?r-g cD*gd34^s!BKiK!*FDpF9vK@y!s%l#B0P)f?nE(I) diff --git a/app/service/outfit_matcher/color/MKTS27003.npy b/app/service/outfit_matcher/color/MKTS27003.npy deleted file mode 100644 index eafde8eb34574ac5c79056ca2b65dfff204e0d85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}ShAN{!KJWLxiEvtTbIz&#lTb{DJ{eR diff --git a/app/service/outfit_matcher/color/MKTS27004.npy b/app/service/outfit_matcher/color/MKTS27004.npy deleted file mode 100644 index eafde8eb34574ac5c79056ca2b65dfff204e0d85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}ShAN{!KJWLxiEvtTbIz&#lTb{DJ{eR diff --git a/app/service/outfit_matcher/color/MKTS27008.npy b/app/service/outfit_matcher/color/MKTS27008.npy deleted file mode 100644 index 7d5d352da3c2396fde732cef02e73d56466c20c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~g_5ar$wtj1WL5fZBC;P4a3}EoV-WUuX+r#(}dhn6} DX*Vdn diff --git a/app/service/outfit_matcher/color/MKTS27009.npy b/app/service/outfit_matcher/color/MKTS27009.npy deleted file mode 100644 index 0ed3004a77ed8fa6571ad40023db3821c151c9a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~g_5ar$wtj1WL5fZBC;P4a3}EoVe%4G7cxeygL+HUv F0ssuhD<}W} diff --git a/app/service/outfit_matcher/color/MKTS27010.npy b/app/service/outfit_matcher/color/MKTS27010.npy deleted file mode 100644 index 1c4bdd9dd4b482368bb27993405d29653fccf684..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~%m-^=Kk6pI^AL1g+m;cV50Sac#1c8_KoEyy!8J~xV be}K!w)IsPE_66^!+&Rp%7>7KnYFh9B)DJSP diff --git a/app/service/outfit_matcher/color/MKTS27011.npy b/app/service/outfit_matcher/color/MKTS27011.npy deleted file mode 100644 index d42b87f9fc4f544c5b88e12d1100c8e6ae14a5d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}n+>fTUWInY&xX*aS_2bX&C#iS>(INX;GeO{`Jp&kg KfYK1&U?c$uvn}iZ diff --git a/app/service/outfit_matcher/color/MKTS27012.npy b/app/service/outfit_matcher/color/MKTS27012.npy deleted file mode 100644 index 61ee0a0531e8acc08966f056a2dc2abad9cc85ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}n+>fTUWInY&xX*aS_2bX&C#iS>(INX;GeO{`{o;ed i(@JgL*rThvy)74n?2WfTUWInY&xX*aS_2bX&C#iS>(INX;GeO{`eS32K iiQ_xo+M}zxy)74n?2WAOHX}okryV diff --git a/app/service/outfit_matcher/color/MKTS27014.npy b/app/service/outfit_matcher/color/MKTS27014.npy deleted file mode 100644 index 574cb5f13f40ffe28312b088616d95bf59941718..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCO0GaGTi)hj#5hp8jKs{N?xdlT<2 u%hRmi*ay7SH-CTZvi<)M7h%5qcTjbg?2WX)T#g?GNrVUUB{SbEvvQ_6%U~!G2lT;@$6==0o`qQF@X9c~U^n diff --git a/app/service/outfit_matcher/color/MKTS27016.npy b/app/service/outfit_matcher/color/MKTS27016.npy deleted file mode 100644 index e8bec1b8b367e9ec1bb3da3dd432f35863eab354..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~%m-^=Kk6pI^AL1g+m;cUwl8Pq~U9z7w69it`AO99u vqki_C{SEF%(^@j0+8^9!yyE)t=TLQr>>0q|gMI(x2UZ=ri=ljoC_PC4$f`jz diff --git a/app/service/outfit_matcher/color/MKTS27017.npy b/app/service/outfit_matcher/color/MKTS27017.npy deleted file mode 100644 index 3dc689b5559518eff7f41743910a592b0d4d736b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCO0{U#8D4fBbTPd{ilm^7%*hx3}ejko~NgAn?+j0SrDs JX$WsHk^nUYFO2{I diff --git a/app/service/outfit_matcher/color/MKTS27018.npy b/app/service/outfit_matcher/color/MKTS27018.npy deleted file mode 100644 index 5357929280116c72fc3a6935b32d2ec01c123bf9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCO0GaGTi)hj#5hp8jKs{N?xd3{Ws@CJ4N=zo(hGUf=CC cRQv;69;OaLf3RTE{*^I diff --git a/app/service/outfit_matcher/color/MKTS27027.npy b/app/service/outfit_matcher/color/MKTS27027.npy deleted file mode 100644 index 94cd08f2c8186076a0935301e6aadf8cef99c6c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCO0L_5ar$wtj1WL5fZBC;Kh?+uL$M$bQyL5O`_N00tkR JG=w)8NdR>TE{*^I diff --git a/app/service/outfit_matcher/color/MKTS27028.npy b/app/service/outfit_matcher/color/MKTS27028.npy deleted file mode 100644 index 94cd08f2c8186076a0935301e6aadf8cef99c6c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCO0L_5ar$wtj1WL5fZBC;Kh?+uL$M$bQyL5O`_N00tkR JG=w)8NdR>TE{*^I diff --git a/app/service/outfit_matcher/color/MKTS27029.npy b/app/service/outfit_matcher/color/MKTS27029.npy deleted file mode 100644 index cfb2a7c54859693bd133794b5692201df8129539..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~%m-^=Kk6pI^AL1g+m;cUwl8Pq~9kQP_69it`vmCGb zfAIDT`=oH2*$Ibs?LVIWV~YIc_x889LW;%G-bL L)PfTUWInY&xX*aS_2bX&Z*R*5A^TY~LExpmj>lA^ zNxaYOv8#IxRd>_=+;q!M-Io3KQ|te)J8b>d{(=;n;!pNlQ1f8wUfTcPyTw&-&R+ZF jU#8D4fBbTPd{ilm^7%(-_MWuAkdZz|zj%{91Cam#wR?5< diff --git a/app/service/outfit_matcher/color/MKTS27031.npy b/app/service/outfit_matcher/color/MKTS27031.npy deleted file mode 100644 index 9601ced60324cf499d8526f08af9ffe0a859916b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}n+>fTUWInY&xX*aS_2bX&Z*R*5A^TY~LExqRUX4WM zXa64APp$vI?y&V+`wLQRia*(JLDjv6t9v=O?8B3{r|q$u2UB;`eqQ_$sW#8O_RGIa hpI!d=<^K4nQWoX&kI?KrX}?0w^<~}TP4)~#0st=%c^3cx diff --git a/app/service/outfit_matcher/color/MKTS27034.npy b/app/service/outfit_matcher/color/MKTS27034.npy deleted file mode 100644 index 0a055e3899a6268adf51cd3b6197a8a396ff3f27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~0|3TpX{?$GaFRHe^wx6Wp2}FnNXUznGm-f!JTN>X> fKD0+ycY9kd2-zEh!DIU>*6Du~&fK+U7$5)uIYmn# diff --git a/app/service/outfit_matcher/color/MKTS27035.npy b/app/service/outfit_matcher/color/MKTS27035.npy deleted file mode 100644 index 6e2466a5aae19d7e85645b4198683bf1554623d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~0|3TpX{?$GaFRHe^wx6Wp2}FfTUWInY&xX*aS_2bX&Z*R*5A^TY~LExo*WOe(` z{+cKD*wwv;s=I0LS~Wj;y7*!HsrCQY9kzaJe?f{(@hAH&sCh7TFYR-gyaM%=585yP jGJSUW{{One)^F`ENU(XaZh>go+R K%t1Ak6dnN7F-i9T diff --git a/app/service/outfit_matcher/color/MKTS27058.npy b/app/service/outfit_matcher/color/MKTS27058.npy deleted file mode 100644 index 6409c1e1fa1fe0e829a880b118fba3cf900cae76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~%m-^=Kk6pI^AL1g+m;cV50Sac#1c8@O{s*`?On$J@ E0F?SE9RL6T diff --git a/app/service/outfit_matcher/color/MKTS27059.npy b/app/service/outfit_matcher/color/MKTS27059.npy deleted file mode 100644 index 1c13ed10d3cd09543c3f684be89500e68e591fee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(q0z|?_7+_7F2+Ic>;qovo4-GH+5Ufsi!fjQ bJGlB;GeO{`eM1cYzSDPB!Nt){qBS1?90oAl diff --git a/app/service/outfit_matcher/color/MKTS27061.npy b/app/service/outfit_matcher/color/MKTS27061.npy deleted file mode 100644 index c1d6ce6f1fae7a0768396357af0e0e8bd003d6e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCO0GaGTi)hj#5hp8jKs{N?xd3{Ws@CJ4N=PhaVJyQ=$< zeFH<4(I21p`@cpwt+_epl>HSppEgX;ePHwR`Og#KV}JGV#G lLE;G9yf+Z@_TS!?3qtk~dr#W)u<|!t3)zmt98^<5JODoMS;GJT diff --git a/app/service/outfit_matcher/color/MKTS27062.npy b/app/service/outfit_matcher/color/MKTS27062.npy deleted file mode 100644 index f87acea39a75f462f0c4fe5d91f24e4387c4ea7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~0|3TpX{?$GaFRHe^wx6Wp2}FfTUWInY&xX*aS_2bX&C#iS>(INX;GeO{`{l71( iK2C9eVUMov_O@IQvNr~U$M)L~A|(F-bC? diff --git a/app/service/outfit_matcher/color/MKTS27068.npy b/app/service/outfit_matcher/color/MKTS27068.npy deleted file mode 100644 index 24eb5688eb07aa45f85711f183d2fdcf866b99ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}n+>fTUWInY&xX*aS_2bX&Z*R*5A^TY~LExpmi9yPb s9mihV2fWlbe}C+<{r?abVZQu#_LEdRf#?uioxXj(oXpb$_6!3A0Kr5>uK)l5 diff --git a/app/service/outfit_matcher/color/MKTS27073.npy b/app/service/outfit_matcher/color/MKTS27073.npy deleted file mode 100644 index 2400d76a1a6463158cac349fc181293775608f55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(p)tv;wUs%p7oONRFjN`+@p-@hYlPF9n{!Ut ePg3y&qDS_|VDQ*JoP}4tH2xY+b1+S&t_T3>I5F7( diff --git a/app/service/outfit_matcher/color/MLSS27101.npy b/app/service/outfit_matcher/color/MLSS27101.npy deleted file mode 100644 index 24a3d23d0f286b5cf7665128eb64aea19f9c1b5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}n+>fTUWInY&xX*aS_2bX&Z*R*5A$wymcx=xA1|Og_ Igf|#T0N`^im;e9( diff --git a/app/service/outfit_matcher/color/MLSS27102.npy b/app/service/outfit_matcher/color/MLSS27102.npy deleted file mode 100644 index fc9240aaa00489a2f10ee5f07e4772a8e78cc592..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}hU#8D4fBbTPY*Z-*2Ha< i%U;@}tDB_a2}FnNXUznGm-hFk>`;|VJ891_KmY(ZZ$`=h diff --git a/app/service/outfit_matcher/color/MLSS27103.npy b/app/service/outfit_matcher/color/MLSS27103.npy deleted file mode 100644 index d41f6dfd2fdc1e6214cf00b0b636af5c40b99417..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~%m-^=Kk6pI^AL1g+m;cUwl8Pq~9kQP_69it`A9?k} t<8ROl`v!(8qdz|H_rHm7T61&Gsr?XjkD%&K+J6Yixx=;PoIS$;0RSAJMWg@# diff --git a/app/service/outfit_matcher/color/MLSS27104.npy b/app/service/outfit_matcher/color/MLSS27104.npy deleted file mode 100644 index 0b28d7adce8ea3d228dd6289be265d7b00241872..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~%m-^=Kk6pI^AL1g+m;cUwl8Pq~9kQP_69it``>glq zkiY%PzJa02=#S6){cj?i*4&(PYClBXBdEHQ_LDb$deok>!=3>QK0s**4?%vg=elzI PR`sC`IOGv3No4^50Yppg diff --git a/app/service/outfit_matcher/color/MLSS27107.npy b/app/service/outfit_matcher/color/MLSS27107.npy deleted file mode 100644 index 32007261ee6d417eba30707712433154a89496c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}ShAN{!KJWLxiEvtTbIz}ejko~NgAaK*30SrDs JX$WsHk^o3ZFS`H$ diff --git a/app/service/outfit_matcher/color/MLSS27109.npy b/app/service/outfit_matcher/color/MLSS27109.npy deleted file mode 100644 index 9a57b95cb7335cb9d58f08b3bd5d89d35fcf6cd6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}ShAN{!KJWLxiEvtTbIz&#lT}008??NW}mE diff --git a/app/service/outfit_matcher/color/MLSS27110.npy b/app/service/outfit_matcher/color/MLSS27110.npy deleted file mode 100644 index 32007261ee6d417eba30707712433154a89496c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}ShAN{!KJWLxiEvtTbIz}ejko~NgAaK*30SrDs JX$WsHk^o3ZFS`H$ diff --git a/app/service/outfit_matcher/color/MLSS27111.npy b/app/service/outfit_matcher/color/MLSS27111.npy deleted file mode 100644 index eafde8eb34574ac5c79056ca2b65dfff204e0d85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}ShAN{!KJWLxiEvtTbIz&#lTb{DJ{eR diff --git a/app/service/outfit_matcher/color/MLSS27112.npy b/app/service/outfit_matcher/color/MLSS27112.npy deleted file mode 100644 index 73d04929610c571b45251d389d8680e362729d65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}ShAN{!KJWLxiEvtTbIz&#lTX&Fq9jyY?SX|1m}W@_T!9^Ag*%j$Llv2^WXS HQ%VB>G^12n diff --git a/app/service/outfit_matcher/color/MLSS27119.npy b/app/service/outfit_matcher/color/MLSS27119.npy deleted file mode 100644 index 89dd4a7415d0be5c220b7b4bf148c989b3970fa3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}ShAN{!KJWLxiEvtTbIz&#+jDPk%f0=~e%4G7xM|M- M1|Og_gf|#T08fA~#{d8T diff --git a/app/service/outfit_matcher/color/MLSS27122.npy b/app/service/outfit_matcher/color/MLSS27122.npy deleted file mode 100644 index 93e5010e921f18cc1cf0e26c115ba96392c5eefd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= mXCxM+0{I%IItr$mItsN4WCJb+F!*2(p>dIffTUWInY&xX*aS_2bX&C#iS>(Ixv?GeO{`eX(gc z5IweUV5lfTUWInY&xX*aS_2bX&C#iS>(Ixv?GeO{`eVxGk zYu8u5uy0_fGWz55e*c>Yr!_a{oZ1gj_Xw))r2WqPoM{@_2kjZa-~*I~@IWNYyeTf_ s8lCSp*iWnfzwWU0Tl))AY>GeGZ|#SvgsC%4xO;7O;cN_ZVCv9m0C6&5lmGw# diff --git a/app/service/outfit_matcher/color/MLSS27132.npy b/app/service/outfit_matcher/color/MLSS27132.npy deleted file mode 100644 index 4eb2820f98247aff4142e77c9b62a48f92c0ab08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}n+>fTUWInY&xX*aS_2bX&C#iS>(INX;GeO{`y-Dbc z==nSk?5EcMUw7F0t^EZlHpQRpx9o3k%LO5OV=#DZuX2Go(sAw``=oH2*$Ibs?LVIW XV~YIc_ZaGyYsXan_g-bsKxF^`6!ceQ diff --git a/app/service/outfit_matcher/color/MLSS27133.npy b/app/service/outfit_matcher/color/MLSS27133.npy deleted file mode 100644 index be07818e03b70d0dbbcdc8ce028de0e4b4bcd9a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}n+>fTUWInY&xX*aS_2bX&C#iS>(INX;GeO{`{rjn% z3t6t;vY%T2f8Am0xAqsL*c5-V-?G2GEf<9Bjltltea=S4XNg@G?UTZ7W+xolwf}hf lk16t(-(#p#YZHpeb~$B_-QGuVdtI-s)$ISc)1HAy008i6ZSMd8 diff --git a/app/service/outfit_matcher/color/MLSS27136.npy b/app/service/outfit_matcher/color/MLSS27136.npy deleted file mode 100644 index 00e5113d9bdd8d575c6d69a86395b46aad1372ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(p)tv|_xbmyxjeOB@n!n#^2aat$3~U1D4&0{ e|Ms?A5VAK0gU9yE93C_pm0!ha4yMV}6#)PZa5c>U diff --git a/app/service/outfit_matcher/color/MLSS27137.npy b/app/service/outfit_matcher/color/MLSS27137.npy deleted file mode 100644 index d58c122e35618e0e7e22b4d44da16b61c745acd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJc11`v3#f2B{vi>hs}_k+1WV%AI$cxlghVnI&ZtEcwp z>L#gp0?{FRh`O8hPh%KX&E-6457GYtO2bTpnRnCP+w@?abnIrF>R|ev7UoZQUA7Fv J9E6FeEC3n8Ox*wg diff --git a/app/service/outfit_matcher/color/MLSS27140.npy b/app/service/outfit_matcher/color/MLSS27140.npy deleted file mode 100644 index 4b4e22f65c15634f44d609de7f82ae1a04ef9f4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~%m-^=Kk6pI^AL1g+m;cUwl8Pq~U9z7w69it`m&IN$ tjSYWqe}ntcw3f`L_6PSFueg5vIaJ*tdj>H0VDB0z0z^}xe26GLNdSlgKHdNT diff --git a/app/service/outfit_matcher/color/MLSS27141.npy b/app/service/outfit_matcher/color/MLSS27141.npy deleted file mode 100644 index 8825b342b823348799e6a1ea52f5450828d58b1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCO0GaGTi)hj#5hp8jKs{N?xd3{Ws@CJ4N=S5XNz5o~=1 d75@O2hpB_mAMCepkDPw@>m?lWsH$nf0{}w#GhzS$ diff --git a/app/service/outfit_matcher/color/MLSS27142.npy b/app/service/outfit_matcher/color/MLSS27142.npy deleted file mode 100644 index 569bacd0804ebe76a8faa9ead687ee9c6e039820..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~%m-^=Kk6pI^AL1g+m;cV50Sac#1c8_KpZ0lpF|K-K z-@s61^vCD@{;v^EYi`atg`v(9sLJT*F{trp{v4%r=(#zfUH@F{7Ysq|S qe{i4iitERp+uz=n3qtlVdy~JgS_lU3B48c^!*iY`zcw$PZ4Urv`CiKa diff --git a/app/service/outfit_matcher/color/MLSS27145.npy b/app/service/outfit_matcher/color/MLSS27145.npy deleted file mode 100644 index d9466d53a4d7698e16dcac6bde2971f1ba566e1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}n+>fTUWInY&xX*aS_2bX&8K7X+Ob~c!-*35g4LjR& z`)T$6*B!QgYkxtCP4OrDt^Mfg5`}vg3xu48>i+;Y2c`}}f3QEwQxm*UeIpKeRMn*L E0CCnsF8}}l diff --git a/app/service/outfit_matcher/color/MLSS27146.npy b/app/service/outfit_matcher/color/MLSS27146.npy deleted file mode 100644 index e969945f6e8dd794ddbf580ca6b569e3fd666b6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCO0GaGTi)hj#5hp8jKs{N?xd3{Ws@CJ4N=XW(06d2q=q z`y1SkrnO`~wLiGec*XVO&+R9vcmmNOdziZV=L)yi#&3h_{{S}!W*&t8VE>-)K%&f^C0vG`_4Vjl=ggG Lj6)t(H7Ps*NNq=( diff --git a/app/service/outfit_matcher/color/MLSS27148.npy b/app/service/outfit_matcher/color/MLSS27148.npy deleted file mode 100644 index 79f0daf0589af904963bb508963f0101f7ede6f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~%m-^=Kk6pI^AL1g+m;cV50Sac#1c8_K+!qvDoHjp( zihqF1qpO>9AYRDK`=b4{`v2<=TfeoxAjPKmll|6ybam#nRa1p6_hOg>Q%5ch0Cdwu AFaQ7m diff --git a/app/service/outfit_matcher/color/MLSS27149.npy b/app/service/outfit_matcher/color/MLSS27149.npy deleted file mode 100644 index 0c76ea6cd2b1b2117b2503535645fa29a50a6f97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCO0GaGTi)hj#5hp8jKs{N?xd3{Ws@CJ4N=Z)UDc%$WHM ZD*gd3kFM_b4_;gSvzIXBVd`j20{}}MHunGk diff --git a/app/service/outfit_matcher/color/MLSS27150.npy b/app/service/outfit_matcher/color/MLSS27150.npy deleted file mode 100644 index 19d1d32cd5e0a3a3ee24b4b14bb1f5e25c7760cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~%m-^=Kk6pI^AL1g+m;cUwl8Pq~U9z7w69it`Gl0Pd KC=KBaMiKzL(kv_h diff --git a/app/service/outfit_matcher/color/MLSS27152.npy b/app/service/outfit_matcher/color/MLSS27152.npy deleted file mode 100644 index c1f4937d855e062587f0c0b87d7e76646a365e39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCO0GaGTi)hj#5hp8jKs{N?xd3{Ws@CJ4N=|Lu@?_<+ze dsQ3rCJWL&g{$S5lXIoi!>oN{`RMoWL0RW`GGnD`U diff --git a/app/service/outfit_matcher/color/MLSS27154.npy b/app/service/outfit_matcher/color/MLSS27154.npy deleted file mode 100644 index 603005f228f9ecfbd1cb9125e9e8d17f8df252cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCO0GaGTi)hj#5hp8jKs{N?xd3{Ws@CJ4N=5BOi1z2?aS dsQ3rCJWL&g{$L-^$fLR3>>dtzRMoWL0RVKbGY9|x diff --git a/app/service/outfit_matcher/color/MLSS27156.npy b/app/service/outfit_matcher/color/MLSS27156.npy deleted file mode 100644 index aa91d70768f9b298e065841839b39fe252ecb9d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCO0GaGTi)hj#5hp8jKs{N?xd3{Ws@CJ4N=cUCL?ds_d6 z{qirZ(-9zoUJwD$~j$vd%mi~SAm oN7Gs|pV}YXXT0M2@#prpx8;Hm+&py-e}@0Z7Qx*Ea~Cce0Q`Y$P5=M^ diff --git a/app/service/outfit_matcher/color/MLSS27157.npy b/app/service/outfit_matcher/color/MLSS27157.npy deleted file mode 100644 index 49520625d89cc2bab440ec298b944e2e69d721ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCO0GaGTi)hj#5hp8jKs{N?xd3{Ws@CJ4N=zrm8(HTB&y z`{iGz&n|!ba({eODU0&?NA|b3<${pCF&I3y_vtz;ueRt2hPp{Aok!g1}3tI6@w#Zm`h+NsA}A diff --git a/app/service/outfit_matcher/color/MLSS27160.npy b/app/service/outfit_matcher/color/MLSS27160.npy deleted file mode 100644 index d42b87f9fc4f544c5b88e12d1100c8e6ae14a5d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}n+>fTUWInY&xX*aS_2bX&C#iS>(INX;GeO{`Jp&kg KfYK1&U?c$uvn}iZ diff --git a/app/service/outfit_matcher/color/MLSS27161.npy b/app/service/outfit_matcher/color/MLSS27161.npy deleted file mode 100644 index 97fe87df54d93605341f6975c7de43cc4a67e307..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCO0GaGTi)hj#5hp8jKs{N?xdx3}ejko~NgAn?-u&_~{^ qUcYztfBu8O{r#(bB3@K&dkt0h+TIup9@{^AtPrm$zS^E)fB*mz;7OAJ diff --git a/app/service/outfit_matcher/color/MLSS27162.npy b/app/service/outfit_matcher/color/MLSS27162.npy deleted file mode 100644 index 07779abccb77bfd30f54dab5985d7d125cbf52f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}hU#8D4fBbTPY*Z(INX;GeO{`z3>jJ e8vdn^?XjzSWN!=xkL_>ucdfTUWInY&xX*aS_2bX&C#iS>(Ixv?GeO{`Jp&kg KfYK1&U?c$((=Ge} diff --git a/app/service/outfit_matcher/color/MLSS27226.npy b/app/service/outfit_matcher/color/MLSS27226.npy deleted file mode 100644 index 528253cfb167c23445e1bec3e73e3147b0012d88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~0|3TpX{?$GaFRHe^wr7BXSu;W4rTto_WdF*Jm-frQ zOrKr;_~riis8SZ?^N;K&sdxg>BYTLtoAz!q?(V(Ea~OxZOHg$$?ZrwWg+92fhT8+P Hk5U={AtG5H diff --git a/app/service/outfit_matcher/color/MPO_SP7685.npy b/app/service/outfit_matcher/color/MPO_SP7685.npy deleted file mode 100644 index 02526a63c30c18abf2a161f2fa192cb327a83297..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(q0z|?_UE=QKX+K{iT$+t|LYE0zqP+0#isa^ g{nq~5+j4>EHB{dR`{W55k}57;$6*e-xzy(a0Aijt82|tP diff --git a/app/service/outfit_matcher/color/MPO_SP7686.npy b/app/service/outfit_matcher/color/MPO_SP7686.npy deleted file mode 100644 index 6b1c3bec7715900ee68831b3318a25ee61dd31c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(q0z|?_PZ8mN3$2au%A}{f8Am0xAqsL*c5-V z-`YP(#S@4gLG^vGcTVmK+I4sboR4bK2m4twLExqR{#_N^i?6P=zrp=zT1)0r`-A(8 nS6n~-98KQ``*gD=^$vrz81~-YmJ39$;pP=c<~+Lcc!oUy@m*t` diff --git a/app/service/outfit_matcher/color/MPO_SP7687.npy b/app/service/outfit_matcher/color/MPO_SP7687.npy deleted file mode 100644 index 55abfb7210339b495042be7518989eaddb5918ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(q0z|?_PTb`ORk8$v!7P~f8Am0xAqsL*c5-V z-`WpTIcp{eytJQi%i3{@_e}d++>fTUWInY&u+MnK_2bX?Pg3y&qDN5kKiJ2qRBiTE on_?gEQs4ajvCH=VLtKRU^54PjhndGveuQ5*y&oGeG zZ|$F?;t52L>}SmcftU9G4FzU$=I^t=!To4jOXgGigZqqETtEICYVHTPI?I(24p9yp z?E_xwo4-GH+5Ufsi!fjQJGlKY^P2rV?=M`x0Ina^WgqN~!Qiod0QYWd%iHtq0nn;n AXaE2J diff --git a/app/service/outfit_matcher/color/MPO_SP7693.npy b/app/service/outfit_matcher/color/MPO_SP7693.npy deleted file mode 100644 index 8ada995e806a8f6234ea06416c98ed9c4dd37a2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(q0z|?_NQA}S1noi(0=)s>9flpzuX@mRm!4# z{*nFdZMi`7+TIup9@{53$LI5(J8eI${{One)^F`ENUf0GRktrvLx| diff --git a/app/service/outfit_matcher/color/MPO_SP7696.npy b/app/service/outfit_matcher/color/MPO_SP7696.npy deleted file mode 100644 index 79eb4957bf7dc8c7384265406d98a78ae39c96f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(q0z|?_BN*6+U0oGeG zZ|%RmEfI=Xp9Q>B-*f80ui=8-u}Pd(+tS-+$Nl+XuYVH-CTZvi<)M7h%5q bcX0b>%>;p$_Gud)%$@SC4K9xEGITxwPo7sE diff --git a/app/service/outfit_matcher/color/MPO_SP7705.npy b/app/service/outfit_matcher/color/MPO_SP7705.npy deleted file mode 100644 index 845046a481d7875387e617510db400e0e36cce19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(q0z|?_NuB|7xhWJvA@CnXj)6=Q~QJaj8|Mg z{@i|&iYE{~vY#~*1YX+z|8ZrT&gJd)fBu8O{r#(bB3@K&dkr@irfyQ^{B1qA`k~?o Xdtv6m+~eJv|1>3|8?GPSW$1hW#Q|2s diff --git a/app/service/outfit_matcher/color/MPO_SP7706.npy b/app/service/outfit_matcher/color/MPO_SP7706.npy deleted file mode 100644 index 4dddb95f6df05efe54d47f67e167e30639dc82f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(q0z|?_C7zHZ5sBxuy0_fGWz55e*c>Yr!_a{ ioZ3H0#S@4g+0U8@0x#_^%6;Jb&wCb!Iq2q6pAP`c$~P_m diff --git a/app/service/outfit_matcher/color/MPO_SP7711.npy b/app/service/outfit_matcher/color/MPO_SP7711.npy deleted file mode 100644 index ef3bfe3e596825ae5bcfdbfaf658c419f8eae4cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(q0z|?_ATr)G|RYN*)RVxeRlcdm;2+RN?DZ8 zKeC^s;t52L?2WCNKshc$u1YX*|5}079N3BKro0Dx*I>@Atona9VS7&M6G@>_wyb%f0&S0i+yZng9R* diff --git a/app/service/outfit_matcher/color/MPO_SP7712.npy b/app/service/outfit_matcher/color/MPO_SP7712.npy deleted file mode 100644 index 963f9f34da58316acc988fbc9f6fecd7538cd1a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(q0z|?_WJMJ1k1O-w7EwLQeVllI%5+h_XhZ?gvg&m3+R diff --git a/app/service/outfit_matcher/color/MPO_SP7717.npy b/app/service/outfit_matcher/color/MPO_SP7717.npy deleted file mode 100644 index f79ac9bf70921f393d2c278d43292177a8bf4d6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(q0z|?_H*XtFPwh=x&5^I|LYE0zqP+0#isa^ g{nq|TDxN^}2&(Uc{qaKzdoMU#z+n!$xzy(a07ytQA^-pY diff --git a/app/service/outfit_matcher/color/MPO_SP7722.npy b/app/service/outfit_matcher/color/MPO_SP7722.npy deleted file mode 100644 index c1c9592d3254bb17ce39993dae788500ada5ba64..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(q0z|?_HDdZ&dvYv+9flpzuX@iRm!4# i{?Y#1+j4>Ewf(G_AaK(D>yz-L1AG^7n1gOE_4xqD6grFm diff --git a/app/service/outfit_matcher/color/MPO_SP7723.npy b/app/service/outfit_matcher/color/MPO_SP7723.npy deleted file mode 100644 index e76a9be9f7f62f3202c8fbf31abd2c17c6defaf2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(q0z|?_G}9jZEkIU36;mCj)9?Oro+}2<)ik0 n{)52%{i}TiE zes6z!TP_IM&zcDWFYO=3^Q7B-yJ8>kQs4ajvCH=VLtKRU^54PDg{k{X}{vj^x5T)U+#~MDrHeV z|7id1ZMi`7+J4qd5V&b?RQ&cw^x{MI%c1JxA?o1fLe#yq|D~IInO$NfTpZm-a`^zE CJxk93 diff --git a/app/service/outfit_matcher/color/MPO_SP7731.npy b/app/service/outfit_matcher/color/MPO_SP7731.npy deleted file mode 100644 index bc76d71e40c3ad43506ae9c957f382d4acee5d6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(q0z|?_U^?@pDl!5*-xwgzwWU0Tl))AY>GeG zZ|%RmEf<8K`aalaST5Uqs`n6_4>M_!iYE|VvY#~*1YX*|d1}w-wsZ*&`(V0Arvckw BK>h## diff --git a/app/service/outfit_matcher/color/MPO_SP7732.npy b/app/service/outfit_matcher/color/MPO_SP7732.npy deleted file mode 100644 index 386747666e114fe9a12068dad82d0f00fd956433..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(q0z|?_Ngx>ztP_F*uH_G%IJ^J`~6=doYvf& zbIShqwpfTUWInY&u+MnK_2bX?-`fTUWInY&u+MnK_2bX?-` znfLb7>i@4hZ2i{$f)tzLPxf2;C#iS>(Ifj=GeO{`y~_GC%C~CfK=na%(~|@MJ`O{_ diff --git a/app/service/outfit_matcher/color/MSE_57987.npy b/app/service/outfit_matcher/color/MSE_57987.npy deleted file mode 100644 index ed9c678dad4ecf14a4808ea19526552709c4185b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}ShAN{!KJWK`jc{6XbIvLI+uL$M$bQyL5O`_N00tkR JG=w)8NdWyBFH`^k diff --git a/app/service/outfit_matcher/color/MSE_57988.npy b/app/service/outfit_matcher/color/MSE_57988.npy deleted file mode 100644 index ed9c678dad4ecf14a4808ea19526552709c4185b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}ShAN{!KJWK`jc{6XbIvLI+uL$M$bQyL5O`_N00tkR JG=w)8NdWyBFH`^k diff --git a/app/service/outfit_matcher/color/MSE_58044.npy b/app/service/outfit_matcher/color/MSE_58044.npy deleted file mode 100644 index 00d0b2c4657208242d7626317c7e4e5c39bcd220..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}ShAN{!KJWLxiEvtTbIz}ejko~NgAn?+j0SrDs JX$WsHk^oZZFUtS` diff --git a/app/service/outfit_matcher/color/MSE_58045.npy b/app/service/outfit_matcher/color/MSE_58045.npy deleted file mode 100644 index 6824da6574b8bc6052a7f75cca9b7bbecc55c6f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}ShAN{!KJWLxiEvtTbIz}ejko~NgAn?+jL*ewg g`jYqd=;|h^cmmNQsJff>{QqaGaTQFoXBZ#=048xpmjD0& diff --git a/app/service/outfit_matcher/color/MSE_58057.npy b/app/service/outfit_matcher/color/MSE_58057.npy deleted file mode 100644 index 8587ef235b264fe584a0aab4bb5c490a589c5e63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}n+>fTUWInY&xX*aS_2bX&C#iS>(INX;GeO{`y^#73 hwodam_UP(vZ_5QCdt)$oY@c)7?!fTUWInY&xX*aS_2bX&C#iS>(ItChFnDaw00tkR JG=w)8NdRy|E0F*I diff --git a/app/service/outfit_matcher/color/MSE_58106.npy b/app/service/outfit_matcher/color/MSE_58106.npy deleted file mode 100644 index d04aa93191edeca855905fc629e72e0b671e531f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~%m-^=Kk6pI^AL1g+m;cWG_O@IQvY#~*1YX*22(}fR zpa0zc2KS?BEtya45AHKwasBvnG<7HK1$y`R&3Jjzo&gL#KxqgMnT+w6bK~0j4LIeI I)sn&n0G(=0vj6}9 diff --git a/app/service/outfit_matcher/color/MSE_58107.npy b/app/service/outfit_matcher/color/MSE_58107.npy deleted file mode 100644 index 420f2f442e455f816f27d53938f18fd40aa8c625..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~%m-^=Kk6pI^AL1g+m;cWG_O@IQvY#~*1YX+b1wJ~n zr2UqCQn=0RghRXbA5Z@=MgH=8`$;OEKy=8S0SrFaXNT=(%CR^H=R?FXN%1#HdxORH v+uz`RG_57`sr|uy#w)HLe~xDFNqf=Dank=!>?2^_2YYuvyLXNgciRI19wKBO diff --git a/app/service/outfit_matcher/color/MSE_58112.npy b/app/service/outfit_matcher/color/MSE_58112.npy deleted file mode 100644 index 3ad24e747ead0336401ff728af42cfa89b258c83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(p)tvqeXA#2i+l=|$EEIry$}0z*Ra}s_RGIa zpI!d=<^K4nQWoX&kL+)6%LO60{?i9`^1gh#2SXjq=2Q369+jBnbOWsO*0Oq%2EC2ui diff --git a/app/service/outfit_matcher/color/MSE_58114.npy b/app/service/outfit_matcher/color/MSE_58114.npy deleted file mode 100644 index 81a8b400bfcb76253f69865fc1c40eab878ac65a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(p)twzDU-K6u6PBN$EEIrz4>k19Sdc)+b{nz oeRlcdm;2+RN?DZ8KeE5QEf<8~`u+Z^Eq0LEiqk$!7Z4``0ER+3SpWb4 diff --git a/app/service/outfit_matcher/color/MSE_58132.npy b/app/service/outfit_matcher/color/MSE_58132.npy deleted file mode 100644 index a8e04510dd52cd1941de67f5e66334601099405f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCO0{U#8D4fBbTPd{ilm^7%*h3{Ws@CJ4N=k2+*``{ApL zQ1K6Nd6+r~{lQ+FaV^Uhp$ql_FZIpeAG>V-Kg30tFaMqWBo$8}dSnkXZ&$?~Mf0`i z?N>nUjfL2|A7&m*UDXAD)4Eyv?32Q6W+xolwf}hfk16t(-`j7`y}d2>_A`59FnDbL MN8f{ekH{{20E-fB6aWAK diff --git a/app/service/outfit_matcher/color/MSE_58133.npy b/app/service/outfit_matcher/color/MSE_58133.npy deleted file mode 100644 index 966b8ef0387916eedf03a6c3cae439c98e72bb21..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~0|3TpX{?$GaFRHe^wr7BXSu;W4rM-~N+?!RhkL;7e zZDuDN+O_|9`j08{m*3mp-j)kO_Aqr~iNE!>Jhq?k=E?1j)D?1M{JtH~Lxu)o3mXj)6=Q~QJaj8|Mg{v6HTllHr>e}BFF@j`n5HuHJP diff --git a/app/service/outfit_matcher/color/MSE_58174.npy b/app/service/outfit_matcher/color/MSE_58174.npy deleted file mode 100644 index 1bbfbe0a419076f4710d0d3116b37233af930f35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(q0z|?_TP1ikA&zywNDDSnVoQG*Z$+_Kc>iE beh*haYbFT1v=>??Ssu3VDqI}hBwF(UeNr;( diff --git a/app/service/outfit_matcher/color/MSE_58183.npy b/app/service/outfit_matcher/color/MSE_58183.npy deleted file mode 100644 index ac0e8b27ebdd7d3fecbf793972df1af713efc08b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}ShAN{!KJWLxiEvtTbIz}ejko~NgAaK+EeOF8y z+tP>jfBu8O{r#(bB3@K&du`7E1rT*F?Zu+jUj3?Y6)OG#E)P=&qm>^|t`)wqg@C#b T_I$gRd_4Gl5l(Yp=D}zHHAYk^ diff --git a/app/service/outfit_matcher/color/MSE_58184.npy b/app/service/outfit_matcher/color/MSE_58184.npy deleted file mode 100644 index 5cbe32b7d4856b3065b6530fca83c50ee5bf90cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}ShAN{!KJWLxiEvtTbIz&#lTD%TP_Ge?LBFqwchHVkHHe0=E2!_0I3^n9{>OV diff --git a/app/service/outfit_matcher/color/MSE_58185.npy b/app/service/outfit_matcher/color/MSE_58185.npy deleted file mode 100644 index 1fe2aabaf78fee68e25e8c5b4292c6e4e7531d94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}ShAN{!KJWLxiEvtTbIz}ejko~NgAaK&&C%Q;3 z)!~VKQn=0RghRXbA5Z@=MgH=8dj=?gsC#K2p8u(Wzws(m`~zGbrVc`Xu;*XcyC~(+ Md>rzqs!8Di09vIr$}K?++{P!N;veAhFm(|6gZ=qU|2L>k MK7m6XRW&I*05ro(8vp&DZsQDTa9vdoRJ&%`iwj)WW&g9sno;T=M_` diff --git a/app/service/outfit_matcher/color/MSE_58198.npy b/app/service/outfit_matcher/color/MSE_58198.npy deleted file mode 100644 index ff4a5f6cbdb3085022aaf5291476a2c3c83a9a21..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(p)pBTq4}w6K0UGzc&Tsx{@7*v{~<2IeEIL} zC#iS>(INX;GeO{`z05KO>F(02P;+pZ_rc!b$?4*P=oR)ixF1bx$$V;maG&vt>&Ktl a-`M diff --git a/app/service/outfit_matcher/color/MSE_58199.npy b/app/service/outfit_matcher/color/MSE_58199.npy deleted file mode 100644 index 647c4d5af04880ea643eef25fc5294240820df0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(p)tu*lYYKP61i_5@KWFW{jtmT|3h4a`SRb{ zPg3y&qC@txW`e*=d&kCD(Qngk+uz`RG_57`sr|uy#w)HLe{O$!TP_Ge)t$7zxPCF) OoS>~Z?Zb2daUuYk>P!&; diff --git a/app/service/outfit_matcher/color/MSE_58203.npy b/app/service/outfit_matcher/color/MSE_58203.npy deleted file mode 100644 index 93e5010e921f18cc1cf0e26c115ba96392c5eefd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= mXCxM+0{I%IItr$mItsN4WCJb+F!*2(p>dIf(IL2bk|t55 v9T{uwZ*V`F){^28KAB_B00tkRG=zstPFpH> ObAs3uobt$OL2Lk8$77!W diff --git a/app/service/outfit_matcher/color/MSE_58276.npy b/app/service/outfit_matcher/color/MSE_58276.npy deleted file mode 100644 index 19b266b9689c4a3bc83b0dfb207f13b839c37233..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}ShAN{!KJWLxiEvtTbIz&#lTMKo l&&Rj+=<2rT-rkmb`t=gdBG|V9zi>004U@NHYKc diff --git a/app/service/outfit_matcher/color/MSE_58361.npy b/app/service/outfit_matcher/color/MSE_58361.npy deleted file mode 100644 index 93e5010e921f18cc1cf0e26c115ba96392c5eefd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= mXCxM+0{I%IItr$mItsN4WCJb+F!*2(p>dIf~;kx1r*g=0Vimv^UMpbX4M84%d%vBe{G4riwj2 diff --git a/app/service/outfit_matcher/color/MSE_58451.npy b/app/service/outfit_matcher/color/MSE_58451.npy deleted file mode 100644 index 93e5010e921f18cc1cf0e26c115ba96392c5eefd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= mXCxM+0{I%IItr$mItsN4WCJb+F!*2(p>dIfz~{0Snqz^8f$< diff --git a/app/service/outfit_matcher/color/MSE_58499.npy b/app/service/outfit_matcher/color/MSE_58499.npy deleted file mode 100644 index d1d0fb36f6fbeab258962152b4c51a0d0b1b3daf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCO0GaGTi)hj#5hp8jKs{N?xdlTiE qeh*haYbFT1wEwc?&A!*S&p^d-na9A8yS(UAV8txBesmkjI{;@!-qptcU`v!(8qdz|H_rHm7T61&Gsr{2w ZJb~ztJdIffTUWInY&xX*aS_2bX&C#iS>(Ifj=GeO{_Jp&kg KfYK1&U?c$vvn}iZ diff --git a/app/service/outfit_matcher/color/MWSS27191.npy b/app/service/outfit_matcher/color/MWSS27191.npy deleted file mode 100644 index 4138f1ba88a6e28444d689c4ed76d9a4214315d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~%m-^=Kk6pI^AL1g+m;cUwl8Pq~9kQP_69it`Gl0Pd KC=KBaMiKzAvMd|` diff --git a/app/service/outfit_matcher/color/MWSS27193.npy b/app/service/outfit_matcher/color/MWSS27193.npy deleted file mode 100644 index 4b2eeedc956662c9d55d505a25c4b9f44c2794d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}n+>fTUWInY&xX*aS_2bX&C#iS>(INX;GeO{`z1o~N zt0yjbV;}HR-~9ct%l7|6T!i`Z-`U^ZmJ32~bsel}vR$HE>>0q|1C)mF5ab7Yq0}op Oi^ON+kVmK_l?4D`>q_qc diff --git a/app/service/outfit_matcher/color/MWSS27195.npy b/app/service/outfit_matcher/color/MWSS27195.npy deleted file mode 100644 index 4436f185966250cdb207bdbab5ccec17ce338484..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~%m-^=Kk6pI^AL1g+m;cV50Sac#1c8_Ko0F%ftoM9l uzx>Pe+2xO4?vIZuWl=u=$o}@WToAH{sJm&O^~mLR%ci|>{V;RrMFRkHMMIbX diff --git a/app/service/outfit_matcher/color/MWSS27200.npy b/app/service/outfit_matcher/color/MWSS27200.npy deleted file mode 100644 index 8c7706f73112dd55beee115f9a4edc3116b930cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}n+>fTUWInY&xX*aS_2bX&8K7X+Ob~c!ue$aB*_nIZ dLB&77eikc_6%U~0ZK!7$mCH~=M8;k MJ8{Y*t0jdE0G8!Tod5s; diff --git a/app/service/outfit_matcher/color/MWSS27211.npy b/app/service/outfit_matcher/color/MWSS27211.npy deleted file mode 100644 index e13311af3ffefea045820e4507b95133ca9fc09b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~%m-^=Kk6pI^AL1g+m;cWG_O@IQvY#~*1YX)RfWZeS J4dD$&5&$g`E;9fC diff --git a/app/service/outfit_matcher/color/MWSS27212.npy b/app/service/outfit_matcher/color/MWSS27212.npy deleted file mode 100644 index eec3e8284624c62fa77ad3ab1c033ef9a47f05e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(p&1x%Z_5QC`&lzV;HCZD=e*}zB3{~0tN*|5 hu=QK}3sP)~KiO~XM_1RKaN_Wrxu@Xfz|5l;4FFQ$LXZFe diff --git a/app/service/outfit_matcher/color/MZOS27178.npy b/app/service/outfit_matcher/color/MZOS27178.npy deleted file mode 100644 index 93d0886fdad0305681f9b14f366565e81ab4a591..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}ShAN{!KJWK`jc{6XbIvJy1~B+wKWiokoU}jMw4WtV w`Mv$}FVkn2KYqDCKB|;O`TQgM+uL%1=rvT`P5aR0{2BMB&W7rTm_kny07kDwbN~PV diff --git a/app/service/outfit_matcher/color/MZOS27179.npy b/app/service/outfit_matcher/color/MZOS27179.npy deleted file mode 100644 index 24a3d23d0f286b5cf7665128eb64aea19f9c1b5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}n+>fTUWInY&xX*aS_2bX&Z*R*5A$wymcx=xA1|Og_ Igf|#T0N`^im;e9( diff --git a/app/service/outfit_matcher/config/fashion_categories.json b/app/service/outfit_matcher/config/fashion_categories.json deleted file mode 100644 index 9c3c12a..0000000 --- a/app/service/outfit_matcher/config/fashion_categories.json +++ /dev/null @@ -1,242 +0,0 @@ -[ - "ACCECSSORY/BAG", - "ACCECSSORY/HAT", - "ACCESSORY/ACCESSORY", - "ACCESSORY/BAG", - "ACCESSORY/BELT", - "ACCESSORY/BOOTS", - "ACCESSORY/BANGLE", - "ACCESSORY/COMBO SET", - "ACCESSORY/BRACELET", - "ACCESSORY/BRA TOP", - "ACCESSORY/BIB", - "ACCESSORY/GIFT", - "ACCESSORY/FESTIVAL SET", - "ACCESSORY/CAPE", - "ACCESSORY/BLANKET", - "ACCESSORY/HAIR BAND", - "ACCESSORY/GLOVES", - "ACCESSORY/FUR SCARF", - "ACCESSORY/BROOCH", - "ACCESSORY/HAT", - "ACCESSORY/HAIR CLIPS", - "ACCESSORY/SCARF", - "ACCESSORY/CLIP", - "ACCESSORY/HEAD BAND", - "ACCESSORY/NECKLACE", - "ACCESSORY/SOCKS", - "ACCESSORY/EARING", - "ACCESSORY/KEYRING", - "ACCESSORY/OTHERS", - "ACCESSORY/TOY", - "ACCESSORY/HAIR CLIP", - "ACCESSORY/RING", - "ACCESSORY/SANDALS", - "ACCESSORY/SUN GLASS", - "ACCESSORY/MASK", - "ACCESSORY/Test Kit", - "ACCESSORY/MUG", - "ACCESSORY/TOWEL", - "ACCESSORY/SCARF TOP", - "ACCESSORY/SHOES", - "ACCESSORY/SWIMSUIT", - "ACCESSORY/TIE", - "BOTTOM/BOTTOM", - "BOTTOM/CAPRI", - "BOTTOM/", - "BOTTOM/COAT", - "BOTTOM/CARDIGAN", - "BOTTOM/JEANS SHORTS", - "BOTTOM/BOOTS", - "BOTTOM/JEANS", - "BOTTOM/CARPI", - "BOTTOM/JUMPSUIT", - "BOTTOM/JEANS SKIRT", - "BOTTOM/JEANS CARPI", - "BOTTOM/JACKET", - "BOTTOM/LEATHER JACKET", - "BOTTOM/LEATHER PANTS", - "BOTTOM/JEANS PANTS", - "BOTTOM/PANTS", - "BOTTOM/LEATHER SHORTS", - "BOTTOM/LEATHER SKIRT", - "BOTTOM/OVERALL", - "BOTTOM/SHORTS", - "BOTTOM/LEGGING", - "BOTTOM/UNDERWEAR", - "BOTTOM/SKIRT", - "BOTTOM/TUTA", - "BOTTOM/SANDALS", - "BOTTOM/TEE", - "BOTTOM/SHOES", - "BOTTOM/SPORTSWEAR PANTS", - "BOTTON/PANTS", - "DRESS/JEANS JACKET", - "DRESS/", - "DRESS/ONE PIECE", - "DRESS/DRESS", - "DRESS/LEATHER DRESS", - "DRESS/JEANS SKIRT", - "DRESS/OVERALL", - "DRESS/EVENING DRESS", - "DRESS/SKIRT", - "DRESS/LEATHER SKIRT", - "DRESS/JEANS DRESS", - "DRESS/SHORTS", - "DRESS/JUMPSUIT", - "DRESS/VEST", - "DRESS/SHIRT", - "DRESS/TUTA", - "FUR/DOWN COAT", - "FUR/HAT", - "FUR/FUR CAPE", - "FUR/FUR COAT", - "FUR/FUR DOWN JACKET", - "FUR/FUR GILET", - "FUR/FUR CARDIGAN", - "FUR/FUR JACKET", - "FUR/FUR HAT", - "FUR/FUR SCARF", - "FUR/FUR VEST", - "GIFT/GIFT", - "GIFT/SCARF", - "JEANS/GILET", - "JEANS/JEANS CARPI", - "JEANS/DRESS", - "JEANS/JEANS BLOUSE", - "JEANS/JEANS", - "JEANS/JEANS OVERALL", - "JEANS/JEANS BLAZER", - "JEANS/JEANS DRESS", - "JEANS/SHIRT", - "JEANS/JEANS SHORTS", - "JEANS/JEANS GILET", - "JEANS/JEANS JACKET", - "JEANS/SKIRT", - "JEANS/TWIN SET", - "JEANS/JEANS PANTS", - "JEANS/JEANS SHIRT", - "JEANS/JEANS SKIRT", - "JEANS/JEANS VEST", - "JEANS/JEANS TOP", - "JEANS/OVERALL", - "JEANS/PANTS", - "JEANS/SHORTS", - "KNIT/CARDGAIN", - "KNIT/ONE PIECE", - "KNIT/CARDIGAN", - "KNIT/BRA TOP", - "KNIT/JACKET", - "KNIT/PULLOVER", - "KNIT/DRESS", - "KNIT/CAPE", - "KNIT/KNIT TOP", - "KNIT/CARDGIAN", - "KNIT/PANTS", - "KNIT/GILET", - "KNIT/LONG TOP", - "KNIT/SKIRT", - "KNIT/SHORTS", - "KNIT/SWEATER", - "KNIT/SWEATPR", - "KNIT/VEST", - "KNIT/TANK", - "KNIT/TOP", - "KNIT/TUTA", - "KNIT/TWIN SET", - "LEATHER/BLAZER", - "LEATHER/LEATHER BLAZER", - "LEATHER/LEATHER COAT", - "LEATHER/LEATHER PANTS", - "LEATHER/HAT", - "LEATHER/LEATHER BLOUSE", - "LEATHER/LEATHER DRESS", - "LEATHER/LEATHER SHORTS", - "LEATHER/LEATHER SKIRT", - "LEATHER/LEATHER GILET", - "LEATHER/LEATHER JACKET", - "LEATHER/LEATHER VEST", - "LEATHER/LEATHERSKIRT", - "LEATHER/LEATHERSHIRT", - "LEATHER/LEATHER TOP", - "ONE PIECE/BODYSUIT", - "ONE PIECE/COMBO SET", - "ONE PIECE/BODY", - "ONE PIECE/JUMPSUIT", - "ONE PIECE/DRESS", - "ONE PIECE/OVERALL", - "ONE PIECE/SWIMSUIT", - "ONE PIECE/TWIN SET", - "OUTERWEAR/CARDIGAN", - "OUTERWEAR/BLAZER", - "OUTERWEAR/DOWN COAT", - "OUTERWEAR/", - "OUTERWEAR/DOWN JACKET", - "OUTERWEAR/COAT", - "OUTERWEAR/DOWN GILET", - "OUTERWEAR/CAPE", - "OUTERWEAR/DOWN VEST", - "OUTERWEAR/FUR JACKET", - "OUTERWEAR/FUR VEST", - "OUTERWEAR/CAPE COAT", - "OUTERWEAR/LEATHER VEST", - "OUTERWEAR/PULLOVER", - "OUTERWEAR/GILET", - "OUTERWEAR/FUR COAT", - "OUTERWEAR/QUILTED JACKET", - "OUTERWEAR/SPORTSWEAR JACKET", - "OUTERWEAR/JACKET", - "OUTERWEAR/FUR GILET", - "OUTERWEAR/SHIRT", - "OUTERWEAR/TWIN SET", - "OUTERWEAR/LEATHER GILET", - "OUTERWEAR/JEANS JACKET", - "OUTERWEAR/TRENCH COAT", - "OUTERWEAR/LEATHER COAT", - "OUTERWEAR/ONE PIECE", - "OUTERWEAR/LEATHER JACKET", - "OUTERWEAR/SCARF", - "OUTERWEAR/SOCKS", - "OUTERWEAR/TOP", - "OUTERWEAR/UNIFORM", - "OUTERWEAR/VEST", - "OUTERWEAR/WINDBREAKER", - "OUTERWEAR/WINDERBREAKER", - "OUTPRWEAR/BLAZER", - "SHOES/PUMPS", - "SHOES/BOOTS", - "SHOES/SHOES", - "SHOES/SANDALS", - "TOP/BLOUSE", - "TOP/BLAZER", - "TOP/BAR TOP", - "TOP/BRA TOP", - "TOP/CARDIGAN", - "TOP/BODY", - "TOP/COAT", - "TOP/PANTS", - "TOP/DOWN VEST", - "TOP/JACKET", - "TOP/GILET", - "TOP/TWIN SET", - "TOP/LONG SLEEVES TEE", - "TOP/LONG TOP", - "TOP/KNIT TOP", - "TOP/VEST", - "TOP/ONE PIECE", - "TOP/TANK", - "TOP/PULLOVER", - "TOP/TOP", - "TOP/OVERALL", - "TOP/UNDERWEAR", - "TOP/SKIRT", - "TOP/UNIFORM", - "TOP/SHIRT", - "TOP/SWEATER", - "TOP/TUTA", - "TOP/TEE", - "TOP/TUNIC", - "TUTA/OVERALL", - "TUTA/TWIN SET", - "TUTA/TUTA" -] \ No newline at end of file diff --git a/app/service/outfit_matcher/config/fashion_category_mapping.json b/app/service/outfit_matcher/config/fashion_category_mapping.json deleted file mode 100644 index abdb4be..0000000 --- a/app/service/outfit_matcher/config/fashion_category_mapping.json +++ /dev/null @@ -1,242 +0,0 @@ -{ - "ACCECSSORY/BAG": "bags", - "ACCECSSORY/HAT": "hats", - "ACCESSORY/ACCESSORY": "accessories", - "ACCESSORY/BAG": "bags", - "ACCESSORY/BELT": "accessories", - "ACCESSORY/BOOTS": "shoes", - "ACCESSORY/BANGLE": "accessories", - "ACCESSORY/COMBO SET": "accessories", - "ACCESSORY/BRACELET": "accessories", - "ACCESSORY/BRA TOP": "tops", - "ACCESSORY/BIB": "accessories", - "ACCESSORY/GIFT": "accessories", - "ACCESSORY/FESTIVAL SET": "accessories", - "ACCESSORY/CAPE": "outerwear", - "ACCESSORY/BLANKET": "accessories", - "ACCESSORY/HAIR BAND": "accessories", - "ACCESSORY/GLOVES": "accessories", - "ACCESSORY/FUR SCARF": "accessories", - "ACCESSORY/BROOCH": "accessories", - "ACCESSORY/HAT": "hats", - "ACCESSORY/HAIR CLIPS": "accessories", - "ACCESSORY/SCARF": "scarves", - "ACCESSORY/CLIP": "accessories", - "ACCESSORY/HEAD BAND": "accessories", - "ACCESSORY/NECKLACE": "jewellery", - "ACCESSORY/SOCKS": "accessories", - "ACCESSORY/EARING": "jewellery", - "ACCESSORY/KEYRING": "accessories", - "ACCESSORY/OTHERS": "accessories", - "ACCESSORY/TOY": "accessories", - "ACCESSORY/HAIR CLIP": "accessories", - "ACCESSORY/RING": "jewellery", - "ACCESSORY/SANDALS": "shoes", - "ACCESSORY/SUN GLASS": "sunglasses", - "ACCESSORY/MASK": "accessories", - "ACCESSORY/Test Kit": "accessories", - "ACCESSORY/MUG": "accessories", - "ACCESSORY/TOWEL": "accessories", - "ACCESSORY/SCARF TOP": "scarves", - "ACCESSORY/SHOES": "shoes", - "ACCESSORY/SWIMSUIT": "all-body", - "ACCESSORY/TIE": "accessories", - "BOTTOM/BOTTOM": "bottoms", - "BOTTOM/CAPRI": "bottoms", - "BOTTOM/": "bottoms", - "BOTTOM/COAT": "outerwear", - "BOTTOM/CARDIGAN": "outerwear", - "BOTTOM/JEANS SHORTS": "bottoms", - "BOTTOM/BOOTS": "shoes", - "BOTTOM/JEANS": "bottoms", - "BOTTOM/CARPI": "bottoms", - "BOTTOM/JUMPSUIT": "all-body", - "BOTTOM/JEANS SKIRT": "bottoms", - "BOTTOM/JEANS CARPI": "bottoms", - "BOTTOM/JACKET": "outerwear", - "BOTTOM/LEATHER JACKET": "outerwear", - "BOTTOM/LEATHER PANTS": "bottoms", - "BOTTOM/JEANS PANTS": "bottoms", - "BOTTOM/PANTS": "bottoms", - "BOTTOM/LEATHER SHORTS": "bottoms", - "BOTTOM/LEATHER SKIRT": "bottoms", - "BOTTOM/OVERALL": "all-body", - "BOTTOM/SHORTS": "bottoms", - "BOTTOM/LEGGING": "bottoms", - "BOTTOM/UNDERWEAR": "bottoms", - "BOTTOM/SKIRT": "bottoms", - "BOTTOM/TUTA": "all-body", - "BOTTOM/SANDALS": "shoes", - "BOTTOM/TEE": "tops", - "BOTTOM/SHOES": "shoes", - "BOTTOM/SPORTSWEAR PANTS": "bottoms", - "BOTTON/PANTS": "bottoms", - "DRESS/JEANS JACKET": "outerwear", - "DRESS/": "all-body", - "DRESS/ONE PIECE": "all-body", - "DRESS/DRESS": "all-body", - "DRESS/LEATHER DRESS": "all-body", - "DRESS/JEANS SKIRT": "bottoms", - "DRESS/OVERALL": "all-body", - "DRESS/EVENING DRESS": "all-body", - "DRESS/SKIRT": "bottoms", - "DRESS/LEATHER SKIRT": "bottoms", - "DRESS/JEANS DRESS": "all-body", - "DRESS/SHORTS": "bottoms", - "DRESS/JUMPSUIT": "all-body", - "DRESS/VEST": "tops", - "DRESS/SHIRT": "tops", - "DRESS/TUTA": "all-body", - "FUR/DOWN COAT": "outerwear", - "FUR/HAT": "hats", - "FUR/FUR CAPE": "outerwear", - "FUR/FUR COAT": "outerwear", - "FUR/FUR DOWN JACKET": "outerwear", - "FUR/FUR GILET": "outerwear", - "FUR/FUR CARDIGAN": "outerwear", - "FUR/FUR JACKET": "outerwear", - "FUR/FUR HAT": "hats", - "FUR/FUR SCARF": "accessories", - "FUR/FUR VEST": "outerwear", - "GIFT/GIFT": "accessories", - "GIFT/SCARF": "accessories", - "JEANS/GILET": "outerwear", - "JEANS/JEANS CARPI": "bottoms", - "JEANS/DRESS": "all-body", - "JEANS/JEANS BLOUSE": "tops", - "JEANS/JEANS": "bottoms", - "JEANS/JEANS OVERALL": "all-body", - "JEANS/JEANS BLAZER": "outerwear", - "JEANS/JEANS DRESS": "all-body", - "JEANS/SHIRT": "tops", - "JEANS/JEANS SHORTS": "bottoms", - "JEANS/JEANS GILET": "outerwear", - "JEANS/JEANS JACKET": "outerwear", - "JEANS/SKIRT": "bottoms", - "JEANS/TWIN SET": "all-body", - "JEANS/JEANS PANTS": "bottoms", - "JEANS/JEANS SHIRT": "tops", - "JEANS/JEANS SKIRT": "bottoms", - "JEANS/JEANS VEST": "outerwear", - "JEANS/JEANS TOP": "tops", - "JEANS/OVERALL": "all-body", - "JEANS/PANTS": "bottoms", - "JEANS/SHORTS": "bottoms", - "KNIT/CARDGAIN": "outerwear", - "KNIT/ONE PIECE": "all-body", - "KNIT/CARDIGAN": "outerwear", - "KNIT/BRA TOP": "tops", - "KNIT/JACKET": "outerwear", - "KNIT/PULLOVER": "tops", - "KNIT/DRESS": "all-body", - "KNIT/CAPE": "outerwear", - "KNIT/KNIT TOP": "tops", - "KNIT/CARDGIAN": "outerwear", - "KNIT/PANTS": "bottoms", - "KNIT/GILET": "outerwear", - "KNIT/LONG TOP": "tops", - "KNIT/SKIRT": "bottoms", - "KNIT/SHORTS": "bottoms", - "KNIT/SWEATER": "tops", - "KNIT/SWEATPR": "tops", - "KNIT/VEST": "outerwear", - "KNIT/TANK": "tops", - "KNIT/TOP": "tops", - "KNIT/TUTA": "all-body", - "KNIT/TWIN SET": "all-body", - "LEATHER/BLAZER": "outerwear", - "LEATHER/LEATHER BLAZER": "outerwear", - "LEATHER/LEATHER COAT": "outerwear", - "LEATHER/LEATHER PANTS": "bottoms", - "LEATHER/HAT": "hats", - "LEATHER/LEATHER BLOUSE": "tops", - "LEATHER/LEATHER DRESS": "all-body", - "LEATHER/LEATHER SHORTS": "bottoms", - "LEATHER/LEATHER SKIRT": "bottoms", - "LEATHER/LEATHER GILET": "outerwear", - "LEATHER/LEATHER JACKET": "outerwear", - "LEATHER/LEATHER VEST": "outerwear", - "LEATHER/LEATHERSKIRT": "bottoms", - "LEATHER/LEATHERSHIRT": "tops", - "LEATHER/LEATHER TOP": "tops", - "ONE PIECE/BODYSUIT": "all-body", - "ONE PIECE/COMBO SET": "all-body", - "ONE PIECE/BODY": "all-body", - "ONE PIECE/JUMPSUIT": "all-body", - "ONE PIECE/DRESS": "all-body", - "ONE PIECE/OVERALL": "all-body", - "ONE PIECE/SWIMSUIT": "all-body", - "ONE PIECE/TWIN SET": "all-body", - "OUTERWEAR/CARDIGAN": "outerwear", - "OUTERWEAR/BLAZER": "outerwear", - "OUTERWEAR/DOWN COAT": "outerwear", - "OUTERWEAR/": "outerwear", - "OUTERWEAR/DOWN JACKET": "outerwear", - "OUTERWEAR/COAT": "outerwear", - "OUTERWEAR/DOWN GILET": "outerwear", - "OUTERWEAR/CAPE": "outerwear", - "OUTERWEAR/DOWN VEST": "outerwear", - "OUTERWEAR/FUR JACKET": "outerwear", - "OUTERWEAR/FUR VEST": "outerwear", - "OUTERWEAR/CAPE COAT": "outerwear", - "OUTERWEAR/LEATHER VEST": "outerwear", - "OUTERWEAR/PULLOVER": "outerwear", - "OUTERWEAR/GILET": "outerwear", - "OUTERWEAR/FUR COAT": "outerwear", - "OUTERWEAR/QUILTED JACKET": "outerwear", - "OUTERWEAR/SPORTSWEAR JACKET": "outerwear", - "OUTERWEAR/JACKET": "outerwear", - "OUTERWEAR/FUR GILET": "outerwear", - "OUTERWEAR/SHIRT": "tops", - "OUTERWEAR/TWIN SET": "all-body", - "OUTERWEAR/LEATHER GILET": "outerwear", - "OUTERWEAR/JEANS JACKET": "outerwear", - "OUTERWEAR/TRENCH COAT": "outerwear", - "OUTERWEAR/LEATHER COAT": "outerwear", - "OUTERWEAR/ONE PIECE": "all-body", - "OUTERWEAR/LEATHER JACKET": "outerwear", - "OUTERWEAR/SCARF": "accessories", - "OUTERWEAR/SOCKS": "accessories", - "OUTERWEAR/TOP": "tops", - "OUTERWEAR/UNIFORM": "outerwear", - "OUTERWEAR/VEST": "outerwear", - "OUTERWEAR/WINDBREAKER": "outerwear", - "OUTERWEAR/WINDERBREAKER": "outerwear", - "OUTPRWEAR/BLAZER": "outerwear", - "SHOES/PUMPS": "shoes", - "SHOES/BOOTS": "shoes", - "SHOES/SHOES": "shoes", - "SHOES/SANDALS": "shoes", - "TOP/BLOUSE": "tops", - "TOP/BLAZER": "outerwear", - "TOP/BAR TOP": "tops", - "TOP/BRA TOP": "tops", - "TOP/CARDIGAN": "outerwear", - "TOP/BODY": "all-body", - "TOP/COAT": "outerwear", - "TOP/PANTS": "bottoms", - "TOP/DOWN VEST": "outerwear", - "TOP/JACKET": "outerwear", - "TOP/GILET": "outerwear", - "TOP/TWIN SET": "tops", - "TOP/LONG SLEEVES TEE": "tops", - "TOP/LONG TOP": "tops", - "TOP/KNIT TOP": "tops", - "TOP/VEST": "outerwear", - "TOP/ONE PIECE": "all-body", - "TOP/TANK": "tops", - "TOP/PULLOVER": "outerwear", - "TOP/TOP": "tops", - "TOP/OVERALL": "all-body", - "TOP/UNDERWEAR": "bottoms", - "TOP/SKIRT": "bottoms", - "TOP/UNIFORM": "tops", - "TOP/SHIRT": "tops", - "TOP/SWEATER": "tops", - "TOP/TUTA": "all-body", - "TOP/TEE": "tops", - "TOP/TUNIC": "tops", - "TUTA/OVERALL": "all-body", - "TUTA/TWIN SET": "all-body", - "TUTA/TUTA": "all-body" -} \ No newline at end of file diff --git a/app/service/outfit_matcher/dataset.py b/app/service/outfit_matcher/dataset.py deleted file mode 100644 index 4718688..0000000 --- a/app/service/outfit_matcher/dataset.py +++ /dev/null @@ -1,141 +0,0 @@ -import json -import random -import itertools -import difflib -from copy import deepcopy - -from app.core.config import FASHION_CATEGORIES, FASHION_CATEGORIES_MAPPING - - -# Helper function to calculate the edit distance similarity between two file names -def sim_score(a, b): - return difflib.SequenceMatcher(None, a, b).ratio() - - -class FashionDataset(object): - fashion_categories = json.load(open(FASHION_CATEGORIES, "r")) - fashion_categories_mapping = json.load(open(FASHION_CATEGORIES_MAPPING, "r")) - - def __init__(self, item_metadata): - self.item_metadat = item_metadata - self.item2cate = self.get_item2cate(item_metadata) - self.cate2item = self.get_cate2item(item_metadata) - self.cate2num = {k: len(v) for k, v in self.cate2item.items()} - - # def generate_outfit(self, query_item, topk, max_outfits): - # query_item["mapped_cate"] = self.fashion_categories_mapping[query_item["semantic_category"]] - # possible_outfits = self.count_possible(query_item["mapped_cate"]) - # - # if possible_outfits < topk: - # raise ValueError(f"Cannot generate more than {topk} outfits!") - # - # outfit_list = self.get_possible_outfit(query_item) - # if possible_outfits > max_outfits: - # outfit_list = random.sample(outfit_list, max_outfits) - # return outfit_list - - def count_possible(self, given_cate): - possible = 0 - if given_cate == 'tops': - if self.cate2num['outerwear'] == 0: - possible = self.cate2num['bottoms'] - else: - possible = self.cate2num['bottoms'] * self.cate2num['outerwear'] - elif given_cate == 'bottoms': - if self.cate2num['outerwear'] == 0: - possible = self.cate2num['tops'] - else: - possible = self.cate2num['tops'] * self.cate2num['outerwear'] - elif given_cate == 'outerwear': - possible = self.cate2num['tops'] * self.cate2num['bottoms'] + self.cate2num['all-body'] - elif given_cate == 'all-body': - possible = self.cate2num['outerwear'] - return possible - - def generate_outfit(self, query_item, topk, max_outfits): - query_item["mapped_cate"] = self.fashion_categories_mapping[query_item["semantic_category"]] - given_cate = query_item["mapped_cate"] - - if given_cate == 'tops' or given_cate == "bottoms": - complementary_cate = "bottoms" if given_cate == "tops" else "tops" - # check bottom num - if complementary_cate not in self.cate2num.keys() or not self.cate2num[complementary_cate]: - raise ValueError(f"Not enough {complementary_cate} available to generate outfits.") - - complementary_items = deepcopy(self.cate2item[complementary_cate]) - sim_scores = [sim_score(item["item_name"], query_item["item_name"]) for item in complementary_items] - outfit_list = [] - used_items = set() - - while len(outfit_list) < max_outfits: - if not complementary_items: - break - - # 根据权重从bottoms中选择一个元素 - item_index = random.choices(range(len(complementary_items)), weights=sim_scores)[0] - item = complementary_items.pop(item_index) - sim_scores.pop(item_index) - - if item["item_name"] not in used_items: - used_items.add(item["item_name"]) - outfit = [query_item, item] - outfit_list.append(tuple(outfit)) - if "outerwear" in self.cate2item.keys(): - # 20% chance to include an outerwear - if self.cate2num['outerwear'] > 0 and random.random() < 0.2: - outerwear = random.choice(self.cate2item['outerwear']) - outfit.append(outerwear) - outfit_list.append(tuple(outfit)) - if len(outfit_list) < topk: - raise ValueError(f"Cannot generate more than {topk} outfits!") - - return outfit_list - elif given_cate == 'outerwear': - top_bottom_combination = [(x[0], x[1]) for x in - itertools.product(self.cate2item['tops'], self.cate2item['bottoms'])] - sim_scores = [sim_score(x[0]["item_name"], x[1]["item_name"]) for x in top_bottom_combination] - outfit_list = [] - used_items = set() - - while len(outfit_list) < max_outfits: - if not top_bottom_combination: - break - - # 根据权重从top bottom的组合中选择一个,根据top和bottom之间的文件名相似度选择 - top_bottom_index = random.choices(range(len(top_bottom_combination)), weights=sim_scores)[0] - top_bottom = top_bottom_combination.pop(top_bottom_index) - sim_scores.pop(top_bottom_index) - - top_name, bottom_name = top_bottom[0]["item_name"], top_bottom[1]["item_name"] - if top_name + bottom_name not in used_items: - used_items.add(top_name + bottom_name) - outfit = [query_item] + list(top_bottom) - outfit_list.append(tuple(outfit)) - - if len(outfit_list) < topk: - raise ValueError(f"Cannot generate more than {topk} outfits!") - - return outfit_list - elif given_cate == 'all-body': - outfit_list = [(query_item, x) for x in self.cate2item['outerwear']] - return outfit_list - - def get_item2cate(self, item_metadata): - item2cate = {} - for metadata in item_metadata: - cate = metadata["semantic_category"] - mapped_cate = self.fashion_categories_mapping[cate] - item2cate[metadata["item_name"]] = mapped_cate - return item2cate - - def get_cate2item(self, item_metadata): - cate2item = {} - for metadata in item_metadata: - cate = metadata["semantic_category"] - mapped_cate = self.fashion_categories_mapping[cate] - metadata["mapped_cate"] = mapped_cate - if mapped_cate not in cate2item.keys(): - cate2item[mapped_cate] = [metadata] - else: - cate2item[mapped_cate].append(metadata) - return cate2item diff --git a/app/service/outfit_matcher/foco.py b/app/service/outfit_matcher/foco.py deleted file mode 100644 index f2f40fc..0000000 --- a/app/service/outfit_matcher/foco.py +++ /dev/null @@ -1,251 +0,0 @@ -import operator -from numba import jit -import numpy as np -from skimage import transform, color - - -@jit(nopython=True) -def h_unit(h): - """ - The unit value (1-15) of hue - """ - for i, u in [(0, 1), (14, 2), (33, 3), (44, 4), (62, 5), (88, 6), (165, 7), (194, 8), (219, 9), (241, 10), - (266, 11), (292, 12), (307, 13), (327, 14), (344, 15), (360, 1)]: - if h <= i: - return u - return 0 - - -@jit(nopython=True) -def s_unit(s): - """ - The unit value (1-8) of saturation - """ - for i, u in [(0, 1), (5, 1), (10, 2), (14, 3), (34, 4), (53, 5), (63, 6), (80, 7), (100, 8)]: - if s <= i: - return u - return 0 - - -@jit(nopython=True) -def b_unit(b): - """ - The unit value (1-6) of brightness - """ - for i, u in [(0, 1), (20, 1), (39, 2), (55, 3), (72, 4), (90, 5), (100, 6)]: - if b <= i: - return u - return 0 - - -@jit(nopython=True) -def encode_foco(hsb): - h, s, b = hsb - theta = (h - 1) / 15 * np.pi * 2 - return np.array([np.cos(theta), np.sin(theta), (s - 1) / 7, (b - 1) / 5]) - - -@jit(nopython=True) -def is_white(hsb_unit): - """ - Whether an hsb color unit is white - """ - _, s, b = hsb_unit - return s == 1 and b == 6 - - -@jit(nopython=True) -def is_rice(hsb_unit): - """ - Whether an hsb color unit is rice - """ - h, s, b = hsb_unit - return h in [3, 4, 5] and s in [2, 3, 4] and b in [5, 6] - - -@jit(nopython=True) -def is_blue_netrual(hsb_unit): - """ - Whether an hsb color is blue netrual - """ - h, s, b = hsb_unit - return h in [9, 10] and s in [2, 3, 4, 5, 6] and b in [2, 3, 4] - - -@jit(nopython=True) -def is_pastel(hsb_unit): - """ - Whether an hsb color unit is pastel - """ - _, s, b = hsb_unit - return s == 1 and b in [4, 5] - - -@jit(nopython=True) -def is_black(hsb_unit): - """ - Whether an hsb color unit is black - """ - _, _, b = hsb_unit - return b == 1 - - -@jit(nopython=True) -def is_gray(hsb_unit): - """ - Whether an hsb color unit is gray - """ - _, s, b = hsb_unit - return s == 1 and b in [2, 3] - - -@jit(nopython=True) -def foco_merge(hsb_foco): - """ - Merge multiple black/white/gray foco unit to one - """ - if is_white(hsb_foco): return (1, 1, 6) - if is_black(hsb_foco): return (1, 1, 1) - if is_gray(hsb_foco): return (1, hsb_foco[1], hsb_foco[2]) - return hsb_foco[0], hsb_foco[1], hsb_foco[2] - - -def color_foco(img): - """ - transform an hsb image to color units - - input: (height, width, 3) array - output: an uint8 array with same shape - """ - img = img.copy() - h, w, c = img.shape - # print(h, w, c) - assert c == 3 - for i in range(h): - for j in range(w): - img[i, j, 0] = h_unit(img[i, j, 0]) - img[i, j, 1] = s_unit(img[i, j, 1]) - img[i, j, 2] = b_unit(img[i, j, 2]) - return img.astype(np.uint8) - - -@jit(nopython=True) -def is_ignore(hsb, eps=1): - """ - Ignore white background - """ - _, s, b = hsb - return s < eps and b > 100 - eps - - -@jit(nopython=True) -def ignore_list(hsb_img, ignore=is_ignore): - """ - Given an hsb image (ranges 360, 100, 100), output a dict of ignored pixel locations - - Input: - is_ignore: a lambda that determines whether a hsb pixel should be ignored - Output: - set of ignore pixel coordinate - """ - h, w, _ = hsb_img.shape - ign = set() - for i in range(h): - for j in range(w): - if ignore(hsb_img[i, j, :]): - ign.add((i, j)) - return ign - - -def color_histogram(img, merge=None, threshold=None, ignore=None): - """ - color histogram of an image - """ - h, w, c = img.shape - # print(h, w, c) - if merge is None: - merge = foco_merge - if threshold is None: - threshold = h + w - if ignore is None: - ignore = {} - hist = {} - assert c == 3 - for i in range(h): - for j in range(w): - if (i, j) in ignore: - continue - k = merge(tuple(img[i, j])) - if k in hist: - hist[k] += 1 - else: - hist[k] = 1 - - return {k: v for k, v in hist.items() if v > threshold} - - -def main_colors(img, n=1, frequency=False, hist=False, merge=True): - """ - return the list of main colors of a hsb image. - - img: a hsb image - n: number of main colors to return - frequency: whether return freqency - """ - if hist: - hist = img - else: - hist = color_histogram(color_foco(img), ignore=ignore_list(img)) - if merge: - newhist = {} - oldk = {} - ks = sorted(hist.items(), key=operator.itemgetter(1), reverse=True) - # print(ks) - for k, v in ks: - if k in oldk: - continue - near = {kk: hist[kk] for kk in hist if np.abs(np.sum(np.abs(np.array(k) - np.array(kk)))) <= 2} - # print(near) - newhist[k] = sum(v for k, v in near.items()) - for kk in near: - oldk[kk] = None - hist.pop(kk) - hist = newhist - items = sorted(hist.items(), key=operator.itemgetter(1), reverse=True)[:n] - return items if frequency else [k for k, v in items] - - -def rgb2hsb(rgb_img): - """ - Transform an rgb image (unit 8 np array, ranges 255, 255, 255) to hsb (float np array, ranges 360, 100, 100) - """ - rgb_img = np.array(rgb_img).astype('uint8') - return color.rgb2hsv(rgb_img) * np.array([360, 100, 100]).reshape(1, 1, 3) - - -def extract_main_colors(img, n=5): - """ - Args: - img: Numpy array (height, width, channel) - n: number of main colors wants to extract - - return: - Features of main colors: Numpy array (n, 5) - """ - # Convert to hsb - img = img.astype("uint8") - height = img.shape[0] - width = img.shape[1] - ratio = (512 * 512) / (height * width) - if ratio < 1.0: - img = transform.resize(img, (int(height * ratio), int(width * ratio))) - img = color.rgb2hsv(img) * np.array([360, 100, 100]).reshape(1, 1, 3) - - # Extract main colors - cf = main_colors(img, n, frequency=True) - s = sum(f for c, f in cf) - features = np.zeros((n, 5)) - for i, (c, f) in enumerate(cf): - features[i, :4] = encode_foco(c) - features[i, 4] = f / s - return features diff --git a/app/service/outfit_matcher/outfit_evaluator.py b/app/service/outfit_matcher/outfit_evaluator.py deleted file mode 100644 index 0392414..0000000 --- a/app/service/outfit_matcher/outfit_evaluator.py +++ /dev/null @@ -1,338 +0,0 @@ -import io -from PIL import Image -import cv2 -import numpy as np -import tritonclient.http as httpclient -import torch -from matplotlib import pyplot as plt, image as mpimg -from minio import Minio -from torchvision import transforms - -from app.core.config import * -from app.service.outfit_matcher.foco import extract_main_colors -from app.service.utils.decorator import RunTime - - -class OutfitMatcher(object): - def __init__(self): - self.tritonclient = httpclient.InferenceServerClient(url=f"{OM_TRITON_IP}:{OM_TRITON_PORT}") - self.minio_client = Minio( - f"{MINIO_IP}:{MINIO_PORT}", - access_key=MINIO_ACCESS, - secret_key=MINIO_SECRET, - secure=MINIO_SECURE) - - @staticmethod - def pad_array(input_value, value=0): - """pad List of Array into same batch size - - Args: - input_value: List of numpy arrary need to be padded - - Returns: - Tensor: [batch_dim, max_dim, original_tensor_size] - """ - max_dim = max([len(x) for x in input_value]) - mask = np.zeros((len(input_value), max_dim), dtype=np.float32) - - # Pad each array - padded_arrays = [] - for i, array in enumerate(input_value): - # Compute padding amount along the pad dimension - pad_dim = max_dim - array.shape[0] - consistent_shape = array.shape[1:] - pad_widths = [(0, pad_dim)] + [(0, 0)] * len(consistent_shape) - padded_array = np.pad(array, pad_widths, mode='constant', constant_values=value) - padded_arrays.append(padded_array) - - mask[i, array.shape[0]:] = float("-inf") - - # Stack the padded arrays and change the dimension - batched_arrays = np.stack(padded_arrays, axis=0) - return batched_arrays, mask - - @staticmethod - def imnormalize(img, mean, std, to_rgb=True): - """Normalize an image with mean and std. - - Args: - img (ndarray): Image to be normalized. - mean (ndarray): The mean to be used for normalize. - std (ndarray): The std to be used for normalize. - to_rgb (bool): Whether to convert to rgb. - - Returns: - ndarray: The normalized image. - """ - img = img.copy().astype(np.float32) - assert img.dtype != np.uint8 - mean = np.float64(mean.reshape(1, -1)) - stdinv = 1 / np.float64(std.reshape(1, -1)) - if to_rgb: - cv2.cvtColor(img, cv2.COLOR_BGR2RGB, img) # inplace - cv2.subtract(img, mean, img) # inplace - cv2.multiply(img, stdinv, img) # inplace - return img - - @RunTime - def visualize(self, outfits, scores, topk=5, best=True, output_path=None): - # 将outfits和scores按照scores的值进行排序 - sorted_indices = np.argsort(-scores.flatten() if best else scores.flatten())[:topk] # 使用负号进行降序排序 - outfits = [outfits[i] for i in sorted_indices] # 最好或最差的五个 - scores = scores[sorted_indices] # 这五个的分数 - - # 是否画出来 - if output_path: - # 设置子图的行列数 - num_rows = len(outfits) - num_cols = max([len(x) for x in outfits]) + 1 # 一个是图片,一个是分数 - - # 创建一个新的图像,并指定子图的行列数 - fig, axes = plt.subplots(num_rows, num_cols, figsize=(8, 15)) - - title = f"Best {topk} Outfits" if best else f"Worst {topk} Outfits" - fig.suptitle(title, fontsize=16) - - # 遍历每套outfit并将其显示在对应的子图中 - for i, (outfit, score) in enumerate(zip(outfits, scores)): - # 显示分数 - axes[i, 0].text(0.1, 0.5, f"Score: {score[0]:.4f}", fontsize=12) - axes[i, 0].axis("off") - # 显示图片 - for j, item in enumerate(outfit): - img = mpimg.imread(item['image_path']) # 读取图片 - axes[i, j + 1].imshow(img) # 在对应的子图中显示图片 - axes[i, j + 1].axis('off') # 关闭坐标轴 - axes[i, j + 1].set_title(item["semantic_category"], fontsize=10) - for j in range(len(outfit), num_cols): - axes[i, j].axis("off") - - # 在每一行的底部添加一条横线 - axes[i, 0].axhline(y=0, color='black', linewidth=1) - # 隐藏最后一行的横线 - axes[-1, 0].axhline(y=0, color='white', linewidth=1) - - # 调整布局 - plt.subplots_adjust(wspace=0.1, hspace=0.1) - plt.tight_layout() - - if output_path: - plt.savefig(output_path) - else: - plt.show() - else: - return outfits, scores.numpy().flatten().tolist() - - -class OutfitMatcherHon(OutfitMatcher): - def __init__(self): - super().__init__() - - def load_image(self, img_path): - try: - # 从 MinIO 中获取对象(图像文件) - image_data = self.minio_client.get_object(img_path.split("/", 1)[0], img_path.split("/", 1)[1]) - - # 读取图像数据并转换为 PIL 图像对象 - pil_image = Image.open(io.BytesIO(image_data.read())) - - # 将 PIL 图像转换为 NumPy 数组 - image_array = np.array(pil_image) - - return image_array - except Exception as e: - print(f"An error occurred: {e}") - return None - # if 'http' in img_path: - # file = requests.get(img_path) - # image = cv2.imdecode(np.fromstring(file.content, np.uint8), 1) - # image = Image.fromarray(image.astype('uint8'), 'RGB') - # else: - # image = Image.open(img_path).convert('RGB') - # return np.array(image) - - @staticmethod - def resize_image(img): - """ - Args: - img: ndarray (height, width, channel) - """ - resized_img = cv2.resize(img, (224, 224), dst=None, interpolation=1) - return resized_img - - def preprocess(self, outfits): - outfit_images = [] - outfit_colors = [] - for outfit in outfits: - images = [] - colors = [] - for item in outfit: - image = self.load_image(item["image_path"]) - image = self.resize_image(image) - normalized_image = self.imnormalize(image, - mean=np.array([208.32996145, 201.28227452, 198.47047691], - dtype=np.float32), - std=np.array([75.48939648, 80.47423057, 82.21144189], - dtype=np.float32)) - images.append(normalized_image.transpose(2, 0, 1)) - color = extract_main_colors(image) - colors.append(color) - images = np.stack(images, axis=0) - outfit_images.append(images) # List[(items, 3, 224, 224)] - colors = np.stack(colors, axis=0) - outfit_colors.append(colors) - outfit_images, mask = self.pad_array(outfit_images) - outfit_colors, _ = self.pad_array(outfit_colors) - return outfit_images, outfit_colors, mask - - def get_result(self, outfits): - # start = time.time() - image, color, mask = self.preprocess(outfits) - # print(start - time.time()) - # transformed_img = image.astype(np.float32) - # 输入集 - inputs = [ - httpclient.InferInput("input__0", image.shape, datatype="FP32"), - httpclient.InferInput("input__1", color.shape, datatype="FP32"), - httpclient.InferInput("input__2", mask.shape, datatype="FP32"), - ] - inputs[0].set_data_from_numpy(image.astype(np.float32), binary_data=True) - inputs[1].set_data_from_numpy(color.astype(np.float32), binary_data=True) - inputs[2].set_data_from_numpy(mask.astype(np.float32), binary_data=True) - # 输出集 - outputs = [ - httpclient.InferRequestedOutput("output__0", binary_data=True), - ] - results = self.tritonclient.infer(model_name="outfit_matcher_hon", inputs=inputs, outputs=outputs) - # 推理 - # 取结果 - inference_output1 = torch.from_numpy(results.as_numpy("output__0")) - return inference_output1 # Shape (N, 1) - - -class OutfitMaterTypeAware(OutfitMatcher): - base_fashion_categories = [ - 'accessories', 'all-body', 'bags', 'bottoms', 'hats', 'jewellery', - 'outerwear', 'scarves', 'shoes', 'sunglasses', 'tops' - ] - - @RunTime - def __init__(self): - super().__init__() - - @RunTime - # TODO 用多线程读图片 - def load_image(self, img_path): - try: - # 从 MinIO 中获取对象(图像文件) - image_data = self.minio_client.get_object(img_path.split("/", 1)[0], img_path.split("/", 1)[1]) - - # 读取图像数据并转换为 PIL 图像对象 - pil_image = Image.open(io.BytesIO(image_data.data)).convert("RGB") - - # 将 PIL 图像转换为 NumPy 数组 - # image_array = np.array(pil_image) - - return pil_image - except Exception as e: - print(f"An error occurred: {e}") - return None - # if 'http' in img_path: - # file = requests.get(img_path) - # image = cv2.imdecode(np.fromstring(file.content, np.uint8), 1) - # image = Image.fromarray(image.astype('uint8'), 'RGB') - # else: - # image = Image.open(img_path).convert('RGB') - # return np.array(image) - - @staticmethod - def resize_image(img): - """ - Args: - img: ndarray (height, width, channel) - """ - image_transforms = transforms.Compose([ - transforms.Resize(112), - transforms.CenterCrop(112), - transforms.ToTensor(), - transforms.Normalize(mean=[0.485, 0.456, 0.406], - std=[0.229, 0.224, 0.225]), - ]) - resized_img = image_transforms(img).numpy() - return resized_img - - def preprocess(self, outfits): - outfit_images = [] - outfit_categories = [] - for outfit in outfits: - images = [] - categories = [] - for item in outfit: - image = self.load_image(item["image_path"]) - image = self.resize_image(image) - images.append(image) - category = self.base_fashion_categories.index(item["mapped_cate"]) - categories.append(category) - images = np.stack(images, axis=0) - outfit_images.append(images) # List[(items, 3, 224, 224)] - categories = np.array(categories) - outfit_categories.append(categories) # List[(items)] - outfit_images, mask = self.pad_array(outfit_images, value=0) - outfit_categories, _ = self.pad_array(outfit_categories, value=len(self.base_fashion_categories)) - return outfit_images, outfit_categories, mask - - @RunTime - def get_result(self, outfits): - """Input outfits structure and output scores. - Args: - outfits: outfits to be evaluated. - Example: - [ - [ - { - "item_name": "MSE_57987", - "semantic_category": "BOTTOM/PANTS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_57987.jpg", - "mapped_cate": "bottoms" - }, - { - "item_name": "MPO_SP7712", - "semantic_category": "TOP/TANK", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7712.jpg", - "mapped_cate": "tops" - }, - { - "item_name": "MWSS27195", - "semantic_category": "OUTERWEAR/GILET", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MWSS27195.jpg", - "mapped_cate": "outerwear" - } - ], - ... - ] - Returns: - scores: List of float - """ - image, category, mask = self.preprocess(outfits) - client = httpclient.InferenceServerClient(url=f"{OM_TRITON_IP}:{OM_TRITON_PORT}") - # 输入集 - inputs = [ - httpclient.InferInput("input__0", image.shape, datatype="FP32"), - httpclient.InferInput("input__1", category.shape, datatype="INT16"), - httpclient.InferInput("input__2", mask.shape, datatype="FP32"), - ] - inputs[0].set_data_from_numpy(image.astype(np.float32), binary_data=True) - inputs[1].set_data_from_numpy(category.astype(np.int16), binary_data=True) - inputs[2].set_data_from_numpy(mask.astype(np.float32), binary_data=True) - # 输出集 - outputs = [ - httpclient.InferRequestedOutput("output__0", binary_data=True), - httpclient.InferRequestedOutput("output__1", binary_data=True) - ] - results = client.infer(model_name="outfit_matcher_type_aware", inputs=inputs, outputs=outputs) - # 推理 - # 取结果 - scores = torch.from_numpy(results.as_numpy("output__0")) # Shape (N, 1) - features = torch.from_numpy(results.as_numpy("output__1")) # Shape (N, 64) - - return scores, features diff --git a/app/service/outfit_matcher/service.py b/app/service/outfit_matcher/service.py deleted file mode 100644 index 59961cb..0000000 --- a/app/service/outfit_matcher/service.py +++ /dev/null @@ -1,37 +0,0 @@ -import json -import os -from pprint import pprint - -from app.service.outfit_matcher.dataset import FashionDataset -from app.service.outfit_matcher.outfit_evaluator import OutfitMaterTypeAware - -if __name__ == '__main__': - with open("./test_param/recommendation_test.json", "r") as f: - param = json.load(f) - fashion_dataset = FashionDataset(param["database"]) - service = OutfitMaterTypeAware() - best_list = [] - bad_list = [] - for item in param["query"]: - outfits = fashion_dataset.generate_outfit(item, param["topk"], param["max_outfits"]) - scores, features = service.get_result(outfits) - # save features - - # 链接milvus - - # 存入数据库 - # 关闭链接 - - # print(scores) - # print(len(scores)) - best_outfits, best_scores = service.visualize(outfits, scores, param["topk"], best=True, - # output_path=os.path.join(r"E:\workspace\outfit_matcher\2024 SS Outfit", f"{item['item_name']}_best_{param['topk']}.png") - ) - bad_outfits, bad_scores = service.visualize(outfits, scores, param["topk"], best=False, - # output_path=os.path.join(r"E:\workspace\outfit_matcher\2024 SS Outfit", f"{item['item_name']}_worst_{param['topk']}.png") - ) - best_list.append({"best_outfits": best_outfits, "best_scores": best_scores}) - bad_list.append({"bad_outfits": bad_outfits, "bad_scores": bad_scores}) - - pprint(best_list) - pprint(bad_list) diff --git a/app/service/outfit_matcher/test_param/recommendation_test.json b/app/service/outfit_matcher/test_param/recommendation_test.json deleted file mode 100644 index 6e6f624..0000000 --- a/app/service/outfit_matcher/test_param/recommendation_test.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "topk": 1, - "max_outfits": 100, - "is_best": true, - "query": [ - { - "item_name": "MWSS27212", - "semantic_category": "TOP/BLOUSE", - "image_path": "test/2024 SS/MWSS27212.jpg" - } - ], - "database": [ - { - "item_name": "MLSS27162", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MLSS27162.jpg" - }, - { - "item_name": "MKTS27017", - "semantic_category": "OUTERWEAR/WINDBREAKER", - "image_path": "test/2024 SS/MKTS27017.jpg" - }, - { - "item_name": "MLSS27160", - "semantic_category": "BOTTOM/PANTS", - "image_path": "test/2024 SS/MLSS27160.jpg" - } - ] -} \ No newline at end of file diff --git a/app/service/outfit_matcher/test_param/recommendation_test_pkc.json b/app/service/outfit_matcher/test_param/recommendation_test_pkc.json deleted file mode 100644 index 9290de8..0000000 --- a/app/service/outfit_matcher/test_param/recommendation_test_pkc.json +++ /dev/null @@ -1,849 +0,0 @@ -{ - "topk": 5, - "max_outfits": 100, - "query": [ - { - "item_name": "MSE_58107", - "semantic_category": "TOP/SHIRT", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58107.jpg" - }, - { - "item_name": "MKTS27047", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27047.jpg" - }, - { - "item_name": "MKTS27028", - "semantic_category": "OUTERWEAR/JACKET", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27028.jpg" - }, - { - "item_name": "MSE_58057", - "semantic_category": "OUTERWEAR/BLAZER", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58057.jpg" - }, - { - "item_name": "MSE_58495", - "semantic_category": "TOP/SHIRT", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58495.jpg" - } - ], - "database": - [ - { - "item_name": "MKTS27017", - "semantic_category": "OUTERWEAR/WINDBREAKER", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27017.jpg" - }, - { - "item_name": "MKTS27047", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27047.jpg" - }, - { - "item_name": "MKTS27000", - "semantic_category": "BOTTOM/PANTS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27000.jpg" - }, - { - "item_name": "MKTS27001", - "semantic_category": "BOTTOM/SHORTS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27001.jpg" - }, - { - "item_name": "MZOS27178", - "semantic_category": "KNIT/CARDIGAN", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MZOS27178.jpg" - }, - { - "item_name": "MZOS27179", - "semantic_category": "KNIT/KNIT TOP", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MZOS27179.jpg" - }, - { - "item_name": "MWSS27184", - "semantic_category": "TOP/TEE", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MWSS27184.jpg" - }, - { - "item_name": "MWSS27191", - "semantic_category": "OUTERWEAR/TWIN SET", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MWSS27191.jpg" - }, - { - "item_name": "MWSS27193", - "semantic_category": "OUTERWEAR/JACKET", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MWSS27193.jpg" - }, - { - "item_name": "MWSS27195", - "semantic_category": "OUTERWEAR/GILET", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MWSS27195.jpg" - }, - { - "item_name": "MWSS27200", - "semantic_category": "KNIT/VEST", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MWSS27200.jpg" - }, - { - "item_name": "MWSS27209", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MWSS27209.jpg" - }, - { - "item_name": "MWSS27210", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MWSS27210.jpg" - }, - { - "item_name": "MWSS27211", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MWSS27211.jpg" - }, - { - "item_name": "MWSS27212", - "semantic_category": "TOP/BLOUSE", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MWSS27212.jpg" - }, - { - "item_name": "MKTS27008", - "semantic_category": "OUTERWEAR/BLAZER", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27008.jpg" - }, - { - "item_name": "MKTS27009", - "semantic_category": "BOTTOM/PANTS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27009.jpg" - }, - { - "item_name": "MKTS27010", - "semantic_category": "OUTERWEAR/BLAZER", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27010.jpg" - }, - { - "item_name": "MKTS27012", - "semantic_category": "OUTERWEAR/JACKET", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27012.jpg" - }, - { - "item_name": "MKTS27013", - "semantic_category": "BOTTOM/SHORTS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27013.jpg" - }, - { - "item_name": "MKTS27014", - "semantic_category": "ONE PIECE/TWIN SET", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27014.jpg" - }, - { - "item_name": "MKTS27015", - "semantic_category": "OUTERWEAR/GILET", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27015.jpg" - }, - { - "item_name": "MKTS27016", - "semantic_category": "BOTTOM/SHORTS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27016.jpg" - }, - { - "item_name": "MKTS27027", - "semantic_category": "BOTTOM/PANTS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27027.jpg" - }, - { - "item_name": "MKTS27028", - "semantic_category": "OUTERWEAR/JACKET", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27028.jpg" - }, - { - "item_name": "MKTS27029", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27029.jpg" - }, - { - "item_name": "MKTS27030", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27030.jpg" - }, - { - "item_name": "MKTS27031", - "semantic_category": "BOTTOM/SKIRT", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27031.jpg" - }, - { - "item_name": "MKTS27034", - "semantic_category": "TOP/SHIRT", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27034.jpg" - }, - { - "item_name": "MKTS27035", - "semantic_category": "ONE PIECE/TWIN SET", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27035.jpg" - }, - { - "item_name": "MKTS27038", - "semantic_category": "TOP/TOP", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27038.jpg" - }, - { - "item_name": "MKTS27039", - "semantic_category": "TOP/TOP", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27039.jpg" - }, - { - "item_name": "MKTS27040", - "semantic_category": "TOP/TOP", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27040.jpg" - }, - { - "item_name": "MKTS27045", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27045.jpg" - }, - { - "item_name": "MKTS27046", - "semantic_category": "TOP/SHIRT", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27046.jpg" - }, - { - "item_name": "MKTS27050", - "semantic_category": "TOP/TOP", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27050.jpg" - }, - { - "item_name": "MKTS27059", - "semantic_category": "TOP/TEE", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27059.jpg" - }, - { - "item_name": "MKTS27061", - "semantic_category": "TOP/TOP", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27061.jpg" - }, - { - "item_name": "MKTS27062", - "semantic_category": "TOP/BLOUSE", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27062.jpg" - }, - { - "item_name": "MKTS27066", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27066.jpg" - }, - { - "item_name": "MKTS27067", - "semantic_category": "TOP/TEE", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27067.jpg" - }, - { - "item_name": "MKTS27068", - "semantic_category": "ONE PIECE/TWIN SET", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27068.jpg" - }, - { - "item_name": "MKTS27002", - "semantic_category": "TOP/BLOUSE", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27002.jpg" - }, - { - "item_name": "MKTS27003", - "semantic_category": "OUTERWEAR/GILET", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27003.jpg" - }, - { - "item_name": "MKTS27004", - "semantic_category": "BOTTOM/PANTS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27004.jpg" - }, - { - "item_name": "MKTS27011", - "semantic_category": "TOP/VEST", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27011.jpg" - }, - { - "item_name": "MKTS27018", - "semantic_category": "TOP/SHIRT", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27018.jpg" - }, - { - "item_name": "MKTS27019", - "semantic_category": "OUTERWEAR/BLAZER", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27019.jpg" - }, - { - "item_name": "MKTS27058", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27058.jpg" - }, - { - "item_name": "MLSS27101", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27101.jpg" - }, - { - "item_name": "MLSS27102", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27102.jpg" - }, - { - "item_name": "MLSS27103", - "semantic_category": "OUTERWEAR/GILET", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27103.jpg" - }, - { - "item_name": "MLSS27104", - "semantic_category": "BOTTOM/SHORTS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27104.jpg" - }, - { - "item_name": "MLSS27107", - "semantic_category": "JEANS/JEANS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27107.jpg" - }, - { - "item_name": "MLSS27109", - "semantic_category": "JEANS/JEANS JACKET", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27109.jpg" - }, - { - "item_name": "MLSS27110", - "semantic_category": "JEANS/JEANS JACKET", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27110.jpg" - }, - { - "item_name": "MLSS27111", - "semantic_category": "JEANS/JEANS PANTS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27111.jpg" - }, - { - "item_name": "MLSS27112", - "semantic_category": "JEANS/JEANS PANTS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27112.jpg" - }, - { - "item_name": "MLSS27113", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27113.jpg" - }, - { - "item_name": "MLSS27119", - "semantic_category": "JEANS/JEANS SKIRT", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27119.jpg" - }, - { - "item_name": "MLSS27122", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27122.jpg" - }, - { - "item_name": "MLSS27123", - "semantic_category": "TOP/TOP", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27123.jpg" - }, - { - "item_name": "MLSS27128", - "semantic_category": "JEANS/JEANS JACKET", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27128.jpg" - }, - { - "item_name": "MLSS27129", - "semantic_category": "JEANS/JEANS SHORTS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27129.jpg" - }, - { - "item_name": "MLSS27132", - "semantic_category": "TOP/TOP", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27132.jpg" - }, - { - "item_name": "MLSS27133", - "semantic_category": "BOTTOM/SKIRT", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27133.jpg" - }, - { - "item_name": "MLSS27136", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27136.jpg" - }, - { - "item_name": "MLSS27137", - "semantic_category": "TOP/SHIRT", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27137.jpg" - }, - { - "item_name": "MLSS27140", - "semantic_category": "OUTERWEAR/JACKET", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27140.jpg" - }, - { - "item_name": "MLSS27141", - "semantic_category": "TOP/SHIRT", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27141.jpg" - }, - { - "item_name": "MLSS27142", - "semantic_category": "TOP/SHIRT", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27142.jpg" - }, - { - "item_name": "MLSS27145", - "semantic_category": "OUTERWEAR/WINDBREAKER", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27145.jpg" - }, - { - "item_name": "MLSS27146", - "semantic_category": "TOP/TOP", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27146.jpg" - }, - { - "item_name": "MLSS27147", - "semantic_category": "BOTTOM/SKIRT", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27147.jpg" - }, - { - "item_name": "MLSS27148", - "semantic_category": "TOP/TOP", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27148.jpg" - }, - { - "item_name": "MLSS27149", - "semantic_category": "BOTTOM/PANTS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27149.jpg" - }, - { - "item_name": "MLSS27150", - "semantic_category": "OUTERWEAR/JACKET", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27150.jpg" - }, - { - "item_name": "MLSS27152", - "semantic_category": "TOP/TEE", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27152.jpg" - }, - { - "item_name": "MLSS27154", - "semantic_category": "TOP/TEE", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27154.jpg" - }, - { - "item_name": "MLSS27156", - "semantic_category": "TOP/VEST", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27156.jpg" - }, - { - "item_name": "MLSS27157", - "semantic_category": "OUTERWEAR/WINDBREAKER", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27157.jpg" - }, - { - "item_name": "MLSS27159", - "semantic_category": "BOTTOM/PANTS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27159.jpg" - }, - { - "item_name": "MLSS27160", - "semantic_category": "BOTTOM/PANTS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27160.jpg" - }, - { - "item_name": "MLSS27161", - "semantic_category": "KNIT/CARDIGAN", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27161.jpg" - }, - { - "item_name": "MLSS27162", - "semantic_category": "TOP/SHIRT", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27162.jpg" - }, - { - "item_name": "MLSS27167", - "semantic_category": "OUTERWEAR/JACKET", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27167.jpg" - }, - { - "item_name": "MLSS27173", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27173.jpg" - }, - { - "item_name": "MLSS27174", - "semantic_category": "TOP/TOP", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27174.jpg" - }, - { - "item_name": "MLSS27175", - "semantic_category": "BOTTOM/PANTS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27175.jpg" - }, - { - "item_name": "MLSS27176", - "semantic_category": "BOTTOM/SKIRT", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27176.jpg" - }, - { - "item_name": "MKTS27073", - "semantic_category": "BOTTOM/SKIRT", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27073.jpg" - }, - { - "item_name": "MLSS27226", - "semantic_category": "BOTTOM/SKIRT", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27226.jpg" - }, - { - "item_name": "MPO_SP7685", - "semantic_category": "TOP/BLOUSE", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7685.jpg" - }, - { - "item_name": "MPO_SP7686", - "semantic_category": "TOP/SHIRT", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7686.jpg" - }, - { - "item_name": "MPO_SP7687", - "semantic_category": "TOP/SHIRT", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7687.jpg" - }, - { - "item_name": "MPO_SP7692", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7692.jpg" - }, - { - "item_name": "MPO_SP7693", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7693.jpg" - }, - { - "item_name": "MPO_SP7694", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7694.jpg" - }, - { - "item_name": "MPO_SP7696", - "semantic_category": "BOTTOM/PANTS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7696.jpg" - }, - { - "item_name": "MPO_SP7697", - "semantic_category": "JEANS/JEANS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7697.jpg" - }, - { - "item_name": "MPO_SP7704", - "semantic_category": "OUTERWEAR/BLAZER", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7704.jpg" - }, - { - "item_name": "MPO_SP7705", - "semantic_category": "OUTERWEAR/JACKET", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7705.jpg" - }, - { - "item_name": "MPO_SP7706", - "semantic_category": "JEANS/JEANS JACKET", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7706.jpg" - }, - { - "item_name": "MPO_SP7711", - "semantic_category": "TOP/VEST", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7711.jpg" - }, - { - "item_name": "MPO_SP7712", - "semantic_category": "TOP/TANK", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7712.jpg" - }, - { - "item_name": "MPO_SP7717", - "semantic_category": "TOP/TEE", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7717.jpg" - }, - { - "item_name": "MPO_SP7722", - "semantic_category": "TOP/TOP", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7722.jpg" - }, - { - "item_name": "MPO_SP7723", - "semantic_category": "TOP/BLOUSE", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7723.jpg" - }, - { - "item_name": "MPO_SP7726", - "semantic_category": "TOP/SHIRT", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7726.jpg" - }, - { - "item_name": "MPO_SP7729", - "semantic_category": "TOP/SHIRT", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7729.jpg" - }, - { - "item_name": "MPO_SP7731", - "semantic_category": "TOP/BLOUSE", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7731.jpg" - }, - { - "item_name": "MPO_SP7732", - "semantic_category": "TOP/SHIRT", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7732.jpg" - }, - { - "item_name": "MPO_SP7735", - "semantic_category": "TOP/SHIRT", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7735.jpg" - }, - { - "item_name": "MSE_58197", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58197.jpg" - }, - { - "item_name": "MSE_58198", - "semantic_category": "TOP/BLOUSE", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58198.jpg" - }, - { - "item_name": "MSE_58199", - "semantic_category": "BOTTOM/PANTS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58199.jpg" - }, - { - "item_name": "MSE_58112", - "semantic_category": "TOP/SHIRT", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58112.jpg" - }, - { - "item_name": "MSE_58114", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58114.jpg" - }, - { - "item_name": "MSE_58241", - "semantic_category": "TOP/BLOUSE", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58241.jpg" - }, - { - "item_name": "MSE_57987", - "semantic_category": "BOTTOM/PANTS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_57987.jpg" - }, - { - "item_name": "MSE_57988", - "semantic_category": "OUTERWEAR/BLAZER", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_57988.jpg" - }, - { - "item_name": "MSE_58203", - "semantic_category": "OUTERWEAR/BLAZER", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58203.jpg" - }, - { - "item_name": "MSE_58106", - "semantic_category": "BOTTOM/PANTS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58106.jpg" - }, - { - "item_name": "MSE_58107", - "semantic_category": "TOP/SHIRT", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58107.jpg" - }, - { - "item_name": "MSE_58132", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58132.jpg" - }, - { - "item_name": "MSE_58133", - "semantic_category": "TOP/SHIRT", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58133.jpg" - }, - { - "item_name": "MSE_58057", - "semantic_category": "OUTERWEAR/BLAZER", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58057.jpg" - }, - { - "item_name": "MSE_58058", - "semantic_category": "BOTTOM/PANTS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58058.jpg" - }, - { - "item_name": "MSE_58222", - "semantic_category": "BOTTOM/SKIRT", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58222.jpg" - }, - { - "item_name": "MSE_58317", - "semantic_category": "TOP/BLOUSE", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58317.jpg" - }, - { - "item_name": "MSE_58045", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58045.jpg" - }, - { - "item_name": "MSE_58275", - "semantic_category": "JEANS/JEANS DRESS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58275.jpg" - }, - { - "item_name": "MSE_58276", - "semantic_category": "JEANS/JEANS JACKET", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58276.jpg" - }, - { - "item_name": "MSE_58277", - "semantic_category": "JEANS/JEANS SKIRT", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58277.jpg" - }, - { - "item_name": "MSE_58183", - "semantic_category": "TOP/BLOUSE", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58183.jpg" - }, - { - "item_name": "MSE_58184", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58184.jpg" - }, - { - "item_name": "MSE_58185", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58185.jpg" - }, - { - "item_name": "MSE_58188", - "semantic_category": "BOTTOM/SKIRT", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58188.jpg" - }, - { - "item_name": "MSE_54385", - "semantic_category": "BOTTOM/PANTS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_54385.jpg" - }, - { - "item_name": "MSE_56720", - "semantic_category": "OUTERWEAR/BLAZER", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_56720.jpg" - }, - { - "item_name": "MSE_58174", - "semantic_category": "TOP/TEE", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58174.jpg" - }, - { - "item_name": "MSE_58044", - "semantic_category": "OUTERWEAR/JACKET", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58044.jpg" - }, - { - "item_name": "MSE_58361", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58361.jpg" - }, - { - "item_name": "MSE_58495", - "semantic_category": "TOP/SHIRT", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58495.jpg" - }, - { - "item_name": "MSE_58536", - "semantic_category": "ACCESSORY/BAG", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58536.jpg" - }, - { - "item_name": "MSE_58653", - "semantic_category": "TOP/SHIRT", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58653.jpg" - }, - { - "item_name": "MSE_58287", - "semantic_category": "BOTTOM/SHORTS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58287.jpg" - }, - { - "item_name": "MSE_58289", - "semantic_category": "OUTERWEAR/BLAZER", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58289.jpg" - }, - { - "item_name": "MSE_58323", - "semantic_category": "TOP/BLOUSE", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58323.jpg" - }, - { - "item_name": "MSE_58421", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58421.jpg" - }, - { - "item_name": "MSE_58451", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58451.jpg" - }, - { - "item_name": "MSE_58473", - "semantic_category": "KNIT/KNIT TOP", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58473.jpg" - }, - { - "item_name": "MSE_58498", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58498.jpg" - }, - { - "item_name": "MSE_58499", - "semantic_category": "TOP/SHIRT", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58499.jpg" - }, - { - "item_name": "MSE_58510", - "semantic_category": "TOP/SHIRT", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58510.jpg" - }, - { - "item_name": "MSE_58516", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58516.jpg" - }, - { - "item_name": "MSE_58518", - "semantic_category": "BOTTOM/SKIRT", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58518.jpg" - }, - { - "item_name": "MSE_58530", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58530.jpg" - }, - { - "item_name": "MSE_58540", - "semantic_category": "TOP/SHIRT", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58540.jpg" - }, - { - "item_name": "MSE_58547", - "semantic_category": "TOP/TEE", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58547.jpg" - }, - { - "item_name": "MSE_58618", - "semantic_category": "TOP/BLOUSE", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58618.jpg" - }, - { - "item_name": "MSE_58655", - "semantic_category": "TOP/SHIRT", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58655.jpg" - }, - { - "item_name": "MSE_58658", - "semantic_category": "TOP/TEE", - "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58658.jpg" - } - ] -} \ No newline at end of file diff --git a/app/service/outfit_matcher/test_param/recommendation_test_zcr.json b/app/service/outfit_matcher/test_param/recommendation_test_zcr.json deleted file mode 100644 index 8a29976..0000000 --- a/app/service/outfit_matcher/test_param/recommendation_test_zcr.json +++ /dev/null @@ -1,849 +0,0 @@ -{ - "topk": 1, - "max_outfits": 10, - "is_best": true, - "query": [ - { - "item_name": "MKTS27047", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MKTS27047.jpg" - }, - { - "item_name": "MKTS27028", - "semantic_category": "OUTERWEAR/JACKET", - "image_path": "test/2024 SS/MKTS27028.jpg" - }, - { - "item_name": "MSE_58057", - "semantic_category": "OUTERWEAR/BLAZER", - "image_path": "test/2024 SS/MSE_58057.jpg" - }, - { - "item_name": "MSE_58107", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MSE_58107.jpg" - }, - { - "item_name": "MSE_58495", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MSE_58495.jpg" - } - ], - "database": [ - { - "item_name": "MKTS27017", - "semantic_category": "OUTERWEAR/WINDBREAKER", - "image_path": "test/2024 SS/MKTS27017.jpg" - }, - { - "item_name": "MKTS27047", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MKTS27047.jpg" - }, - { - "item_name": "MKTS27000", - "semantic_category": "BOTTOM/PANTS", - "image_path": "test/2024 SS/MKTS27000.jpg" - }, - { - "item_name": "MKTS27001", - "semantic_category": "BOTTOM/SHORTS", - "image_path": "test/2024 SS/MKTS27001.jpg" - }, - { - "item_name": "MZOS27178", - "semantic_category": "KNIT/CARDIGAN", - "image_path": "test/2024 SS/MZOS27178.jpg" - }, - { - "item_name": "MZOS27179", - "semantic_category": "KNIT/KNIT TOP", - "image_path": "test/2024 SS/MZOS27179.jpg" - }, - { - "item_name": "MWSS27184", - "semantic_category": "TOP/TEE", - "image_path": "test/2024 SS/MWSS27184.jpg" - }, - { - "item_name": "MWSS27191", - "semantic_category": "OUTERWEAR/TWIN SET", - "image_path": "test/2024 SS/MWSS27191.jpg" - }, - { - "item_name": "MWSS27193", - "semantic_category": "OUTERWEAR/JACKET", - "image_path": "test/2024 SS/MWSS27193.jpg" - }, - { - "item_name": "MWSS27195", - "semantic_category": "OUTERWEAR/GILET", - "image_path": "test/2024 SS/MWSS27195.jpg" - }, - { - "item_name": "MWSS27200", - "semantic_category": "KNIT/VEST", - "image_path": "test/2024 SS/MWSS27200.jpg" - }, - { - "item_name": "MWSS27209", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MWSS27209.jpg" - }, - { - "item_name": "MWSS27210", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MWSS27210.jpg" - }, - { - "item_name": "MWSS27211", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MWSS27211.jpg" - }, - { - "item_name": "MWSS27212", - "semantic_category": "TOP/BLOUSE", - "image_path": "test/2024 SS/MWSS27212.jpg" - }, - { - "item_name": "MKTS27008", - "semantic_category": "OUTERWEAR/BLAZER", - "image_path": "test/2024 SS/MKTS27008.jpg" - }, - { - "item_name": "MKTS27009", - "semantic_category": "BOTTOM/PANTS", - "image_path": "test/2024 SS/MKTS27009.jpg" - }, - { - "item_name": "MKTS27010", - "semantic_category": "OUTERWEAR/BLAZER", - "image_path": "test/2024 SS/MKTS27010.jpg" - }, - { - "item_name": "MKTS27012", - "semantic_category": "OUTERWEAR/JACKET", - "image_path": "test/2024 SS/MKTS27012.jpg" - }, - { - "item_name": "MKTS27013", - "semantic_category": "BOTTOM/SHORTS", - "image_path": "test/2024 SS/MKTS27013.jpg" - }, - { - "item_name": "MKTS27014", - "semantic_category": "ONE PIECE/TWIN SET", - "image_path": "test/2024 SS/MKTS27014.jpg" - }, - { - "item_name": "MKTS27015", - "semantic_category": "OUTERWEAR/GILET", - "image_path": "test/2024 SS/MKTS27015.jpg" - }, - { - "item_name": "MKTS27016", - "semantic_category": "BOTTOM/SHORTS", - "image_path": "test/2024 SS/MKTS27016.jpg" - }, - { - "item_name": "MKTS27027", - "semantic_category": "BOTTOM/PANTS", - "image_path": "test/2024 SS/MKTS27027.jpg" - }, - { - "item_name": "MKTS27028", - "semantic_category": "OUTERWEAR/JACKET", - "image_path": "test/2024 SS/MKTS27028.jpg" - }, - { - "item_name": "MKTS27029", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MKTS27029.jpg" - }, - { - "item_name": "MKTS27030", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MKTS27030.jpg" - }, - { - "item_name": "MKTS27031", - "semantic_category": "BOTTOM/SKIRT", - "image_path": "test/2024 SS/MKTS27031.jpg" - }, - { - "item_name": "MKTS27034", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MKTS27034.jpg" - }, - { - "item_name": "MKTS27035", - "semantic_category": "ONE PIECE/TWIN SET", - "image_path": "test/2024 SS/MKTS27035.jpg" - }, - { - "item_name": "MKTS27038", - "semantic_category": "TOP/TOP", - "image_path": "test/2024 SS/MKTS27038.jpg" - }, - { - "item_name": "MKTS27039", - "semantic_category": "TOP/TOP", - "image_path": "test/2024 SS/MKTS27039.jpg" - }, - { - "item_name": "MKTS27040", - "semantic_category": "TOP/TOP", - "image_path": "test/2024 SS/MKTS27040.jpg" - }, - { - "item_name": "MKTS27045", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MKTS27045.jpg" - }, - { - "item_name": "MKTS27046", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MKTS27046.jpg" - }, - { - "item_name": "MKTS27050", - "semantic_category": "TOP/TOP", - "image_path": "test/2024 SS/MKTS27050.jpg" - }, - { - "item_name": "MKTS27059", - "semantic_category": "TOP/TEE", - "image_path": "test/2024 SS/MKTS27059.jpg" - }, - { - "item_name": "MKTS27061", - "semantic_category": "TOP/TOP", - "image_path": "test/2024 SS/MKTS27061.jpg" - }, - { - "item_name": "MKTS27062", - "semantic_category": "TOP/BLOUSE", - "image_path": "test/2024 SS/MKTS27062.jpg" - }, - { - "item_name": "MKTS27066", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MKTS27066.jpg" - }, - { - "item_name": "MKTS27067", - "semantic_category": "TOP/TEE", - "image_path": "test/2024 SS/MKTS27067.jpg" - }, - { - "item_name": "MKTS27068", - "semantic_category": "ONE PIECE/TWIN SET", - "image_path": "test/2024 SS/MKTS27068.jpg" - }, - { - "item_name": "MKTS27002", - "semantic_category": "TOP/BLOUSE", - "image_path": "test/2024 SS/MKTS27002.jpg" - }, - { - "item_name": "MKTS27003", - "semantic_category": "OUTERWEAR/GILET", - "image_path": "test/2024 SS/MKTS27003.jpg" - }, - { - "item_name": "MKTS27004", - "semantic_category": "BOTTOM/PANTS", - "image_path": "test/2024 SS/MKTS27004.jpg" - }, - { - "item_name": "MKTS27011", - "semantic_category": "TOP/VEST", - "image_path": "test/2024 SS/MKTS27011.jpg" - }, - { - "item_name": "MKTS27018", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MKTS27018.jpg" - }, - { - "item_name": "MKTS27019", - "semantic_category": "OUTERWEAR/BLAZER", - "image_path": "test/2024 SS/MKTS27019.jpg" - }, - { - "item_name": "MKTS27058", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MKTS27058.jpg" - }, - { - "item_name": "MLSS27101", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MLSS27101.jpg" - }, - { - "item_name": "MLSS27102", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MLSS27102.jpg" - }, - { - "item_name": "MLSS27103", - "semantic_category": "OUTERWEAR/GILET", - "image_path": "test/2024 SS/MLSS27103.jpg" - }, - { - "item_name": "MLSS27104", - "semantic_category": "BOTTOM/SHORTS", - "image_path": "test/2024 SS/MLSS27104.jpg" - }, - { - "item_name": "MLSS27107", - "semantic_category": "JEANS/JEANS", - "image_path": "test/2024 SS/MLSS27107.jpg" - }, - { - "item_name": "MLSS27109", - "semantic_category": "JEANS/JEANS JACKET", - "image_path": "test/2024 SS/MLSS27109.jpg" - }, - { - "item_name": "MLSS27110", - "semantic_category": "JEANS/JEANS JACKET", - "image_path": "test/2024 SS/MLSS27110.jpg" - }, - { - "item_name": "MLSS27111", - "semantic_category": "JEANS/JEANS PANTS", - "image_path": "test/2024 SS/MLSS27111.jpg" - }, - { - "item_name": "MLSS27112", - "semantic_category": "JEANS/JEANS PANTS", - "image_path": "test/2024 SS/MLSS27112.jpg" - }, - { - "item_name": "MLSS27113", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MLSS27113.jpg" - }, - { - "item_name": "MLSS27119", - "semantic_category": "JEANS/JEANS SKIRT", - "image_path": "test/2024 SS/MLSS27119.jpg" - }, - { - "item_name": "MLSS27122", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MLSS27122.jpg" - }, - { - "item_name": "MLSS27123", - "semantic_category": "TOP/TOP", - "image_path": "test/2024 SS/MLSS27123.jpg" - }, - { - "item_name": "MLSS27128", - "semantic_category": "JEANS/JEANS JACKET", - "image_path": "test/2024 SS/MLSS27128.jpg" - }, - { - "item_name": "MLSS27129", - "semantic_category": "JEANS/JEANS SHORTS", - "image_path": "test/2024 SS/MLSS27129.jpg" - }, - { - "item_name": "MLSS27132", - "semantic_category": "TOP/TOP", - "image_path": "test/2024 SS/MLSS27132.jpg" - }, - { - "item_name": "MLSS27133", - "semantic_category": "BOTTOM/SKIRT", - "image_path": "test/2024 SS/MLSS27133.jpg" - }, - { - "item_name": "MLSS27136", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MLSS27136.jpg" - }, - { - "item_name": "MLSS27137", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MLSS27137.jpg" - }, - { - "item_name": "MLSS27140", - "semantic_category": "OUTERWEAR/JACKET", - "image_path": "test/2024 SS/MLSS27140.jpg" - }, - { - "item_name": "MLSS27141", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MLSS27141.jpg" - }, - { - "item_name": "MLSS27142", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MLSS27142.jpg" - }, - { - "item_name": "MLSS27145", - "semantic_category": "OUTERWEAR/WINDBREAKER", - "image_path": "test/2024 SS/MLSS27145.jpg" - }, - { - "item_name": "MLSS27146", - "semantic_category": "TOP/TOP", - "image_path": "test/2024 SS/MLSS27146.jpg" - }, - { - "item_name": "MLSS27147", - "semantic_category": "BOTTOM/SKIRT", - "image_path": "test/2024 SS/MLSS27147.jpg" - }, - { - "item_name": "MLSS27148", - "semantic_category": "TOP/TOP", - "image_path": "test/2024 SS/MLSS27148.jpg" - }, - { - "item_name": "MLSS27149", - "semantic_category": "BOTTOM/PANTS", - "image_path": "test/2024 SS/MLSS27149.jpg" - }, - { - "item_name": "MLSS27150", - "semantic_category": "OUTERWEAR/JACKET", - "image_path": "test/2024 SS/MLSS27150.jpg" - }, - { - "item_name": "MLSS27152", - "semantic_category": "TOP/TEE", - "image_path": "test/2024 SS/MLSS27152.jpg" - }, - { - "item_name": "MLSS27154", - "semantic_category": "TOP/TEE", - "image_path": "test/2024 SS/MLSS27154.jpg" - }, - { - "item_name": "MLSS27156", - "semantic_category": "TOP/VEST", - "image_path": "test/2024 SS/MLSS27156.jpg" - }, - { - "item_name": "MLSS27157", - "semantic_category": "OUTERWEAR/WINDBREAKER", - "image_path": "test/2024 SS/MLSS27157.jpg" - }, - { - "item_name": "MLSS27159", - "semantic_category": "BOTTOM/PANTS", - "image_path": "test/2024 SS/MLSS27159.jpg" - }, - { - "item_name": "MLSS27160", - "semantic_category": "BOTTOM/PANTS", - "image_path": "test/2024 SS/MLSS27160.jpg" - }, - { - "item_name": "MLSS27161", - "semantic_category": "KNIT/CARDIGAN", - "image_path": "test/2024 SS/MLSS27161.jpg" - }, - { - "item_name": "MLSS27162", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MLSS27162.jpg" - }, - { - "item_name": "MLSS27167", - "semantic_category": "OUTERWEAR/JACKET", - "image_path": "test/2024 SS/MLSS27167.jpg" - }, - { - "item_name": "MLSS27173", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MLSS27173.jpg" - }, - { - "item_name": "MLSS27174", - "semantic_category": "TOP/TOP", - "image_path": "test/2024 SS/MLSS27174.jpg" - }, - { - "item_name": "MLSS27175", - "semantic_category": "BOTTOM/PANTS", - "image_path": "test/2024 SS/MLSS27175.jpg" - }, - { - "item_name": "MLSS27176", - "semantic_category": "BOTTOM/SKIRT", - "image_path": "test/2024 SS/MLSS27176.jpg" - }, - { - "item_name": "MKTS27073", - "semantic_category": "BOTTOM/SKIRT", - "image_path": "test/2024 SS/MKTS27073.jpg" - }, - { - "item_name": "MLSS27226", - "semantic_category": "BOTTOM/SKIRT", - "image_path": "test/2024 SS/MLSS27226.jpg" - }, - { - "item_name": "MPO_SP7685", - "semantic_category": "TOP/BLOUSE", - "image_path": "test/2024 SS/MPO_SP7685.jpg" - }, - { - "item_name": "MPO_SP7686", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MPO_SP7686.jpg" - }, - { - "item_name": "MPO_SP7687", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MPO_SP7687.jpg" - }, - { - "item_name": "MPO_SP7692", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MPO_SP7692.jpg" - }, - { - "item_name": "MPO_SP7693", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MPO_SP7693.jpg" - }, - { - "item_name": "MPO_SP7694", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MPO_SP7694.jpg" - }, - { - "item_name": "MPO_SP7696", - "semantic_category": "BOTTOM/PANTS", - "image_path": "test/2024 SS/MPO_SP7696.jpg" - }, - { - "item_name": "MPO_SP7697", - "semantic_category": "JEANS/JEANS", - "image_path": "test/2024 SS/MPO_SP7697.jpg" - }, - { - "item_name": "MPO_SP7704", - "semantic_category": "OUTERWEAR/BLAZER", - "image_path": "test/2024 SS/MPO_SP7704.jpg" - }, - { - "item_name": "MPO_SP7705", - "semantic_category": "OUTERWEAR/JACKET", - "image_path": "test/2024 SS/MPO_SP7705.jpg" - }, - { - "item_name": "MPO_SP7706", - "semantic_category": "JEANS/JEANS JACKET", - "image_path": "test/2024 SS/MPO_SP7706.jpg" - }, - { - "item_name": "MPO_SP7711", - "semantic_category": "TOP/VEST", - "image_path": "test/2024 SS/MPO_SP7711.jpg" - }, - { - "item_name": "MPO_SP7712", - "semantic_category": "TOP/TANK", - "image_path": "test/2024 SS/MPO_SP7712.jpg" - }, - { - "item_name": "MPO_SP7717", - "semantic_category": "TOP/TEE", - "image_path": "test/2024 SS/MPO_SP7717.jpg" - }, - { - "item_name": "MPO_SP7722", - "semantic_category": "TOP/TOP", - "image_path": "test/2024 SS/MPO_SP7722.jpg" - }, - { - "item_name": "MPO_SP7723", - "semantic_category": "TOP/BLOUSE", - "image_path": "test/2024 SS/MPO_SP7723.jpg" - }, - { - "item_name": "MPO_SP7726", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MPO_SP7726.jpg" - }, - { - "item_name": "MPO_SP7729", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MPO_SP7729.jpg" - }, - { - "item_name": "MPO_SP7731", - "semantic_category": "TOP/BLOUSE", - "image_path": "test/2024 SS/MPO_SP7731.jpg" - }, - { - "item_name": "MPO_SP7732", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MPO_SP7732.jpg" - }, - { - "item_name": "MPO_SP7735", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MPO_SP7735.jpg" - }, - { - "item_name": "MSE_58197", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MSE_58197.jpg" - }, - { - "item_name": "MSE_58198", - "semantic_category": "TOP/BLOUSE", - "image_path": "test/2024 SS/MSE_58198.jpg" - }, - { - "item_name": "MSE_58199", - "semantic_category": "BOTTOM/PANTS", - "image_path": "test/2024 SS/MSE_58199.jpg" - }, - { - "item_name": "MSE_58112", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MSE_58112.jpg" - }, - { - "item_name": "MSE_58114", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MSE_58114.jpg" - }, - { - "item_name": "MSE_58241", - "semantic_category": "TOP/BLOUSE", - "image_path": "test/2024 SS/MSE_58241.jpg" - }, - { - "item_name": "MSE_57987", - "semantic_category": "BOTTOM/PANTS", - "image_path": "test/2024 SS/MSE_57987.jpg" - }, - { - "item_name": "MSE_57988", - "semantic_category": "OUTERWEAR/BLAZER", - "image_path": "test/2024 SS/MSE_57988.jpg" - }, - { - "item_name": "MSE_58203", - "semantic_category": "OUTERWEAR/BLAZER", - "image_path": "test/2024 SS/MSE_58203.jpg" - }, - { - "item_name": "MSE_58106", - "semantic_category": "BOTTOM/PANTS", - "image_path": "test/2024 SS/MSE_58106.jpg" - }, - { - "item_name": "MSE_58107", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MSE_58107.jpg" - }, - { - "item_name": "MSE_58132", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MSE_58132.jpg" - }, - { - "item_name": "MSE_58133", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MSE_58133.jpg" - }, - { - "item_name": "MSE_58057", - "semantic_category": "OUTERWEAR/BLAZER", - "image_path": "test/2024 SS/MSE_58057.jpg" - }, - { - "item_name": "MSE_58058", - "semantic_category": "BOTTOM/PANTS", - "image_path": "test/2024 SS/MSE_58058.jpg" - }, - { - "item_name": "MSE_58222", - "semantic_category": "BOTTOM/SKIRT", - "image_path": "test/2024 SS/MSE_58222.jpg" - }, - { - "item_name": "MSE_58317", - "semantic_category": "TOP/BLOUSE", - "image_path": "test/2024 SS/MSE_58317.jpg" - }, - { - "item_name": "MSE_58045", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MSE_58045.jpg" - }, - { - "item_name": "MSE_58275", - "semantic_category": "JEANS/JEANS DRESS", - "image_path": "test/2024 SS/MSE_58275.jpg" - }, - { - "item_name": "MSE_58276", - "semantic_category": "JEANS/JEANS JACKET", - "image_path": "test/2024 SS/MSE_58276.jpg" - }, - { - "item_name": "MSE_58277", - "semantic_category": "JEANS/JEANS SKIRT", - "image_path": "test/2024 SS/MSE_58277.jpg" - }, - { - "item_name": "MSE_58183", - "semantic_category": "TOP/BLOUSE", - "image_path": "test/2024 SS/MSE_58183.jpg" - }, - { - "item_name": "MSE_58184", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MSE_58184.jpg" - }, - { - "item_name": "MSE_58185", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MSE_58185.jpg" - }, - { - "item_name": "MSE_58188", - "semantic_category": "BOTTOM/SKIRT", - "image_path": "test/2024 SS/MSE_58188.jpg" - }, - { - "item_name": "MSE_54385", - "semantic_category": "BOTTOM/PANTS", - "image_path": "test/2024 SS/MSE_54385.jpg" - }, - { - "item_name": "MSE_56720", - "semantic_category": "OUTERWEAR/BLAZER", - "image_path": "test/2024 SS/MSE_56720.jpg" - }, - { - "item_name": "MSE_58174", - "semantic_category": "TOP/TEE", - "image_path": "test/2024 SS/MSE_58174.jpg" - }, - { - "item_name": "MSE_58044", - "semantic_category": "OUTERWEAR/JACKET", - "image_path": "test/2024 SS/MSE_58044.jpg" - }, - { - "item_name": "MSE_58361", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MSE_58361.jpg" - }, - { - "item_name": "MSE_58495", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MSE_58495.jpg" - }, - { - "item_name": "MSE_58536", - "semantic_category": "ACCESSORY/BAG", - "image_path": "test/2024 SS/MSE_58536.jpg" - }, - { - "item_name": "MSE_58653", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MSE_58653.jpg" - }, - { - "item_name": "MSE_58287", - "semantic_category": "BOTTOM/SHORTS", - "image_path": "test/2024 SS/MSE_58287.jpg" - }, - { - "item_name": "MSE_58289", - "semantic_category": "OUTERWEAR/BLAZER", - "image_path": "test/2024 SS/MSE_58289.jpg" - }, - { - "item_name": "MSE_58323", - "semantic_category": "TOP/BLOUSE", - "image_path": "test/2024 SS/MSE_58323.jpg" - }, - { - "item_name": "MSE_58421", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MSE_58421.jpg" - }, - { - "item_name": "MSE_58451", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MSE_58451.jpg" - }, - { - "item_name": "MSE_58473", - "semantic_category": "KNIT/KNIT TOP", - "image_path": "test/2024 SS/MSE_58473.jpg" - }, - { - "item_name": "MSE_58498", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MSE_58498.jpg" - }, - { - "item_name": "MSE_58499", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MSE_58499.jpg" - }, - { - "item_name": "MSE_58510", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MSE_58510.jpg" - }, - { - "item_name": "MSE_58516", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MSE_58516.jpg" - }, - { - "item_name": "MSE_58518", - "semantic_category": "BOTTOM/SKIRT", - "image_path": "test/2024 SS/MSE_58518.jpg" - }, - { - "item_name": "MSE_58530", - "semantic_category": "ONE PIECE/DRESS", - "image_path": "test/2024 SS/MSE_58530.jpg" - }, - { - "item_name": "MSE_58540", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MSE_58540.jpg" - }, - { - "item_name": "MSE_58547", - "semantic_category": "TOP/TEE", - "image_path": "test/2024 SS/MSE_58547.jpg" - }, - { - "item_name": "MSE_58618", - "semantic_category": "TOP/BLOUSE", - "image_path": "test/2024 SS/MSE_58618.jpg" - }, - { - "item_name": "MSE_58655", - "semantic_category": "TOP/SHIRT", - "image_path": "test/2024 SS/MSE_58655.jpg" - }, - { - "item_name": "MSE_58658", - "semantic_category": "TOP/TEE", - "image_path": "test/2024 SS/MSE_58658.jpg" - } - ] -} \ No newline at end of file diff --git a/app/service/outfit_matcher/test_param/test.json b/app/service/outfit_matcher/test_param/test.json deleted file mode 100644 index a62fd97..0000000 --- a/app/service/outfit_matcher/test_param/test.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "topk": 1, - "max_outfits": 5, - "is_best": true, - "query": [ - { - "image_path": "mi-tu/26/BOTTOM/PANTS/MKTS27000_0BLK.jpg/3f4676db-98a1-44d4-947f-9d1f59828629.jpg", - "item_name": "MKTS27000", - "semantic_category": "BOTTOM/PANTS" - } - ], - "database": [ - { - "image_path": "mi-tu/26/TOP/BLOUSE/MKTS27002_0WHT.jpg/131cc29e-8f70-4134-a0e8-82f826b00058.jpg", - "item_name": "MKTS27002", - "semantic_category": "TOP/BLOUSE" - } - ] -} \ No newline at end of file diff --git a/app/service/similar_match/__init__.py b/app/service/similar_match/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/app/service/similar_match/service.py b/app/service/similar_match/service.py deleted file mode 100644 index 87d9440..0000000 --- a/app/service/similar_match/service.py +++ /dev/null @@ -1,110 +0,0 @@ -import io -import json - -import numpy as np -import tritonclient.http as httpclient -from PIL import Image -from minio import Minio -from pymilvus import MilvusClient - -from app.core.config import * -from torchvision import transforms - -from app.schemas.similar_match import SimilarMatchMItem -from app.service.utils.decorator import RunTime - - -class SimilarMatch: - def __init__(self, request_data): - self.minio_client = Minio( - f"{MINIO_IP}:{MINIO_PORT}", - access_key=MINIO_ACCESS, - secret_key=MINIO_SECRET, - secure=MINIO_SECURE) - self.triton_client = httpclient.InferenceServerClient(url=f"{OM_TRITON_IP}:{OM_TRITON_PORT}") - self.image_path = request_data.image_path - self.result_number = request_data.result_number - self.features = self.get_features() - - @staticmethod - def resize_image(img): - """ - Args: - img: ndarray (height, width, channel) - """ - image_transforms = transforms.Compose([ - transforms.Resize(112), - transforms.CenterCrop(112), - transforms.ToTensor(), - transforms.Normalize(mean=[0.485, 0.456, 0.406], - std=[0.229, 0.224, 0.225]), - ]) - resized_img = image_transforms(img).numpy() - return resized_img - - def load_image(self, img_path): - # 从 MinIO 中获取对象(图像文件) - image_data = self.minio_client.get_object(img_path.split("/", 1)[0], img_path.split("/", 1)[1]) - # 读取图像数据并转换为 PIL 图像对象 - pil_image = Image.open(io.BytesIO(image_data.data)).convert("RGB") - # 将 PIL 图像转换为 NumPy 数组 - # image_array = np.array(pil_image) - return pil_image - - def preprocess(self, img_path): - image = self.load_image(img_path) - image = self.resize_image(image) - image = np.stack([[image]], axis=0) - - category = np.stack([[1, 6]], axis=0) - - mask = np.zeros((1, 1), dtype=np.float32) - return image, category, mask - - def get_features(self): - image, category, mask = self.preprocess(self.image_path) - # 输入集 - inputs = [ - httpclient.InferInput("input__0", image.shape, datatype="FP32"), - httpclient.InferInput("input__1", category.shape, datatype="INT16"), - httpclient.InferInput("input__2", mask.shape, datatype="FP32"), - ] - inputs[0].set_data_from_numpy(image.astype(np.float32), binary_data=True) - inputs[1].set_data_from_numpy(category.astype(np.int16), binary_data=True) - inputs[2].set_data_from_numpy(mask.astype(np.float32), binary_data=True) - # 输出集 - outputs = [ - httpclient.InferRequestedOutput("output__0", binary_data=True), - httpclient.InferRequestedOutput("output__1", binary_data=True) - ] - results = self.triton_client.infer(model_name="outfit_matcher_type_aware", inputs=inputs, outputs=outputs) - # 推理 - # 取结果 - features = results.as_numpy("output__1") # Shape (N, 64) - return features - - @RunTime - def match_features(self): - # 连接milvus - # 连接milvus - client = MilvusClient(uri="http://10.1.1.240:19530", db_name="mixi") - try: - search_response = client.search( - collection_name="mixi_outfit", # Replace with the actual name of your collection - # Replace with your query vector - data=[self.features[0]], - limit=self.result_number, # Max. number of search results to return - output_fields=["id", "image_path"], # Search parameters - ) - return search_response - finally: - client.close() - - -if __name__ == '__main__': - request_data = SimilarMatchMItem(image_path="test/top/test_top1.jpg", result_number=1) - - service = SimilarMatch(request_data) - search_response = service.match_features() - - print(json.dumps(search_response, indent=4)) diff --git a/app/service/utils/decorator.py b/app/service/utils/decorator.py deleted file mode 100644 index 2e563fc..0000000 --- a/app/service/utils/decorator.py +++ /dev/null @@ -1,15 +0,0 @@ -import time -import logging - - -def RunTime(func): - def wrapper(*args, **kwargs): - t1 = time.time() - res = func(*args, **kwargs) - t2 = time.time() - if t2 - t1 > 0.05: - logging.info(f"function:【{func.__name__}】,runtime:【{str(t2 - t1)}】s") - print(f"function:【{func.__name__}】,runtime:【{str(t2 - t1)}】s") - return res - - return wrapper diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100644 index b3dfd4d..0000000 --- a/docker-compose.yml +++ /dev/null @@ -1,9 +0,0 @@ -version: "3" -services: - trinity_mixi: - image: "trinity_client_mixi:latest" - container_name: trinity_mixi - volumes: - - ./trinity_client_mixi:/trinity - ports: - - "10100:4562" \ No newline at end of file diff --git a/gunicorn_config.py b/gunicorn_config.py deleted file mode 100644 index c85e8ad..0000000 --- a/gunicorn_config.py +++ /dev/null @@ -1,38 +0,0 @@ -# 多进程 - -"""gunicorn+gevent 的配置文件""" - -# 预加载资源 -preload_app = True -# 绑定 ip + 端口 -bind = "0.0.0.0:4562" -# 进程数 = cup数量 * 2 + 1 -workers = 1 - -# 线程数 = cup数量 * 2 -threads = 2 - -# 等待队列最大长度,超过这个长度的链接将被拒绝连接 -backlog = 2048 - -# 工作模式--协程 -worker_class = "uvicorn.workers.UvicornWorker" - -# 最大客户客户端并发数量,对使用线程和协程的worker的工作有影响 -# 服务器配置设置的值 1200:中小型项目 上万并发: 中大型 -# 服务器硬件:宽带+数据库+内存 -# 服务器的架构:集群 主从 -worker_connections = 1200 - -# 进程名称 -proc_name = 'gunicorn.pid' -# 进程pid记录文件 -pidfile = 'app_run.log' -# 日志等级 -loglevel = 'info' -# 日志文件名 -logfile = 'info.log' -# 访问记录 -accesslog = 'access.log' -# 访问记录格式 -access_log_format = '%(h)s %(t)s %(U)s %(q)s' diff --git a/logging_env.py b/logging_env.py deleted file mode 100644 index ce4e9da..0000000 --- a/logging_env.py +++ /dev/null @@ -1,51 +0,0 @@ -from app.core.config import LOGS_PATH - -LOGGER_CONFIG_DICT = { - "version": 1, - "disable_existing_loggers": False, - "formatters": { - "simple": {"format": "%(asctime)s %(filename)s [line:%(lineno)d] %(levelname)s %(message)s"} - }, - "handlers": { - "console": { - "class": "logging.StreamHandler", - "level": "DEBUG", - "formatter": "simple", - "stream": "ext://sys.stdout", - }, - "info_file_handler": { - "class": "logging.handlers.RotatingFileHandler", - "level": "INFO", - "formatter": "simple", - "filename": LOGS_PATH, - "maxBytes": 10485760, - "backupCount": 50, - "encoding": "utf8", - }, - "error_file_handler": { - "class": "logging.handlers.RotatingFileHandler", - "level": "ERROR", - "formatter": "simple", - "filename": LOGS_PATH, - "maxBytes": 10485760, - "backupCount": 20, - "encoding": "utf8", - }, - "debug_file_handler": { - "class": "logging.handlers.RotatingFileHandler", - "level": "DEBUG", - "formatter": "simple", - "filename": LOGS_PATH, - "maxBytes": 10485760, - "backupCount": 50, - "encoding": "utf8", - }, - }, - "loggers": { - "my_module": {"level": "INFO", "handlers": ["console"], "propagate": "no"} - }, - "root": { - "level": "INFO", - "handlers": ["error_file_handler", "info_file_handler", "debug_file_handler", "console"], - }, -} diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 0eb1ed8aa87a511d859a46dc713c3dfa76dfe559..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 986 zcmZXTTTjA35QXR2#Q)HQ=W;6un)pkM59OwfP>?Ple_s90Y!`^8*`=M!nKNgGpYNSj zw&vN|$)0%z*0-(=IeojgJM24KT5WSXTF(2~g1uv{J$gjkqsMk_+GYgXgBd(#4szxB z!CtKNO0S-&3L`5nb>^U!WG;vfUU|cJprW`1$C-Jia;BW3jjG^M5hL~!>_Q&9uYq-C zAI>J{7UCQDii}-e`&4HO{57>I@}d^qiyqRVwgVV5q7uT`yB~P9oo5T9alf#2qIc!? zz%9j7{-DK=S|89@wYTUH^^Gi}!eVf%e-2+Mqv;$ke3cO^?(uxWcnP0y!>PcZrYp>j zSFFAJjQX|5$5~}j**HzQ!+J*PSfvf%v%Fao?m& X>S^fSQM+$vF!k>}!sNPh>bq~h$z_@Y diff --git a/test/attribute/infer_test.py b/test/attribute/infer_test.py deleted file mode 100644 index e01b948..0000000 --- a/test/attribute/infer_test.py +++ /dev/null @@ -1,110 +0,0 @@ -import cv2 -import mmcv -import numpy as np -import tritonclient.http as httpclient -import torch - - -def preprocess(img): - img = mmcv.imread(img) - ori_shape = img.shape[:2] - img_scale = (224, 224) - scale_factor = [] - img, x, y = mmcv.imresize(img, img_scale, return_scale=True) - scale_factor.append(x) - scale_factor.append(y) - img = mmcv.imnormalize(img, mean=np.array([123.675, 116.28, 103.53]), std=np.array([58.395, 57.12, 57.375]), to_rgb=True) - preprocessed_img = np.expand_dims(img.transpose(2, 0, 1), axis=0) - return preprocessed_img, ori_shape - - -def get_attribute(model_save_name, sample): - triton_client = httpclient.InferenceServerClient(url=f"10.1.1.240:10020") - inputs = [ - httpclient.InferInput("input__0", sample.shape, datatype="FP32") - ] - inputs[0].set_data_from_numpy(sample, binary_data=True) - results = triton_client.infer(model_name=model_save_name, inputs=inputs) - inference_output = torch.from_numpy(results.as_numpy(f"output__0")) - scores = inference_output.detach().numpy() - print(f"{model} is ok") - - -image, shape = preprocess(cv2.imread("8365b04b-69d0-4f6d-a61b-a8cc136256263422b10ff45d4ae4e10be3fc25a9c36b.jpg")) -# get_attribute("attr_retrieve_D_sleeve_shape", image) - -model_list = ['top_length', - 'top_type', - 'top_Sleeve_length', - 'top_Sleeve_shape', - 'top_Sleeve_shoulder', - 'top_Neckline', - 'top_print', - 'top_material', - 'top_Softness', - 'top_Design', - 'top_optype', - 'top_Silhouette', - 'top_Collar', - 'bottom_sub-Type', - 'bottom_length', - 'bottom_print', - 'bottom_material', - 'bottom_Softness_B', - 'bottom_Silhouette_B', - 'bottom_OPType_B', - 'bottom_design', - 'outwear_outer_length', - # 'outwear_2_outer_type', - 'outwear_outer_sleeve_length', - 'outwear_outer_sleeve_shape', - 'outwear_outer_sleeve_shoulder', - 'outwear_outer_collar', - 'outwear_print', - 'outwear_material', - 'outwear_outer_softness', - 'outwear_outer_design', - # 'outwear_11_outer_opening', - 'outwear_outer_optype', - 'outwear_outer_silhouette', - 'jumpsuit_length', - 'jumpsuit_sleeve_length', - 'jumpsuit_sleeve_shape', - 'jumpsuit_sleeve_shoulder', - 'jumpsuit_neckline', - 'jumpsuit_collar', - 'jumpsuit_print', - 'jumpsuit_material', - 'jumpsuit_softness', - 'jumpsuit_design', - 'jumpsuit_optype', - 'jumpsuit_subtype', - 'dress_length', - 'dress_sleeve_length', - 'dress_sleeve_shape', - 'dress_sleeve_shoulder', - 'dress_neckline', - 'dress_print', - 'dress_collar', - 'dress_material', - 'dress_design', - 'dress_softness', - 'dress_silohouette12', - # 'dress_' - 'dress_type' - ] -except_model = [] -# 'attr_recong_B_optype', 'attr_recong_D_length', 'attr_recong_O_length', 'attr_recong_O_optype', 'attr_recong_material', -# 'attr_recong_print', 'attr_retrieve_D_collar', 'attr_retrieve_D_design', 'attr_retrieve_D_neckline', 'attr_retrieve_D_silohouette', -# 'attr_retrieve_D_sleeve_shape', 'attr_retrieve_D_sleeve_shoulder', 'attr_retrieve_D_type', 'attr_retrieve_T_length', 'attr_retrieve_T_optype' - -# for model in model_list: -# get_attribute(model, image) - -for model in model_list: - try: - get_attribute(model, image) - except Exception as e: - print(e) - except_model.append(model) -print(except_model) diff --git a/test/attribute/model.py b/test/attribute/model.py deleted file mode 100644 index 1c7ac6a..0000000 --- a/test/attribute/model.py +++ /dev/null @@ -1,56 +0,0 @@ -var = ["bottom_OPType_B", - "bottom_Silhouette_B", - "bottom_Softness_B", - "bottom_design", - "bottom_length", - "bottom_material", - "bottom_print", - "bottom_sub-Type", - "category", - "dress_collar", - "dress_design", - "dress_length", - "dress_material", - "dress_neckline", - "dress_print", - "dress_silohouette2", - "dress_sleeve_length", - "dress_sleeve_shape", - "dress_sleeve_shoulder", - "dress_softness", - "dress_type", - "jumpsuit_collar", - "jumpsuit_design", - "jumpsuit_length", - "jumpsuit_material", - "jumpsuit_optype", - "jumpsuit_print", - "jumpsuit_sleeve_length", - "jumpsuit_sleeve_shape", - "jumpsuit_sleeve_shoulder", - "jumpsuit_softness", - "jumpsuit_subtype", - "outwear_material", - "outwear_outear_length", - "outwear_outer_collar", - "outwear_outer_design", - "outwear_outer_optype", - "outwear_outer_silhouette", - "outwear_outer_sleeve_length", - "outwear_outer_sleeve_shape", - "outwear_outer_sleeve_shoulder", - "outwear_outer_softness", - "outwear_print", - "top_Collar", - "top_Design", - "top_Neckline", - "top_Silhouette", - "top_Sleeve_length", - "top_Sleeve_shape", - "top_Sleeve_shoulder", - "top_Softness", - "top_length", - "top_material", - "top_optype", - "top_print", - "top_type", ] diff --git a/test/attribute_recognition_model_infer/attribute_recognition_model_infer.py b/test/attribute_recognition_model_infer/attribute_recognition_model_infer.py deleted file mode 100644 index 67a6c0b..0000000 --- a/test/attribute_recognition_model_infer/attribute_recognition_model_infer.py +++ /dev/null @@ -1,51 +0,0 @@ -from pprint import pprint - -import cv2 -import mmcv -import numpy as np -import tritonclient.http as httpclient -import torch - -from app.core.config import ATT_TRITON_PORT, ATT_TRITON_IP - -model_list = ['bottom_design', 'bottom_length', 'bottom_material', 'bottom_OPType_B', 'bottom_print', 'bottom_Silhouette_B', 'bottom_Softness_B', 'bottom_sub-Type', 'category', 'dress_collar', 'dress_design', 'dress_length', 'dress_material', 'dress_neckline', 'dress_print', 'dress_silohouette12', 'dress_sleeve_length', 'dress_sleeve_shape', 'dress_sleeve_shoulder', 'dress_softness', 'dress_type', 'jumpsuit_collar', 'jumpsuit_design', 'jumpsuit_length', 'jumpsuit_material', 'jumpsuit_optype', - 'jumpsuit_print', 'jumpsuit_sleeve_length', 'jumpsuit_sleeve_shape', 'jumpsuit_sleeve_shoulder', 'jumpsuit_softness', 'jumpsuit_subtype', 'outwear_material', 'outwear_outear_length', 'outwear_outer_collar', 'outwear_outer_design', 'outwear_outer_optype', 'outwear_outer_silhouette', 'outwear_outer_sleeve_length', 'outwear_outer_sleeve_shape', 'outwear_outer_sleeve_shoulder', 'outwear_outer_softness', 'outwear_print', 'top_Collar', 'top_Design', 'top_length', 'top_material', - 'top_Neckline', 'top_optype', 'top_print', 'top_Silhouette', 'top_Sleeve_length', 'top_Sleeve_shape', 'top_Sleeve_shoulder', 'top_Softness', 'top_type'] - - -def preprocess(img): - img = mmcv.imread(img) - ori_shape = img.shape[:2] - img_scale = (224, 224) - scale_factor = [] - img, x, y = mmcv.imresize(img, img_scale, return_scale=True) - scale_factor.append(x) - scale_factor.append(y) - img = mmcv.imnormalize(img, mean=np.array([123.675, 116.28, 103.53]), std=np.array([58.395, 57.12, 57.375]), to_rgb=True) - preprocessed_img = np.expand_dims(img.transpose(2, 0, 1), axis=0) - return preprocessed_img, ori_shape - - -def get_attribute(model_save_name, sample): - triton_client = httpclient.InferenceServerClient(url=f"{ATT_TRITON_IP}:{ATT_TRITON_PORT}") - inputs = [ - httpclient.InferInput("input__0", sample.shape, datatype="FP32") - ] - inputs[0].set_data_from_numpy(sample, binary_data=True) - results = triton_client.infer(model_name=model_save_name, inputs=inputs) - inference_output = torch.from_numpy(results.as_numpy(f"output__0")) - scores = inference_output.detach().numpy() - pprint(scores) - print(f"{model_save_name} is ok") - - -image, shape = preprocess(cv2.imread("test_top1.jpg")) -except_model = [] - -for model in model_list: - try: - get_attribute(model, image) - except Exception as e: - print(e) - except_model.append(model) -print(except_model) diff --git a/test/json/outfit_response.py b/test/json/outfit_response.py deleted file mode 100644 index c834f65..0000000 --- a/test/json/outfit_response.py +++ /dev/null @@ -1,273 +0,0 @@ -a = [{'best_outfits': [({'image_path': 'test/2024 SS/MKTS27047.jpg', - 'item_name': 'MKTS27047', - 'mapped_cate': 'all-body', - 'semantic_category': 'ONE PIECE/DRESS'}, - {'image_path': 'test/2024 SS/MLSS27156.jpg', - 'item_name': 'MLSS27156', - 'mapped_cate': 'outerwear', - 'semantic_category': 'TOP/VEST'}), - ({'image_path': 'test/2024 SS/MKTS27047.jpg', - 'item_name': 'MKTS27047', - 'mapped_cate': 'all-body', - 'semantic_category': 'ONE PIECE/DRESS'}, - {'image_path': 'test/2024 SS/MLSS27157.jpg', - 'item_name': 'MLSS27157', - 'mapped_cate': 'outerwear', - 'semantic_category': 'OUTERWEAR/WINDBREAKER'}), - ({'image_path': 'test/2024 SS/MKTS27047.jpg', - 'item_name': 'MKTS27047', - 'mapped_cate': 'all-body', - 'semantic_category': 'ONE PIECE/DRESS'}, - {'image_path': 'test/2024 SS/MLSS27150.jpg', - 'item_name': 'MLSS27150', - 'mapped_cate': 'outerwear', - 'semantic_category': 'OUTERWEAR/JACKET'}), - ({'image_path': 'test/2024 SS/MKTS27047.jpg', - 'item_name': 'MKTS27047', - 'mapped_cate': 'all-body', - 'semantic_category': 'ONE PIECE/DRESS'}, - {'image_path': 'test/2024 SS/MSE_56720.jpg', - 'item_name': 'MSE_56720', - 'mapped_cate': 'outerwear', - 'semantic_category': 'OUTERWEAR/BLAZER'}), - ({'image_path': 'test/2024 SS/MKTS27047.jpg', - 'item_name': 'MKTS27047', - 'mapped_cate': 'all-body', - 'semantic_category': 'ONE PIECE/DRESS'}, - {'image_path': 'test/2024 SS/MLSS27109.jpg', - 'item_name': 'MLSS27109', - 'mapped_cate': 'outerwear', - 'semantic_category': 'JEANS/JEANS JACKET'})], - 'best_scores': [-0.111208215, - -0.120505564, - -0.1213615, - -0.12190802, - -0.12419219]}, - {'best_outfits': [({'image_path': 'test/2024 SS/MKTS27028.jpg', - 'item_name': 'MKTS27028', - 'mapped_cate': 'outerwear', - 'semantic_category': 'OUTERWEAR/JACKET'}, - {'image_path': 'test/2024 SS/MSE_58107.jpg', - 'item_name': 'MSE_58107', - 'mapped_cate': 'tops', - 'semantic_category': 'TOP/SHIRT'}, - {'image_path': 'test/2024 SS/MLSS27133.jpg', - 'item_name': 'MLSS27133', - 'mapped_cate': 'bottoms', - 'semantic_category': 'BOTTOM/SKIRT'}), - ({'image_path': 'test/2024 SS/MKTS27028.jpg', - 'item_name': 'MKTS27028', - 'mapped_cate': 'outerwear', - 'semantic_category': 'OUTERWEAR/JACKET'}, - {'image_path': 'test/2024 SS/MLSS27132.jpg', - 'item_name': 'MLSS27132', - 'mapped_cate': 'tops', - 'semantic_category': 'TOP/TOP'}, - {'image_path': 'test/2024 SS/MLSS27159.jpg', - 'item_name': 'MLSS27159', - 'mapped_cate': 'bottoms', - 'semantic_category': 'BOTTOM/PANTS'}), - ({'image_path': 'test/2024 SS/MKTS27028.jpg', - 'item_name': 'MKTS27028', - 'mapped_cate': 'outerwear', - 'semantic_category': 'OUTERWEAR/JACKET'}, - {'image_path': 'test/2024 SS/MLSS27132.jpg', - 'item_name': 'MLSS27132', - 'mapped_cate': 'tops', - 'semantic_category': 'TOP/TOP'}, - {'image_path': 'test/2024 SS/MLSS27133.jpg', - 'item_name': 'MLSS27133', - 'mapped_cate': 'bottoms', - 'semantic_category': 'BOTTOM/SKIRT'}), - ({'image_path': 'test/2024 SS/MKTS27028.jpg', - 'item_name': 'MKTS27028', - 'mapped_cate': 'outerwear', - 'semantic_category': 'OUTERWEAR/JACKET'}, - {'image_path': 'test/2024 SS/MKTS27039.jpg', - 'item_name': 'MKTS27039', - 'mapped_cate': 'tops', - 'semantic_category': 'TOP/TOP'}, - {'image_path': 'test/2024 SS/MLSS27226.jpg', - 'item_name': 'MLSS27226', - 'mapped_cate': 'bottoms', - 'semantic_category': 'BOTTOM/SKIRT'}), - ({'image_path': 'test/2024 SS/MKTS27028.jpg', - 'item_name': 'MKTS27028', - 'mapped_cate': 'outerwear', - 'semantic_category': 'OUTERWEAR/JACKET'}, - {'image_path': 'test/2024 SS/MLSS27146.jpg', - 'item_name': 'MLSS27146', - 'mapped_cate': 'tops', - 'semantic_category': 'TOP/TOP'}, - {'image_path': 'test/2024 SS/MSE_58518.jpg', - 'item_name': 'MSE_58518', - 'mapped_cate': 'bottoms', - 'semantic_category': 'BOTTOM/SKIRT'})], - 'best_scores': [-0.111208215, - -0.11449928, - -0.11642833, - -0.120505564, - -0.1213615]}, - {'best_outfits': [({'image_path': 'test/2024 SS/MSE_58057.jpg', - 'item_name': 'MSE_58057', - 'mapped_cate': 'outerwear', - 'semantic_category': 'OUTERWEAR/BLAZER'}, - {'image_path': 'test/2024 SS/MKTS27046.jpg', - 'item_name': 'MKTS27046', - 'mapped_cate': 'tops', - 'semantic_category': 'TOP/SHIRT'}, - {'image_path': 'test/2024 SS/MSE_58518.jpg', - 'item_name': 'MSE_58518', - 'mapped_cate': 'bottoms', - 'semantic_category': 'BOTTOM/SKIRT'}), - ({'image_path': 'test/2024 SS/MSE_58057.jpg', - 'item_name': 'MSE_58057', - 'mapped_cate': 'outerwear', - 'semantic_category': 'OUTERWEAR/BLAZER'}, - {'image_path': 'test/2024 SS/MSE_58473.jpg', - 'item_name': 'MSE_58473', - 'mapped_cate': 'tops', - 'semantic_category': 'KNIT/KNIT TOP'}, - {'image_path': 'test/2024 SS/MKTS27031.jpg', - 'item_name': 'MKTS27031', - 'mapped_cate': 'bottoms', - 'semantic_category': 'BOTTOM/SKIRT'}), - ({'image_path': 'test/2024 SS/MSE_58057.jpg', - 'item_name': 'MSE_58057', - 'mapped_cate': 'outerwear', - 'semantic_category': 'OUTERWEAR/BLAZER'}, - {'image_path': 'test/2024 SS/MPO_SP7687.jpg', - 'item_name': 'MPO_SP7687', - 'mapped_cate': 'tops', - 'semantic_category': 'TOP/SHIRT'}, - {'image_path': 'test/2024 SS/MLSS27107.jpg', - 'item_name': 'MLSS27107', - 'mapped_cate': 'bottoms', - 'semantic_category': 'JEANS/JEANS'}), - ({'image_path': 'test/2024 SS/MSE_58057.jpg', - 'item_name': 'MSE_58057', - 'mapped_cate': 'outerwear', - 'semantic_category': 'OUTERWEAR/BLAZER'}, - {'image_path': 'test/2024 SS/MLSS27142.jpg', - 'item_name': 'MLSS27142', - 'mapped_cate': 'tops', - 'semantic_category': 'TOP/SHIRT'}, - {'image_path': 'test/2024 SS/MLSS27159.jpg', - 'item_name': 'MLSS27159', - 'mapped_cate': 'bottoms', - 'semantic_category': 'BOTTOM/PANTS'}), - ({'image_path': 'test/2024 SS/MSE_58057.jpg', - 'item_name': 'MSE_58057', - 'mapped_cate': 'outerwear', - 'semantic_category': 'OUTERWEAR/BLAZER'}, - {'image_path': 'test/2024 SS/MLSS27142.jpg', - 'item_name': 'MLSS27142', - 'mapped_cate': 'tops', - 'semantic_category': 'TOP/SHIRT'}, - {'image_path': 'test/2024 SS/MLSS27226.jpg', - 'item_name': 'MLSS27226', - 'mapped_cate': 'bottoms', - 'semantic_category': 'BOTTOM/SKIRT'})], - 'best_scores': [-0.111208215, - -0.11449928, - -0.11642833, - -0.120505564, - -0.1213615]}, - {'best_outfits': [({'image_path': 'test/2024 SS/MSE_58107.jpg', - 'item_name': 'MSE_58107', - 'mapped_cate': 'tops', - 'semantic_category': 'TOP/SHIRT'}, - {'image_path': 'test/2024 SS/MLSS27159.jpg', - 'item_name': 'MLSS27159', - 'mapped_cate': 'bottoms', - 'semantic_category': 'BOTTOM/PANTS'}, - {'image_path': 'test/2024 SS/MSE_58289.jpg', - 'item_name': 'MSE_58289', - 'mapped_cate': 'outerwear', - 'semantic_category': 'OUTERWEAR/BLAZER'}), - ({'image_path': 'test/2024 SS/MSE_58107.jpg', - 'item_name': 'MSE_58107', - 'mapped_cate': 'tops', - 'semantic_category': 'TOP/SHIRT'}, - {'image_path': 'test/2024 SS/MLSS27111.jpg', - 'item_name': 'MLSS27111', - 'mapped_cate': 'bottoms', - 'semantic_category': 'JEANS/JEANS PANTS'}), - ({'image_path': 'test/2024 SS/MSE_58107.jpg', - 'item_name': 'MSE_58107', - 'mapped_cate': 'tops', - 'semantic_category': 'TOP/SHIRT'}, - {'image_path': 'test/2024 SS/MLSS27104.jpg', - 'item_name': 'MLSS27104', - 'mapped_cate': 'bottoms', - 'semantic_category': 'BOTTOM/SHORTS'}), - ({'image_path': 'test/2024 SS/MSE_58107.jpg', - 'item_name': 'MSE_58107', - 'mapped_cate': 'tops', - 'semantic_category': 'TOP/SHIRT'}, - {'image_path': 'test/2024 SS/MLSS27159.jpg', - 'item_name': 'MLSS27159', - 'mapped_cate': 'bottoms', - 'semantic_category': 'BOTTOM/PANTS'}), - ({'image_path': 'test/2024 SS/MSE_58107.jpg', - 'item_name': 'MSE_58107', - 'mapped_cate': 'tops', - 'semantic_category': 'TOP/SHIRT'}, - {'image_path': 'test/2024 SS/MLSS27160.jpg', - 'item_name': 'MLSS27160', - 'mapped_cate': 'bottoms', - 'semantic_category': 'BOTTOM/PANTS'})], - 'best_scores': [-0.111208215, - -0.11449928, - -0.120505564, - -0.1213615, - -0.12190802]}, - {'best_outfits': [({'image_path': 'test/2024 SS/MSE_58495.jpg', - 'item_name': 'MSE_58495', - 'mapped_cate': 'tops', - 'semantic_category': 'TOP/SHIRT'}, - {'image_path': 'test/2024 SS/MLSS27159.jpg', - 'item_name': 'MLSS27159', - 'mapped_cate': 'bottoms', - 'semantic_category': 'BOTTOM/PANTS'}), - ({'image_path': 'test/2024 SS/MSE_58495.jpg', - 'item_name': 'MSE_58495', - 'mapped_cate': 'tops', - 'semantic_category': 'TOP/SHIRT'}, - {'image_path': 'test/2024 SS/MLSS27160.jpg', - 'item_name': 'MLSS27160', - 'mapped_cate': 'bottoms', - 'semantic_category': 'BOTTOM/PANTS'}), - ({'image_path': 'test/2024 SS/MSE_58495.jpg', - 'item_name': 'MSE_58495', - 'mapped_cate': 'tops', - 'semantic_category': 'TOP/SHIRT'}, - {'image_path': 'test/2024 SS/MLSS27159.jpg', - 'item_name': 'MLSS27159', - 'mapped_cate': 'bottoms', - 'semantic_category': 'BOTTOM/PANTS'}, - {'image_path': 'test/2024 SS/MLSS27109.jpg', - 'item_name': 'MLSS27109', - 'mapped_cate': 'outerwear', - 'semantic_category': 'JEANS/JEANS JACKET'}), - ({'image_path': 'test/2024 SS/MSE_58495.jpg', - 'item_name': 'MSE_58495', - 'mapped_cate': 'tops', - 'semantic_category': 'TOP/SHIRT'}, - {'image_path': 'test/2024 SS/MLSS27119.jpg', - 'item_name': 'MLSS27119', - 'mapped_cate': 'bottoms', - 'semantic_category': 'JEANS/JEANS SKIRT'}), - ({'image_path': 'test/2024 SS/MSE_58495.jpg', - 'item_name': 'MSE_58495', - 'mapped_cate': 'tops', - 'semantic_category': 'TOP/SHIRT'}, - {'image_path': 'test/2024 SS/MKTS27000.jpg', - 'item_name': 'MKTS27000', - 'mapped_cate': 'bottoms', - 'semantic_category': 'BOTTOM/PANTS'})], - 'best_scores': [-0.111208215, - -0.11449928, - -0.120505564, - -0.1213615, - -0.12190802]}] diff --git a/test/minio_client_test/minio_client.py b/test/minio_client_test/minio_client.py deleted file mode 100644 index 48f041c..0000000 --- a/test/minio_client_test/minio_client.py +++ /dev/null @@ -1,12 +0,0 @@ -from minio import Minio - -from app.core.config import MINIO_PORT, MINIO_IP, MINIO_ACCESS, MINIO_SECRET, MINIO_SECURE - -minio_client = Minio( - f"{MINIO_IP}:{MINIO_PORT}", - access_key=MINIO_ACCESS, - secret_key=MINIO_SECRET, - secure=MINIO_SECURE) - -for i in minio_client.list_objects('test'): - print(i.object_name) diff --git a/test/outfit_matcher/triton_infer.py b/test/outfit_matcher/triton_infer.py deleted file mode 100644 index e69de29..0000000 diff --git a/test/outfit_matcher_milvus/1.create databases.py b/test/outfit_matcher_milvus/1.create databases.py deleted file mode 100644 index f1bfadb..0000000 --- a/test/outfit_matcher_milvus/1.create databases.py +++ /dev/null @@ -1,5 +0,0 @@ -from pymilvus import connections, db - -conn = connections.connect(host="10.1.1.240", port=19530) - -database = db.create_database("mixi") diff --git a/test/outfit_matcher_milvus/2.create collection.py b/test/outfit_matcher_milvus/2.create collection.py deleted file mode 100644 index 70edb0e..0000000 --- a/test/outfit_matcher_milvus/2.create collection.py +++ /dev/null @@ -1,23 +0,0 @@ -from pymilvus import MilvusClient, DataType - -# 创建client ,配置databases -client = MilvusClient( - uri="http://10.1.1.240:19530", - token="root:Milvus", - db_name="mixi" -) -from pymilvus import MilvusClient, DataType - -schema = MilvusClient.create_schema( - auto_id=True, - enable_dynamic_field=False, -) - -schema.add_field(field_name="id", datatype=DataType.INT64, is_primary=True) -schema.add_field(field_name="image_path", datatype=DataType.VARCHAR, max_length=200) -schema.add_field(field_name="vector", datatype=DataType.FLOAT_VECTOR, dim=64) - -client.create_collection( - collection_name="mixi_outfit", - schema=schema -) diff --git a/test/outfit_matcher_milvus/3.create index.py b/test/outfit_matcher_milvus/3.create index.py deleted file mode 100644 index 27aa3dd..0000000 --- a/test/outfit_matcher_milvus/3.create index.py +++ /dev/null @@ -1,23 +0,0 @@ -from pymilvus import MilvusClient, Collection - -client = MilvusClient( - uri="http://10.1.1.240:19530", - token="root:Milvus", - db_name="mixi" -) - -index_params = client.prepare_index_params() -index_params.add_index( - field_name="id", - index_type="STL_SORT" -) -index_params.add_index( - field_name="vector", - index_type="IVF_FLAT", - metric_type="L2", - params={"nlist": 1024} -) -client.create_index( - collection_name="mixi_outfit", - index_params=index_params -) diff --git a/test/outfit_matcher_milvus/4.load clollection.py b/test/outfit_matcher_milvus/4.load clollection.py deleted file mode 100644 index 08c5698..0000000 --- a/test/outfit_matcher_milvus/4.load clollection.py +++ /dev/null @@ -1,10 +0,0 @@ -from pymilvus import MilvusClient - -client = MilvusClient( - uri="http://10.1.1.240:19530", - token="root:Milvus", - db_name="mixi" -) -client.load_collection( - collection_name="mixi_outfit" -) diff --git a/test/outfit_matcher_milvus/5.similar match.py b/test/outfit_matcher_milvus/5.similar match.py deleted file mode 100644 index 2ffaed6..0000000 --- a/test/outfit_matcher_milvus/5.similar match.py +++ /dev/null @@ -1,27 +0,0 @@ -import json -import time - -from pymilvus import MilvusClient - -client = MilvusClient( - uri="http://10.1.1.240:19530", - token="root:Milvus", - db_name="mixi" -) -data = [0.019687360152602196, 0.839404821395874, 0.5053166747093201, 0.6062483787536621, 0.5455009341239929, 0.07595491409301758, 0.028354600071907043, 0.24453534185886383, 0.6116685271263123, 0.4527449309825897, 0.22063420712947845, 0.09205381572246552, 0.22853578627109528, 0.3041312098503113, - 0.8354143500328064, 0.05135197564959526, 0.9292615652084351, 0.03914223983883858, 0.7091595530509949, 0.17939062416553497, 0.2958671748638153, 0.46751415729522705, 0.05523946136236191, 0.976833164691925, 0.3593502938747406, 0.0806853398680687, 0.3097323179244995, 0.12855321168899536, - 0.12651172280311584, 0.3173355162143707, 0.17060844600200653, 0.9340737462043762, 0.8437095880508423, 0.7500482797622681, 0.22598184645175934, 0.8127533197402954, 0.39825528860092163, 0.9043431878089905, 0.9064653515815735, 0.14613617956638336, 0.582768976688385, 0.4516744315624237, - 0.6479957699775696, 0.909612774848938, 0.7674093842506409, 0.47747865319252014, 0.5617552995681763, 0.967750072479248, 0.9146659970283508, 0.28031912446022034, 0.5092940330505371, 0.21442186832427979, 0.43696293234825134, 0.7705745100975037, 0.09395607560873032, 0.9103220701217651, - 0.2616001069545746, 0.7469480037689209, 0.24508604407310486, 0.6890515089035034, 0.704613447189331, 0.7213652729988098, 0.3660031855106354, 0.2150406688451767] -start_time = time.time() -res = client.search( - collection_name="mixi_outfit", # Replace with the actual name of your collection - # Replace with your query vector - data=[data], - limit=5, # Max. number of search results to return - # search_params={"metric_type": "IP", "params": {}} # Search parameters -) -print(time.time() - start_time) - -result = json.dumps(res, indent=4) -print(result) From 2931dc2a4143f811061ced8264189104b9ac12bd Mon Sep 17 00:00:00 2001 From: zhouchengrong Date: Thu, 28 Mar 2024 10:29:40 +0800 Subject: [PATCH 24/26] =?UTF-8?q?attribute=20=E5=AD=97=E6=AE=B5=E5=90=8D?= =?UTF-8?q?=E8=A7=84=E8=8C=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 676b19b..e49de7d 100644 --- a/.gitignore +++ b/.gitignore @@ -68,3 +68,4 @@ uwsgi app/logs/errors.log app/logs/info.log app/logs/debug.log +test \ No newline at end of file From ddcc8b43006095eb8bdfb7c6a28c89545f61172b Mon Sep 17 00:00:00 2001 From: zhouchengrong Date: Thu, 28 Mar 2024 10:30:18 +0800 Subject: [PATCH 25/26] =?UTF-8?q?attribute=20=E5=AD=97=E6=AE=B5=E5=90=8D?= =?UTF-8?q?=E8=A7=84=E8=8C=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 22 + README.md | 45 + app/__init__.py | 0 app/api/__init__.py | 0 app/api/api_attribute.py | 19 + app/api/api_outfit_matcher.py | 47 + app/api/api_route.py | 13 + app/api/api_similar_match.py | 28 + app/api/api_test.py | 12 + app/core/__init__.py | 0 app/core/config.py | 49 + app/main.py | 39 + app/schemas/attribute.py | 6 + app/schemas/outfit_matcher.py | 15 + app/schemas/similar_match.py | 6 + app/service/attribute_recognition/__init__.py | 0 app/service/attribute_recognition/const.py | 139 +++ .../attribute_recognition/const_debug.py | 139 +++ .../discriptor/bottom/2_bottom_subtype.csv | 21 + .../discriptor/bottom/3_bottom_length.csv | 6 + .../discriptor/bottom/5_bottom_Softness.csv | 4 + .../discriptor/bottom/6_bottom_Design.csv | 17 + .../discriptor/bottom/7_bottom_OPType.csv | 6 + .../discriptor/bottom/7_outer_Print.csv | 16 + .../discriptor/bottom/8_bottom_Silhouette.csv | 6 + .../discriptor/bottom/8_outer_Material.csv | 28 + .../bottom/ori10_bottom_Silhoutte.csv | 6 + .../discriptor/bottom/ori1_bottom_Type.csv | 3 + .../discriptor/bottom/ori2_bottom_subtype.csv | 47 + .../bottom/ori3_bottom_structure.csv | 4 + .../discriptor/bottom/ori4_bottom_length.csv | 6 + .../discriptor/bottom/ori5_bottom_Print.csv | 16 + .../bottom/ori6_bottom_Material.csv | 28 + .../bottom/ori7_bottom_Softness.csv | 4 + .../discriptor/bottom/ori8_bottom_Design.csv | 17 + .../discriptor/bottom/ori9_bottom_OPType.csv | 6 + .../discriptor/category/category_dis.csv | 7 + .../discriptor/dress/11_dress_Silhouette.csv | 11 + .../discriptor/dress/11_top_OPType.csv | 5 + .../discriptor/dress/12_dress_type.csv | 20 + .../discriptor/dress/1_dress_length.csv | 6 + .../discriptor/dress/3_top_Sleeve_length.csv | 6 + .../discriptor/dress/4_top_Sleeve_shape.csv | 9 + .../dress/5_top_Sleeve_shoulder.csv | 5 + .../discriptor/dress/6_top_Neckline.csv | 7 + .../discriptor/dress/7_outer_Print.csv | 16 + .../discriptor/dress/7_top_Collar.csv | 11 + .../discriptor/dress/8_outer_Material.csv | 28 + .../discriptor/dress/9_dress_Design.csv | 19 + .../discriptor/dress/9_top_Softness.csv | 4 + .../discriptor/dress/ori10_dress_Design.csv | 16 + .../discriptor/dress/ori11_dress_OPType.csv | 5 + .../dress/ori12_dress_Silhouette.csv | 11 + .../discriptor/dress/ori13_dress_Type.csv | 20 + .../discriptor/dress/ori1_dress_length.csv | 6 + .../dress/ori2_dress_Sleeve_length.csv | 6 + .../dress/ori3_dress_Sleeve_shape.csv | 9 + .../dress/ori4_dress_Sleeve_shoulder.csv | 5 + .../discriptor/dress/ori5_dress_Neckline.csv | 17 + .../discriptor/dress/ori6_dress_Collar.csv | 11 + .../discriptor/dress/ori7_dress_Print.csv | 16 + .../discriptor/dress/ori8_dress_Material.csv | 28 + .../discriptor/dress/ori9_dress_Softness.csv | 4 + .../jumpsuit/.~lock.12_jumsuit_subtye.csv# | 1 + .../jumpsuit/.~lock.8_jumpsuit_Material.csv# | 1 + .../discriptor/jumpsuit/10_jumsuit_design.csv | 17 + .../jumpsuit/11_jumpsuit_OPType.csv | 5 + .../jumpsuit/12_jumpsuit_subtype.csv | 6 + .../discriptor/jumpsuit/1_jumsuit_length.csv | 6 + .../jumpsuit/2_jumpsuit_Sleeve_length.csv | 6 + .../jumpsuit/3_jumpsuit_Sleeve_shape.csv | 9 + .../jumpsuit/4_jumpsuit_Sleeve_shoulder.csv | 5 + .../jumpsuit/5_jumpsuit_Neckline.csv | 7 + .../discriptor/jumpsuit/6_jumpsuit_Collar.csv | 11 + .../discriptor/jumpsuit/7_jumpsuit_Print.csv | 16 + .../jumpsuit/8_jumpsuit_Material.csv | 28 + .../jumpsuit/9_jumpsuit_Softness.csv | 4 + .../discriptor/outwear/10_outer_Design.csv | 19 + .../discriptor/outwear/11_outer_opening.csv | 3 + .../discriptor/outwear/12_outer_OPType.csv | 5 + .../outwear/13_outer_Silhouette.csv | 7 + .../discriptor/outwear/1_outer_length.csv | 4 + .../discriptor/outwear/2_outer_type.csv | 18 + .../outwear/3_outer_sleeve_length.csv | 6 + .../outwear/4_outer_sleeve_shape.csv | 9 + .../outwear/5_outer_sleeve_shoulder.csv | 6 + .../discriptor/outwear/6_outer_Collar.csv | 10 + .../discriptor/outwear/7_outer_Print.csv | 16 + .../discriptor/outwear/8_outer_Material.csv | 28 + .../discriptor/outwear/9_outer_Softness.csv | 4 + .../discriptor/top/10_top_Design.csv | 15 + .../discriptor/top/11_top_OPType.csv | 5 + .../discriptor/top/12_top_Silhouette.csv | 7 + .../discriptor/top/1_top_length.csv | 4 + .../discriptor/top/2_top_type.csv | 15 + .../discriptor/top/3_top_Sleeve_length.csv | 6 + .../discriptor/top/4_top_Sleeve_shape.csv | 9 + .../discriptor/top/5_top_Sleeve_shoulder.csv | 5 + .../discriptor/top/6_top_Neckline.csv | 7 + .../discriptor/top/7_outer_Print.csv | 16 + .../discriptor/top/7_top_Collar.csv | 11 + .../discriptor/top/8_outer_Material.csv | 28 + .../discriptor/top/9_top_Softness.csv | 4 + .../discriptor/top/ori10_top_Softness.csv | 4 + .../discriptor/top/ori11_top_Design.csv | 16 + .../discriptor/top/ori12_top_OPType.csv | 5 + .../discriptor/top/ori13_top_Silhouette.csv | 7 + .../discriptor/top/ori1_Top_length.csv | 4 + .../discriptor/top/ori2_Top_type.csv | 15 + .../discriptor/top/ori3_top_Sleeve_length.csv | 6 + .../discriptor/top/ori4_top_Sleeve_shape.csv | 9 + .../top/ori5_top_Sleeve_shoulder.csv | 5 + .../discriptor/top/ori6_top_Neckline.csv | 16 + .../discriptor/top/ori7_top_Collar.csv | 11 + .../discriptor/top/ori8_top_Print.csv | 16 + .../discriptor/top/ori9_top_Material.csv | 28 + app/service/attribute_recognition/service.py | 215 +++++ app/service/outfit_matcher/__init__.py | 0 .../outfit_matcher/color/MKTS27000.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27001.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27002.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27003.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27004.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27008.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27009.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27010.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27011.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27012.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27013.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27014.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27015.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27016.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27017.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27018.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27019.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27027.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27028.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27029.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27030.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27031.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27034.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27035.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27038.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27039.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27040.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27045.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27046.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27047.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27050.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27058.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27059.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27061.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27062.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27066.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27067.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27068.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MKTS27073.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27101.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27102.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27103.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27104.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27107.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27109.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27110.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27111.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27112.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27113.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27119.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27122.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27123.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27128.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27129.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27132.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27133.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27136.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27137.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27140.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27141.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27142.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27145.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27146.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27147.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27148.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27149.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27150.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27152.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27154.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27156.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27157.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27159.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27160.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27161.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27162.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27167.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27173.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27174.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27175.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27176.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MLSS27226.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MPO_SP7685.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MPO_SP7686.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MPO_SP7687.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MPO_SP7692.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MPO_SP7693.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MPO_SP7694.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MPO_SP7696.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MPO_SP7697.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MPO_SP7704.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MPO_SP7705.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MPO_SP7706.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MPO_SP7711.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MPO_SP7712.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MPO_SP7717.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MPO_SP7722.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MPO_SP7723.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MPO_SP7726.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MPO_SP7729.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MPO_SP7731.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MPO_SP7732.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MPO_SP7735.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_54385.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_56720.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_57987.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_57988.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58044.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58045.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58057.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58058.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58106.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58107.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58112.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58114.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58132.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58133.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58174.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58183.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58184.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58185.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58188.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58197.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58198.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58199.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58203.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58222.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58241.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58275.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58276.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58277.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58287.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58289.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58317.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58323.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58361.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58421.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58451.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58473.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58495.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58498.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58499.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58510.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58516.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58518.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58530.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58540.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58547.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58618.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58653.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58655.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MSE_58658.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MWSS27184.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MWSS27191.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MWSS27193.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MWSS27195.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MWSS27200.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MWSS27209.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MWSS27210.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MWSS27211.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MWSS27212.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MZOS27178.npy | Bin 0 -> 328 bytes .../outfit_matcher/color/MZOS27179.npy | Bin 0 -> 328 bytes .../config/fashion_categories.json | 242 +++++ .../config/fashion_category_mapping.json | 242 +++++ app/service/outfit_matcher/dataset.py | 141 +++ app/service/outfit_matcher/foco.py | 251 ++++++ .../outfit_matcher/outfit_evaluator.py | 338 +++++++ app/service/outfit_matcher/service.py | 37 + .../test_param/recommendation_test.json | 29 + .../test_param/recommendation_test_pkc.json | 849 ++++++++++++++++++ .../test_param/recommendation_test_zcr.json | 849 ++++++++++++++++++ .../outfit_matcher/test_param/test.json | 19 + app/service/similar_match/__init__.py | 0 app/service/similar_match/service.py | 114 +++ app/service/utils/decorator.py | 15 + docker-compose.yml | 9 + gunicorn_config.py | 38 + logging_env.py | 51 ++ requirements.txt | Bin 0 -> 986 bytes 297 files changed, 5098 insertions(+) create mode 100644 Dockerfile create mode 100644 README.md create mode 100644 app/__init__.py create mode 100644 app/api/__init__.py create mode 100644 app/api/api_attribute.py create mode 100644 app/api/api_outfit_matcher.py create mode 100644 app/api/api_route.py create mode 100644 app/api/api_similar_match.py create mode 100644 app/api/api_test.py create mode 100644 app/core/__init__.py create mode 100644 app/core/config.py create mode 100644 app/main.py create mode 100644 app/schemas/attribute.py create mode 100644 app/schemas/outfit_matcher.py create mode 100644 app/schemas/similar_match.py create mode 100644 app/service/attribute_recognition/__init__.py create mode 100644 app/service/attribute_recognition/const.py create mode 100644 app/service/attribute_recognition/const_debug.py create mode 100644 app/service/attribute_recognition/discriptor/bottom/2_bottom_subtype.csv create mode 100644 app/service/attribute_recognition/discriptor/bottom/3_bottom_length.csv create mode 100644 app/service/attribute_recognition/discriptor/bottom/5_bottom_Softness.csv create mode 100644 app/service/attribute_recognition/discriptor/bottom/6_bottom_Design.csv create mode 100644 app/service/attribute_recognition/discriptor/bottom/7_bottom_OPType.csv create mode 100644 app/service/attribute_recognition/discriptor/bottom/7_outer_Print.csv create mode 100644 app/service/attribute_recognition/discriptor/bottom/8_bottom_Silhouette.csv create mode 100644 app/service/attribute_recognition/discriptor/bottom/8_outer_Material.csv create mode 100644 app/service/attribute_recognition/discriptor/bottom/ori10_bottom_Silhoutte.csv create mode 100644 app/service/attribute_recognition/discriptor/bottom/ori1_bottom_Type.csv create mode 100644 app/service/attribute_recognition/discriptor/bottom/ori2_bottom_subtype.csv create mode 100644 app/service/attribute_recognition/discriptor/bottom/ori3_bottom_structure.csv create mode 100644 app/service/attribute_recognition/discriptor/bottom/ori4_bottom_length.csv create mode 100644 app/service/attribute_recognition/discriptor/bottom/ori5_bottom_Print.csv create mode 100644 app/service/attribute_recognition/discriptor/bottom/ori6_bottom_Material.csv create mode 100644 app/service/attribute_recognition/discriptor/bottom/ori7_bottom_Softness.csv create mode 100644 app/service/attribute_recognition/discriptor/bottom/ori8_bottom_Design.csv create mode 100644 app/service/attribute_recognition/discriptor/bottom/ori9_bottom_OPType.csv create mode 100644 app/service/attribute_recognition/discriptor/category/category_dis.csv create mode 100644 app/service/attribute_recognition/discriptor/dress/11_dress_Silhouette.csv create mode 100644 app/service/attribute_recognition/discriptor/dress/11_top_OPType.csv create mode 100644 app/service/attribute_recognition/discriptor/dress/12_dress_type.csv create mode 100644 app/service/attribute_recognition/discriptor/dress/1_dress_length.csv create mode 100644 app/service/attribute_recognition/discriptor/dress/3_top_Sleeve_length.csv create mode 100644 app/service/attribute_recognition/discriptor/dress/4_top_Sleeve_shape.csv create mode 100644 app/service/attribute_recognition/discriptor/dress/5_top_Sleeve_shoulder.csv create mode 100644 app/service/attribute_recognition/discriptor/dress/6_top_Neckline.csv create mode 100644 app/service/attribute_recognition/discriptor/dress/7_outer_Print.csv create mode 100644 app/service/attribute_recognition/discriptor/dress/7_top_Collar.csv create mode 100644 app/service/attribute_recognition/discriptor/dress/8_outer_Material.csv create mode 100644 app/service/attribute_recognition/discriptor/dress/9_dress_Design.csv create mode 100644 app/service/attribute_recognition/discriptor/dress/9_top_Softness.csv create mode 100644 app/service/attribute_recognition/discriptor/dress/ori10_dress_Design.csv create mode 100644 app/service/attribute_recognition/discriptor/dress/ori11_dress_OPType.csv create mode 100644 app/service/attribute_recognition/discriptor/dress/ori12_dress_Silhouette.csv create mode 100644 app/service/attribute_recognition/discriptor/dress/ori13_dress_Type.csv create mode 100644 app/service/attribute_recognition/discriptor/dress/ori1_dress_length.csv create mode 100644 app/service/attribute_recognition/discriptor/dress/ori2_dress_Sleeve_length.csv create mode 100644 app/service/attribute_recognition/discriptor/dress/ori3_dress_Sleeve_shape.csv create mode 100644 app/service/attribute_recognition/discriptor/dress/ori4_dress_Sleeve_shoulder.csv create mode 100644 app/service/attribute_recognition/discriptor/dress/ori5_dress_Neckline.csv create mode 100644 app/service/attribute_recognition/discriptor/dress/ori6_dress_Collar.csv create mode 100644 app/service/attribute_recognition/discriptor/dress/ori7_dress_Print.csv create mode 100644 app/service/attribute_recognition/discriptor/dress/ori8_dress_Material.csv create mode 100644 app/service/attribute_recognition/discriptor/dress/ori9_dress_Softness.csv create mode 100644 app/service/attribute_recognition/discriptor/jumpsuit/.~lock.12_jumsuit_subtye.csv# create mode 100644 app/service/attribute_recognition/discriptor/jumpsuit/.~lock.8_jumpsuit_Material.csv# create mode 100644 app/service/attribute_recognition/discriptor/jumpsuit/10_jumsuit_design.csv create mode 100644 app/service/attribute_recognition/discriptor/jumpsuit/11_jumpsuit_OPType.csv create mode 100644 app/service/attribute_recognition/discriptor/jumpsuit/12_jumpsuit_subtype.csv create mode 100644 app/service/attribute_recognition/discriptor/jumpsuit/1_jumsuit_length.csv create mode 100644 app/service/attribute_recognition/discriptor/jumpsuit/2_jumpsuit_Sleeve_length.csv create mode 100644 app/service/attribute_recognition/discriptor/jumpsuit/3_jumpsuit_Sleeve_shape.csv create mode 100644 app/service/attribute_recognition/discriptor/jumpsuit/4_jumpsuit_Sleeve_shoulder.csv create mode 100644 app/service/attribute_recognition/discriptor/jumpsuit/5_jumpsuit_Neckline.csv create mode 100644 app/service/attribute_recognition/discriptor/jumpsuit/6_jumpsuit_Collar.csv create mode 100644 app/service/attribute_recognition/discriptor/jumpsuit/7_jumpsuit_Print.csv create mode 100644 app/service/attribute_recognition/discriptor/jumpsuit/8_jumpsuit_Material.csv create mode 100644 app/service/attribute_recognition/discriptor/jumpsuit/9_jumpsuit_Softness.csv create mode 100644 app/service/attribute_recognition/discriptor/outwear/10_outer_Design.csv create mode 100644 app/service/attribute_recognition/discriptor/outwear/11_outer_opening.csv create mode 100644 app/service/attribute_recognition/discriptor/outwear/12_outer_OPType.csv create mode 100644 app/service/attribute_recognition/discriptor/outwear/13_outer_Silhouette.csv create mode 100644 app/service/attribute_recognition/discriptor/outwear/1_outer_length.csv create mode 100644 app/service/attribute_recognition/discriptor/outwear/2_outer_type.csv create mode 100644 app/service/attribute_recognition/discriptor/outwear/3_outer_sleeve_length.csv create mode 100644 app/service/attribute_recognition/discriptor/outwear/4_outer_sleeve_shape.csv create mode 100644 app/service/attribute_recognition/discriptor/outwear/5_outer_sleeve_shoulder.csv create mode 100644 app/service/attribute_recognition/discriptor/outwear/6_outer_Collar.csv create mode 100644 app/service/attribute_recognition/discriptor/outwear/7_outer_Print.csv create mode 100644 app/service/attribute_recognition/discriptor/outwear/8_outer_Material.csv create mode 100644 app/service/attribute_recognition/discriptor/outwear/9_outer_Softness.csv create mode 100644 app/service/attribute_recognition/discriptor/top/10_top_Design.csv create mode 100644 app/service/attribute_recognition/discriptor/top/11_top_OPType.csv create mode 100644 app/service/attribute_recognition/discriptor/top/12_top_Silhouette.csv create mode 100644 app/service/attribute_recognition/discriptor/top/1_top_length.csv create mode 100644 app/service/attribute_recognition/discriptor/top/2_top_type.csv create mode 100644 app/service/attribute_recognition/discriptor/top/3_top_Sleeve_length.csv create mode 100644 app/service/attribute_recognition/discriptor/top/4_top_Sleeve_shape.csv create mode 100644 app/service/attribute_recognition/discriptor/top/5_top_Sleeve_shoulder.csv create mode 100644 app/service/attribute_recognition/discriptor/top/6_top_Neckline.csv create mode 100644 app/service/attribute_recognition/discriptor/top/7_outer_Print.csv create mode 100644 app/service/attribute_recognition/discriptor/top/7_top_Collar.csv create mode 100644 app/service/attribute_recognition/discriptor/top/8_outer_Material.csv create mode 100644 app/service/attribute_recognition/discriptor/top/9_top_Softness.csv create mode 100644 app/service/attribute_recognition/discriptor/top/ori10_top_Softness.csv create mode 100644 app/service/attribute_recognition/discriptor/top/ori11_top_Design.csv create mode 100644 app/service/attribute_recognition/discriptor/top/ori12_top_OPType.csv create mode 100644 app/service/attribute_recognition/discriptor/top/ori13_top_Silhouette.csv create mode 100644 app/service/attribute_recognition/discriptor/top/ori1_Top_length.csv create mode 100644 app/service/attribute_recognition/discriptor/top/ori2_Top_type.csv create mode 100644 app/service/attribute_recognition/discriptor/top/ori3_top_Sleeve_length.csv create mode 100644 app/service/attribute_recognition/discriptor/top/ori4_top_Sleeve_shape.csv create mode 100644 app/service/attribute_recognition/discriptor/top/ori5_top_Sleeve_shoulder.csv create mode 100644 app/service/attribute_recognition/discriptor/top/ori6_top_Neckline.csv create mode 100644 app/service/attribute_recognition/discriptor/top/ori7_top_Collar.csv create mode 100644 app/service/attribute_recognition/discriptor/top/ori8_top_Print.csv create mode 100644 app/service/attribute_recognition/discriptor/top/ori9_top_Material.csv create mode 100644 app/service/attribute_recognition/service.py create mode 100644 app/service/outfit_matcher/__init__.py create mode 100644 app/service/outfit_matcher/color/MKTS27000.npy create mode 100644 app/service/outfit_matcher/color/MKTS27001.npy create mode 100644 app/service/outfit_matcher/color/MKTS27002.npy create mode 100644 app/service/outfit_matcher/color/MKTS27003.npy create mode 100644 app/service/outfit_matcher/color/MKTS27004.npy create mode 100644 app/service/outfit_matcher/color/MKTS27008.npy create mode 100644 app/service/outfit_matcher/color/MKTS27009.npy create mode 100644 app/service/outfit_matcher/color/MKTS27010.npy create mode 100644 app/service/outfit_matcher/color/MKTS27011.npy create mode 100644 app/service/outfit_matcher/color/MKTS27012.npy create mode 100644 app/service/outfit_matcher/color/MKTS27013.npy create mode 100644 app/service/outfit_matcher/color/MKTS27014.npy create mode 100644 app/service/outfit_matcher/color/MKTS27015.npy create mode 100644 app/service/outfit_matcher/color/MKTS27016.npy create mode 100644 app/service/outfit_matcher/color/MKTS27017.npy create mode 100644 app/service/outfit_matcher/color/MKTS27018.npy create mode 100644 app/service/outfit_matcher/color/MKTS27019.npy create mode 100644 app/service/outfit_matcher/color/MKTS27027.npy create mode 100644 app/service/outfit_matcher/color/MKTS27028.npy create mode 100644 app/service/outfit_matcher/color/MKTS27029.npy create mode 100644 app/service/outfit_matcher/color/MKTS27030.npy create mode 100644 app/service/outfit_matcher/color/MKTS27031.npy create mode 100644 app/service/outfit_matcher/color/MKTS27034.npy create mode 100644 app/service/outfit_matcher/color/MKTS27035.npy create mode 100644 app/service/outfit_matcher/color/MKTS27038.npy create mode 100644 app/service/outfit_matcher/color/MKTS27039.npy create mode 100644 app/service/outfit_matcher/color/MKTS27040.npy create mode 100644 app/service/outfit_matcher/color/MKTS27045.npy create mode 100644 app/service/outfit_matcher/color/MKTS27046.npy create mode 100644 app/service/outfit_matcher/color/MKTS27047.npy create mode 100644 app/service/outfit_matcher/color/MKTS27050.npy create mode 100644 app/service/outfit_matcher/color/MKTS27058.npy create mode 100644 app/service/outfit_matcher/color/MKTS27059.npy create mode 100644 app/service/outfit_matcher/color/MKTS27061.npy create mode 100644 app/service/outfit_matcher/color/MKTS27062.npy create mode 100644 app/service/outfit_matcher/color/MKTS27066.npy create mode 100644 app/service/outfit_matcher/color/MKTS27067.npy create mode 100644 app/service/outfit_matcher/color/MKTS27068.npy create mode 100644 app/service/outfit_matcher/color/MKTS27073.npy create mode 100644 app/service/outfit_matcher/color/MLSS27101.npy create mode 100644 app/service/outfit_matcher/color/MLSS27102.npy create mode 100644 app/service/outfit_matcher/color/MLSS27103.npy create mode 100644 app/service/outfit_matcher/color/MLSS27104.npy create mode 100644 app/service/outfit_matcher/color/MLSS27107.npy create mode 100644 app/service/outfit_matcher/color/MLSS27109.npy create mode 100644 app/service/outfit_matcher/color/MLSS27110.npy create mode 100644 app/service/outfit_matcher/color/MLSS27111.npy create mode 100644 app/service/outfit_matcher/color/MLSS27112.npy create mode 100644 app/service/outfit_matcher/color/MLSS27113.npy create mode 100644 app/service/outfit_matcher/color/MLSS27119.npy create mode 100644 app/service/outfit_matcher/color/MLSS27122.npy create mode 100644 app/service/outfit_matcher/color/MLSS27123.npy create mode 100644 app/service/outfit_matcher/color/MLSS27128.npy create mode 100644 app/service/outfit_matcher/color/MLSS27129.npy create mode 100644 app/service/outfit_matcher/color/MLSS27132.npy create mode 100644 app/service/outfit_matcher/color/MLSS27133.npy create mode 100644 app/service/outfit_matcher/color/MLSS27136.npy create mode 100644 app/service/outfit_matcher/color/MLSS27137.npy create mode 100644 app/service/outfit_matcher/color/MLSS27140.npy create mode 100644 app/service/outfit_matcher/color/MLSS27141.npy create mode 100644 app/service/outfit_matcher/color/MLSS27142.npy create mode 100644 app/service/outfit_matcher/color/MLSS27145.npy create mode 100644 app/service/outfit_matcher/color/MLSS27146.npy create mode 100644 app/service/outfit_matcher/color/MLSS27147.npy create mode 100644 app/service/outfit_matcher/color/MLSS27148.npy create mode 100644 app/service/outfit_matcher/color/MLSS27149.npy create mode 100644 app/service/outfit_matcher/color/MLSS27150.npy create mode 100644 app/service/outfit_matcher/color/MLSS27152.npy create mode 100644 app/service/outfit_matcher/color/MLSS27154.npy create mode 100644 app/service/outfit_matcher/color/MLSS27156.npy create mode 100644 app/service/outfit_matcher/color/MLSS27157.npy create mode 100644 app/service/outfit_matcher/color/MLSS27159.npy create mode 100644 app/service/outfit_matcher/color/MLSS27160.npy create mode 100644 app/service/outfit_matcher/color/MLSS27161.npy create mode 100644 app/service/outfit_matcher/color/MLSS27162.npy create mode 100644 app/service/outfit_matcher/color/MLSS27167.npy create mode 100644 app/service/outfit_matcher/color/MLSS27173.npy create mode 100644 app/service/outfit_matcher/color/MLSS27174.npy create mode 100644 app/service/outfit_matcher/color/MLSS27175.npy create mode 100644 app/service/outfit_matcher/color/MLSS27176.npy create mode 100644 app/service/outfit_matcher/color/MLSS27226.npy create mode 100644 app/service/outfit_matcher/color/MPO_SP7685.npy create mode 100644 app/service/outfit_matcher/color/MPO_SP7686.npy create mode 100644 app/service/outfit_matcher/color/MPO_SP7687.npy create mode 100644 app/service/outfit_matcher/color/MPO_SP7692.npy create mode 100644 app/service/outfit_matcher/color/MPO_SP7693.npy create mode 100644 app/service/outfit_matcher/color/MPO_SP7694.npy create mode 100644 app/service/outfit_matcher/color/MPO_SP7696.npy create mode 100644 app/service/outfit_matcher/color/MPO_SP7697.npy create mode 100644 app/service/outfit_matcher/color/MPO_SP7704.npy create mode 100644 app/service/outfit_matcher/color/MPO_SP7705.npy create mode 100644 app/service/outfit_matcher/color/MPO_SP7706.npy create mode 100644 app/service/outfit_matcher/color/MPO_SP7711.npy create mode 100644 app/service/outfit_matcher/color/MPO_SP7712.npy create mode 100644 app/service/outfit_matcher/color/MPO_SP7717.npy create mode 100644 app/service/outfit_matcher/color/MPO_SP7722.npy create mode 100644 app/service/outfit_matcher/color/MPO_SP7723.npy create mode 100644 app/service/outfit_matcher/color/MPO_SP7726.npy create mode 100644 app/service/outfit_matcher/color/MPO_SP7729.npy create mode 100644 app/service/outfit_matcher/color/MPO_SP7731.npy create mode 100644 app/service/outfit_matcher/color/MPO_SP7732.npy create mode 100644 app/service/outfit_matcher/color/MPO_SP7735.npy create mode 100644 app/service/outfit_matcher/color/MSE_54385.npy create mode 100644 app/service/outfit_matcher/color/MSE_56720.npy create mode 100644 app/service/outfit_matcher/color/MSE_57987.npy create mode 100644 app/service/outfit_matcher/color/MSE_57988.npy create mode 100644 app/service/outfit_matcher/color/MSE_58044.npy create mode 100644 app/service/outfit_matcher/color/MSE_58045.npy create mode 100644 app/service/outfit_matcher/color/MSE_58057.npy create mode 100644 app/service/outfit_matcher/color/MSE_58058.npy create mode 100644 app/service/outfit_matcher/color/MSE_58106.npy create mode 100644 app/service/outfit_matcher/color/MSE_58107.npy create mode 100644 app/service/outfit_matcher/color/MSE_58112.npy create mode 100644 app/service/outfit_matcher/color/MSE_58114.npy create mode 100644 app/service/outfit_matcher/color/MSE_58132.npy create mode 100644 app/service/outfit_matcher/color/MSE_58133.npy create mode 100644 app/service/outfit_matcher/color/MSE_58174.npy create mode 100644 app/service/outfit_matcher/color/MSE_58183.npy create mode 100644 app/service/outfit_matcher/color/MSE_58184.npy create mode 100644 app/service/outfit_matcher/color/MSE_58185.npy create mode 100644 app/service/outfit_matcher/color/MSE_58188.npy create mode 100644 app/service/outfit_matcher/color/MSE_58197.npy create mode 100644 app/service/outfit_matcher/color/MSE_58198.npy create mode 100644 app/service/outfit_matcher/color/MSE_58199.npy create mode 100644 app/service/outfit_matcher/color/MSE_58203.npy create mode 100644 app/service/outfit_matcher/color/MSE_58222.npy create mode 100644 app/service/outfit_matcher/color/MSE_58241.npy create mode 100644 app/service/outfit_matcher/color/MSE_58275.npy create mode 100644 app/service/outfit_matcher/color/MSE_58276.npy create mode 100644 app/service/outfit_matcher/color/MSE_58277.npy create mode 100644 app/service/outfit_matcher/color/MSE_58287.npy create mode 100644 app/service/outfit_matcher/color/MSE_58289.npy create mode 100644 app/service/outfit_matcher/color/MSE_58317.npy create mode 100644 app/service/outfit_matcher/color/MSE_58323.npy create mode 100644 app/service/outfit_matcher/color/MSE_58361.npy create mode 100644 app/service/outfit_matcher/color/MSE_58421.npy create mode 100644 app/service/outfit_matcher/color/MSE_58451.npy create mode 100644 app/service/outfit_matcher/color/MSE_58473.npy create mode 100644 app/service/outfit_matcher/color/MSE_58495.npy create mode 100644 app/service/outfit_matcher/color/MSE_58498.npy create mode 100644 app/service/outfit_matcher/color/MSE_58499.npy create mode 100644 app/service/outfit_matcher/color/MSE_58510.npy create mode 100644 app/service/outfit_matcher/color/MSE_58516.npy create mode 100644 app/service/outfit_matcher/color/MSE_58518.npy create mode 100644 app/service/outfit_matcher/color/MSE_58530.npy create mode 100644 app/service/outfit_matcher/color/MSE_58540.npy create mode 100644 app/service/outfit_matcher/color/MSE_58547.npy create mode 100644 app/service/outfit_matcher/color/MSE_58618.npy create mode 100644 app/service/outfit_matcher/color/MSE_58653.npy create mode 100644 app/service/outfit_matcher/color/MSE_58655.npy create mode 100644 app/service/outfit_matcher/color/MSE_58658.npy create mode 100644 app/service/outfit_matcher/color/MWSS27184.npy create mode 100644 app/service/outfit_matcher/color/MWSS27191.npy create mode 100644 app/service/outfit_matcher/color/MWSS27193.npy create mode 100644 app/service/outfit_matcher/color/MWSS27195.npy create mode 100644 app/service/outfit_matcher/color/MWSS27200.npy create mode 100644 app/service/outfit_matcher/color/MWSS27209.npy create mode 100644 app/service/outfit_matcher/color/MWSS27210.npy create mode 100644 app/service/outfit_matcher/color/MWSS27211.npy create mode 100644 app/service/outfit_matcher/color/MWSS27212.npy create mode 100644 app/service/outfit_matcher/color/MZOS27178.npy create mode 100644 app/service/outfit_matcher/color/MZOS27179.npy create mode 100644 app/service/outfit_matcher/config/fashion_categories.json create mode 100644 app/service/outfit_matcher/config/fashion_category_mapping.json create mode 100644 app/service/outfit_matcher/dataset.py create mode 100644 app/service/outfit_matcher/foco.py create mode 100644 app/service/outfit_matcher/outfit_evaluator.py create mode 100644 app/service/outfit_matcher/service.py create mode 100644 app/service/outfit_matcher/test_param/recommendation_test.json create mode 100644 app/service/outfit_matcher/test_param/recommendation_test_pkc.json create mode 100644 app/service/outfit_matcher/test_param/recommendation_test_zcr.json create mode 100644 app/service/outfit_matcher/test_param/test.json create mode 100644 app/service/similar_match/__init__.py create mode 100644 app/service/similar_match/service.py create mode 100644 app/service/utils/decorator.py create mode 100644 docker-compose.yml create mode 100644 gunicorn_config.py create mode 100644 logging_env.py create mode 100644 requirements.txt diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..570cfd4 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,22 @@ +FROM python:3.9 +ENV TZ=Asia/Shanghai +RUN apt update +RUN apt install -y vim +RUN apt install -y libgl1-mesa-glx +COPY ./requirements.txt /requirements.txt +RUN pip install --upgrade pip +RUN pip install -r requirements.txt +RUN pip install gunicorn +RUN pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 +RUN pip install mmcv==1.4.2 -f https://download.openmmlab.com/mmcv/dist/cu117/torch1.13/index.html + +WORKDIR /app +COPY . . +ENV FLASK_APP=manage.py +LABEL maintainer="zchengrong@yeah.net" \ + description="My Python 3.9 - trinity mixi " \ + version="1.0" \ + name="trinity_mixi" + + +CMD ["gunicorn", "-c", "gunicorn_config.py", "app.main:app"] \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..ec77e43 --- /dev/null +++ b/README.md @@ -0,0 +1,45 @@ +文件解释 +----------- + +样例包括: + +* README.md - 本文件 +* Dockerfile - 用以自动构建 Docker 镜像的脚本 +* requirements.txt - 依赖包文件 +* main.py - 主 Flask 服务器端源代码 +* python-version : 3.9 + +快速开始 +--------------- + +如下这些引导,假定你想在自己的电脑上开发本项目。 + +1. 安装依赖 + + $ conda create -n trinity_client_mixi python=3.9 -y + $ conda activate trinity_client_mixi + $ pip install -r requirements.txt + $ conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia -y + $ pip install mmcv==1.4.2 -f https://download.openmmlab.com/mmcv/dist/cu117/torch1.13/index.html + + +2. 启动服务器 + + $ uvicorn app.main:app --host 0.0.0.0 --port 8000 + +3. 打开 http://127.0.0.1:8000/docs + +Docker 部署 +--------------- +1. 构建镜像 + + $ cd {workspace} + $ docker build -t trinity_client_mixi + +2. 使用docker-compose 启动 + + $ docker-compose up -d + +3. 查看日志 + + $ docker-compose logs -f \ No newline at end of file diff --git a/app/__init__.py b/app/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/app/api/__init__.py b/app/api/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/app/api/api_attribute.py b/app/api/api_attribute.py new file mode 100644 index 0000000..972ccd3 --- /dev/null +++ b/app/api/api_attribute.py @@ -0,0 +1,19 @@ +import logging +from pprint import pprint + +from fastapi import APIRouter + +from app.schemas.attribute import AttributeModel +from app.service.attribute_recognition import const, const_debug +from app.service.attribute_recognition.service import AttributeRecognition + +logger = logging.getLogger() +router = APIRouter() + + +@router.post("") +def attribute(request_data: AttributeModel): + service = AttributeRecognition() + response = service.attribute(const, request_data) + logger.info("test") + return {"code": 200, "message": "ok", "data": response} diff --git a/app/api/api_outfit_matcher.py b/app/api/api_outfit_matcher.py new file mode 100644 index 0000000..24a6337 --- /dev/null +++ b/app/api/api_outfit_matcher.py @@ -0,0 +1,47 @@ +import logging +import time + +from fastapi import APIRouter +from app.schemas.outfit_matcher import OutfitMatcher +from app.service.outfit_matcher.dataset import FashionDataset +from app.service.outfit_matcher.outfit_evaluator import OutfitMaterTypeAware +from app.service.utils.decorator import RunTime + +logger = logging.getLogger() +router = APIRouter() + + +@RunTime +@router.post("outfit_matcher") +def outfit_matcher(request_item: OutfitMatcher): + request_item = dict(request_item) + for i in range(len(request_item['query'])): + request_item['query'][i] = dict(request_item['query'][i]) + for i in range(len(request_item['database'])): + request_item['database'][i] = dict(request_item['database'][i]) + + # try: + fashion_dataset = FashionDataset(request_item['database']) + service = OutfitMaterTypeAware() + result = [] + start_time = time.time() + for item in request_item['query']: + outfits = fashion_dataset.generate_outfit(item, request_item["topk"], request_item["max_outfits"]) + scores, features = service.get_result(outfits) + # save features in databases + + if request_item['is_best']: + best_outfits, best_scores = service.visualize(outfits, scores, request_item["topk"], best=True, + # output_path=os.path.join(r"E:\workspace\outfit_matcher\2024 SS Outfit", f"{item['item_name']}_best_{param['topk']}.png") + ) + result.append({"outfits": best_outfits, "scores": best_scores}) + else: + bad_outfits, bad_scores = service.visualize(outfits, scores, request_item["topk"], best=False, + # output_path=os.path.join(r"E:\workspace\outfit_matcher\2024 SS Outfit", f"{item['item_name']}_worst_{param['topk']}.png") + ) + result.append({"outfits": bad_outfits, "scores": bad_scores}) + logger.info(f"run time is : {time.time() - start_time}") + return {"message": "ok", "data": result} + # except Exception as e: + # logger.warning(e) + # return {"message": f"{e}", "data": e} \ No newline at end of file diff --git a/app/api/api_route.py b/app/api/api_route.py new file mode 100644 index 0000000..983e725 --- /dev/null +++ b/app/api/api_route.py @@ -0,0 +1,13 @@ +from fastapi import APIRouter + +from app.api import api_test +from app.api import api_outfit_matcher +from app.api import api_attribute +from app.api import api_similar_match + +router = APIRouter() + +router.include_router(api_test.router, tags=["test"], prefix="/test") +router.include_router(api_outfit_matcher.router, tags=["outfit_matcher"], prefix="/api/outfit_matcher") +router.include_router(api_attribute.router, tags=["attribute"], prefix="/api/attribute") +router.include_router(api_similar_match.router, tags=["similar_match"], prefix="/api/similar_match") diff --git a/app/api/api_similar_match.py b/app/api/api_similar_match.py new file mode 100644 index 0000000..28c0928 --- /dev/null +++ b/app/api/api_similar_match.py @@ -0,0 +1,28 @@ +import logging +import time + +from fastapi import APIRouter + +from app.schemas.similar_match import SimilarMatchMItem +from app.service.similar_match.service import SimilarMatch +from app.service.utils.decorator import RunTime + +logger = logging.getLogger() +router = APIRouter() + + +@RunTime +@router.post("similar_match") +def similar_match(request_item: SimilarMatchMItem): + try: + if request_item.result_number <= 0: + raise KeyError("result number can't be less than 0") + service = SimilarMatch(request_item) + search_response = service.match_features() + response_data = [] + for response in search_response[0]: + response_data.append(response['entity']) + return {"message": "ok", "data": response_data} + except KeyError as e: + logger.warning(str(e)) + return {"message": "result number can't be less than 0", "data": []} diff --git a/app/api/api_test.py b/app/api/api_test.py new file mode 100644 index 0000000..b47dca5 --- /dev/null +++ b/app/api/api_test.py @@ -0,0 +1,12 @@ +import logging + +from fastapi import APIRouter + +logger = logging.getLogger() +router = APIRouter() + + +@router.get("") +def test(): + logger.info("test") + return {"message": "ok"} diff --git a/app/core/__init__.py b/app/core/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/app/core/config.py b/app/core/config.py new file mode 100644 index 0000000..fbb75cb --- /dev/null +++ b/app/core/config.py @@ -0,0 +1,49 @@ +import logging +import os +from dotenv import load_dotenv +from pydantic import BaseSettings + +BASE_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), '../../')) +logging.info(f"BASE_DIR : {BASE_DIR}") +load_dotenv(os.path.join(BASE_DIR, '.env')) + + +class Settings(BaseSettings): + PROJECT_NAME = os.getenv('PROJECT_NAME', 'FASTAPI BASE') + SECRET_KEY = os.getenv('SECRET_KEY', '') + API_PREFIX = '' + BACKEND_CORS_ORIGINS = ['*'] + DATABASE_URL = os.getenv('SQL_DATABASE_URL', '') + ACCESS_TOKEN_EXPIRE_SECONDS: int = 60 * 60 * 24 * 7 # Token expired after 7 days + SECURITY_ALGORITHM = 'HS256' + LOGGING_CONFIG_FILE = os.path.join(BASE_DIR, 'logging_env.py') + + +settings = Settings() + +MINIO_IP = "18.167.251.121" +MINIO_PORT = 8000 +MINIO_SECURE = False +MINIO_ACCESS = "e8zc55mzDOh4IzRrZ9Oa" +MINIO_SECRET = "uHfqJ7UkwA1PTDGfnA44Hp9ux5YkZTkzZLjeOYhE" + +OM_TRITON_IP = "10.1.1.240" +OM_TRITON_PORT = "10010" + +ATT_TRITON_IP = "10.1.1.240" +ATT_TRITON_PORT = "10020" + +# service env +# LOGS_PATH = "app/logs/errors.log" +# FASHION_CATEGORIES = "app/service/outfit_matcher/config/fashion_categories.json" +# FASHION_CATEGORIES_MAPPING = "app/service/outfit_matcher/config/fashion_category_mapping.json" + +# pycharm debug +LOGS_PATH = "logs/errors.log" +FASHION_CATEGORIES = "service/outfit_matcher/config/fashion_categories.json" +FASHION_CATEGORIES_MAPPING = "service/outfit_matcher/config/fashion_category_mapping.json" + + +# LOGS_PATH = "app/logs/errors.log" +# FASHION_CATEGORIES = "./config/fashion_categories.json" +# FASHION_CATEGORIES_MAPPING = "./config/fashion_category_mapping.json" \ No newline at end of file diff --git a/app/main.py b/app/main.py new file mode 100644 index 0000000..d20a72f --- /dev/null +++ b/app/main.py @@ -0,0 +1,39 @@ +import uvicorn +from fastapi import FastAPI + +import logging.config + +from app.api.api_route import router +from app.core.config import settings + +from logging_env import LOGGER_CONFIG_DICT + +logging.config.dictConfig(LOGGER_CONFIG_DICT) + +from starlette.middleware.cors import CORSMiddleware + + +def get_application() -> FastAPI: + application = FastAPI( + title=settings.PROJECT_NAME, docs_url="/docs", redoc_url='/re-docs', + openapi_url=f"{settings.API_PREFIX}/openapi.json", + description=''' + Base frame with FastAPI + - out_matcher_hon API + + ''' + ) + application.add_middleware( + CORSMiddleware, + allow_origins=[str(origin) for origin in settings.BACKEND_CORS_ORIGINS], + allow_credentials=True, + allow_methods=["*"], + allow_headers=["*"], + ) + application.include_router(router=router, prefix=settings.API_PREFIX) + return application + + +app = get_application() +if __name__ == '__main__': + uvicorn.run(app, host="0.0.0.0", port=8000) diff --git a/app/schemas/attribute.py b/app/schemas/attribute.py new file mode 100644 index 0000000..bc9af8e --- /dev/null +++ b/app/schemas/attribute.py @@ -0,0 +1,6 @@ +from pydantic import BaseModel + + +class AttributeModel(BaseModel): + upload_img_path: list + upload_img_id: list diff --git a/app/schemas/outfit_matcher.py b/app/schemas/outfit_matcher.py new file mode 100644 index 0000000..ae265b6 --- /dev/null +++ b/app/schemas/outfit_matcher.py @@ -0,0 +1,15 @@ +from pydantic import BaseModel + + +class OMDataItem(BaseModel): + item_name: str + semantic_category: str + image_path: str + + +class OutfitMatcher(BaseModel): + topk: int + max_outfits: int + is_best: bool + query: list[OMDataItem] + database: list[OMDataItem] diff --git a/app/schemas/similar_match.py b/app/schemas/similar_match.py new file mode 100644 index 0000000..e5fb063 --- /dev/null +++ b/app/schemas/similar_match.py @@ -0,0 +1,6 @@ +from pydantic import BaseModel + + +class SimilarMatchMItem(BaseModel): + image_path: str + result_number: int diff --git a/app/service/attribute_recognition/__init__.py b/app/service/attribute_recognition/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/app/service/attribute_recognition/const.py b/app/service/attribute_recognition/const.py new file mode 100644 index 0000000..dc17294 --- /dev/null +++ b/app/service/attribute_recognition/const.py @@ -0,0 +1,139 @@ +import torch + +device = torch.device('cuda') +top_discription_list = ['app/service/attribute_recognition/discriptor/top/1_top_length.csv', + 'app/service/attribute_recognition/discriptor/top/2_top_type.csv', + 'app/service/attribute_recognition/discriptor/top/3_top_Sleeve_length.csv', + 'app/service/attribute_recognition/discriptor/top/4_top_Sleeve_shape.csv', + 'app/service/attribute_recognition/discriptor/top/5_top_Sleeve_shoulder.csv', + 'app/service/attribute_recognition/discriptor/top/6_top_Neckline.csv', + 'app/service/attribute_recognition/discriptor/top/7_outer_Print.csv', + 'app/service/attribute_recognition/discriptor/top/8_outer_Material.csv', + # 'app/service/attribute_recognition/discriptor/top/9_top_Material.csv', + 'app/service/attribute_recognition/discriptor/top/9_top_Softness.csv', + 'app/service/attribute_recognition/discriptor/top/10_top_Design.csv', + 'app/service/attribute_recognition/discriptor/top/11_top_OPType.csv', + 'app/service/attribute_recognition/discriptor/top/12_top_Silhouette.csv', + 'app/service/attribute_recognition/discriptor/top/7_top_Collar.csv'] + +top_model_list = ['top_length', + 'top_type', + 'top_Sleeve_length', + 'top_Sleeve_shape', + 'top_Sleeve_shoulder', + 'top_Neckline', + 'top_print', + 'top_material', + 'top_Softness', + 'top_Design', + 'top_optype', + 'top_Silhouette', + 'top_Collar' + ] + +bottom_discription_list = [ + 'app/service/attribute_recognition/discriptor/bottom/2_bottom_subtype.csv', + # 'app/service/attribute_recognition/discriptor/bottom/3_bottom_structure.csv', + 'app/service/attribute_recognition/discriptor/bottom/3_bottom_length.csv', + 'app/service/attribute_recognition/discriptor/bottom/7_outer_Print.csv', + 'app/service/attribute_recognition/discriptor/bottom/8_outer_Material.csv', + 'app/service/attribute_recognition/discriptor/bottom/5_bottom_Softness.csv', + 'app/service/attribute_recognition/discriptor/bottom/8_bottom_Silhouette.csv', + 'app/service/attribute_recognition/discriptor/bottom/7_bottom_OPType.csv', + 'app/service/attribute_recognition/discriptor/bottom/6_bottom_Design.csv'] + +bottom_model_list = [ + 'bottom_sub-Type', + 'bottom_length', + 'bottom_print', + 'bottom_material', + 'bottom_Softness_B', + 'bottom_Silhouette_B', + 'bottom_OPType_B', + 'bottom_design'] + +outwear_discription_list = ['app/service/attribute_recognition/discriptor/outwear/1_outer_length.csv', + # 'app/service/attribute_recognition/discriptor/outwear/2_outer_type.csv', + 'app/service/attribute_recognition/discriptor/outwear/3_outer_sleeve_length.csv', + 'app/service/attribute_recognition/discriptor/outwear/4_outer_sleeve_shape.csv', + 'app/service/attribute_recognition/discriptor/outwear/5_outer_sleeve_shoulder.csv', + 'app/service/attribute_recognition/discriptor/outwear/6_outer_Collar.csv', + 'app/service/attribute_recognition/discriptor/outwear/7_outer_Print.csv', + 'app/service/attribute_recognition/discriptor/outwear/8_outer_Material.csv', + 'app/service/attribute_recognition/discriptor/outwear/9_outer_Softness.csv', + 'app/service/attribute_recognition/discriptor/outwear/10_outer_Design.csv', + # 'app/service/attribute_recognition/discriptor/outwear/11_outer_opening.csv', + 'app/service/attribute_recognition/discriptor/outwear/12_outer_OPType.csv', + 'app/service/attribute_recognition/discriptor/outwear/13_outer_Silhouette.csv', ] + +outwear_model_list = ['outwear_outer_length', + # 'outwear_2_outer_type', + 'outwear_outer_sleeve_length', + 'outwear_outer_sleeve_shape', + 'outwear_outer_sleeve_shoulder', + 'outwear_outer_collar', + 'outwear_print', + 'outwear_material', + 'outwear_outer_softness', + 'outwear_outer_design', + # 'outwear_11_outer_opening', + 'outwear_outer_optype', + 'outwear_outer_silhouette'] + +jumpsuit_discription_list = ['app/service/attribute_recognition/discriptor/jumpsuit/1_jumsuit_length.csv', + 'app/service/attribute_recognition/discriptor/jumpsuit/2_jumpsuit_Sleeve_length.csv', + 'app/service/attribute_recognition/discriptor/jumpsuit/3_jumpsuit_Sleeve_shape.csv', + 'app/service/attribute_recognition/discriptor/jumpsuit/4_jumpsuit_Sleeve_shoulder.csv', + 'app/service/attribute_recognition/discriptor/jumpsuit/5_jumpsuit_Neckline.csv', + 'app/service/attribute_recognition/discriptor/jumpsuit/6_jumpsuit_Collar.csv', + 'app/service/attribute_recognition/discriptor/jumpsuit/7_jumpsuit_Print.csv', + 'app/service/attribute_recognition/discriptor/jumpsuit/8_jumpsuit_Material.csv', + 'app/service/attribute_recognition/discriptor/jumpsuit/9_jumpsuit_Softness.csv', + 'app/service/attribute_recognition/discriptor/jumpsuit/10_jumsuit_design.csv', + 'app/service/attribute_recognition/discriptor/jumpsuit/11_jumpsuit_OPType.csv', + 'app/service/attribute_recognition/discriptor/jumpsuit/12_jumpsuit_subtype.csv'] + +jumpsuit_model_list = ['jumpsuit_length', + 'jumpsuit_sleeve_length', + 'jumpsuit_sleeve_shape', + 'jumpsuit_sleeve_shoulder', + 'jumpsuit_neckline', + 'jumpsuit_collar', + 'jumpsuit_print', + 'jumpsuit_material', + 'jumpsuit_softness', + 'jumpsuit_design', + 'jumpsuit_optype', + 'jumpsuit_subtype'] + +dress_discription_list = ['app/service/attribute_recognition/discriptor/dress/1_dress_length.csv', + 'app/service/attribute_recognition/discriptor/dress/3_top_Sleeve_length.csv', + 'app/service/attribute_recognition/discriptor/dress/4_top_Sleeve_shape.csv', + 'app/service/attribute_recognition/discriptor/dress/5_top_Sleeve_shoulder.csv', + 'app/service/attribute_recognition/discriptor/dress/ori5_dress_Neckline.csv', + 'app/service/attribute_recognition/discriptor/dress/7_outer_Print.csv', + 'app/service/attribute_recognition/discriptor/dress/7_top_Collar.csv', + 'app/service/attribute_recognition/discriptor/dress/8_outer_Material.csv', + 'app/service/attribute_recognition/discriptor/dress/9_dress_Design.csv', + 'app/service/attribute_recognition/discriptor/dress/9_top_Softness.csv', + 'app/service/attribute_recognition/discriptor/dress/11_dress_Silhouette.csv', + # 'app/service/attribute_recognition/discriptor/dress/11_top_OPType.csv', + 'app/service/attribute_recognition/discriptor/dress/12_dress_type.csv'] + +dress_model_list = ['dress_length', + 'dress_sleeve_length', + 'dress_sleeve_shape', + 'dress_sleeve_shoulder', + 'dress_neckline', + 'dress_print', + 'dress_collar', + 'dress_material', + 'dress_design', + 'dress_softness', + 'dress_silohouette12', + # 'dress_' + 'dress_type' + ] + +category_discription = 'app/service/attribute_recognition/discriptor/category/category_dis.csv' +category_model = 'category' diff --git a/app/service/attribute_recognition/const_debug.py b/app/service/attribute_recognition/const_debug.py new file mode 100644 index 0000000..3b20939 --- /dev/null +++ b/app/service/attribute_recognition/const_debug.py @@ -0,0 +1,139 @@ +import torch + +device = torch.device('cuda') +top_discription_list = [r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\1_top_length.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\2_top_type.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\3_top_Sleeve_length.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\4_top_Sleeve_shape.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\5_top_Sleeve_shoulder.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\6_top_Neckline.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\7_outer_Print.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\8_outer_Material.csv', + # r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\9_top_Material.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\9_top_Softness.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\10_top_Design.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\11_top_OPType.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\12_top_Silhouette.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\top\7_top_Collar.csv'] + +top_model_list = ['top_length', + 'top_type', + 'top_Sleeve_length', + 'top_Sleeve_shape', + 'top_Sleeve_shoulder', + 'top_Neckline', + 'top_print', + 'top_material', + 'top_Softness', + 'top_Design', + 'top_optype', + 'top_Silhouette', + 'top_Collar' + ] + +bottom_discription_list = [ + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\bottom\2_bottom_subtype.csv', + # r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\bottom\3_bottom_structure.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\bottom\3_bottom_length.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\bottom\7_outer_Print.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\bottom\8_outer_Material.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\bottom\5_bottom_Softness.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\bottom\8_bottom_Silhouette.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\bottom\7_bottom_OPType.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\bottom\6_bottom_Design.csv'] + +bottom_model_list = [ + 'bottom_sub-Type', + 'bottom_length', + 'bottom_print', + 'bottom_material', + 'bottom_Softness_B', + 'bottom_Silhouette_B', + 'bottom_OPType_B', + 'bottom_design'] + +outwear_discription_list = [r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\1_outer_length.csv', + # r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\2_outer_type.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\3_outer_sleeve_length.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\4_outer_sleeve_shape.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\5_outer_sleeve_shoulder.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\6_outer_Collar.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\7_outer_Print.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\8_outer_Material.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\9_outer_Softness.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\10_outer_Design.csv', + # r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\11_outer_opening.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\12_outer_OPType.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\outwear\13_outer_Silhouette.csv', ] + +outwear_model_list = ['outwear_outer_length', + # 'outwear_2_outer_type', + 'outwear_outer_sleeve_length', + 'outwear_outer_sleeve_shape', + 'outwear_outer_sleeve_shoulder', + 'outwear_outer_collar', + 'outwear_print', + 'outwear_material', + 'outwear_outer_softness', + 'outwear_outer_design', + # 'outwear_11_outer_opening', + 'outwear_outer_optype', + 'outwear_outer_silhouette'] + +jumpsuit_discription_list = [r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\1_jumsuit_length.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\2_jumpsuit_Sleeve_length.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\3_jumpsuit_Sleeve_shape.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\4_jumpsuit_Sleeve_shoulder.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\5_jumpsuit_Neckline.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\6_jumpsuit_Collar.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\7_jumpsuit_Print.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\8_jumpsuit_Material.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\9_jumpsuit_Softness.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\10_jumsuit_design.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\11_jumpsuit_OPType.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\jumpsuit\12_jumpsuit_subtype.csv'] + +jumpsuit_model_list = ['jumpsuit_length', + 'jumpsuit_sleeve_length', + 'jumpsuit_sleeve_shape', + 'jumpsuit_sleeve_shoulder', + 'jumpsuit_neckline', + 'jumpsuit_collar', + 'jumpsuit_print', + 'jumpsuit_material', + 'jumpsuit_softness', + 'jumpsuit_design', + 'jumpsuit_optype', + 'jumpsuit_subtype'] + +dress_discription_list = [r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\1_dress_length.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\3_top_Sleeve_length.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\4_top_Sleeve_shape.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\5_top_Sleeve_shoulder.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\ori5_dress_Neckline.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\7_outer_Print.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\7_top_Collar.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\8_outer_Material.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\9_dress_Design.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\9_top_Softness.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\11_dress_Silhouette.csv', + # r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\11_top_OPType.csv', + r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\dress\12_dress_type.csv'] + +dress_model_list = ['dress_length', + 'dress_sleeve_length', + 'dress_sleeve_shape', + 'dress_sleeve_shoulder', + 'dress_neckline', + 'dress_print', + 'dress_collar', + 'dress_material', + 'dress_design', + 'dress_softness', + 'dress_silohouette12', + # 'dress_' + 'dress_type' + ] + +category_discription = r'E:\workspace\trinity_client_mixi\app\service\attribute_recognition\discriptor\category\category_dis.csv' +category_model = 'category' diff --git a/app/service/attribute_recognition/discriptor/bottom/2_bottom_subtype.csv b/app/service/attribute_recognition/discriptor/bottom/2_bottom_subtype.csv new file mode 100644 index 0000000..7cb9fb2 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/bottom/2_bottom_subtype.csv @@ -0,0 +1,21 @@ +labelName,join_attr,taskName,taskId +A Line Skirt,bottom_Sub-Type_1,Sub_Type,2 +Bodycon Skirt,bottom_Sub-Type_2,Sub_Type,2 +Boot-Cut,bottom_Sub-Type_3,Sub_Type,2 +Bubble skirt,bottom_Sub-Type_4,Sub_Type,2 +Cargo Pants,bottom_Sub-Type_5,Sub_Type,2 +Culottes,bottom_Sub-Type_6,Sub_Type,2 +Handkerchief Skirt,bottom_Sub-Type_7,Sub_Type,2 +Jeans,bottom_Sub-Type_8,Sub_Type,2 +Joggers,bottom_Sub-Type_9,Sub_Type,2 +Leather pants,bottom_Sub-Type_10,Sub_Type,2 +Leggings,bottom_Sub-Type_11,Sub_Type,2 +Mermaid,bottom_Sub-Type_12,Sub_Type,2 +Pattened pants,bottom_Sub-Type_13,Sub_Type,2 +Peg leg Pants-Cigarette Pants,bottom_Sub-Type_14,Sub_Type,2 +Pencil Skirt,bottom_Sub-Type_15,Sub_Type,2 +Pleated Skirt,bottom_Sub-Type_16,Sub_Type,2 +Shorts,bottom_Sub-Type_17,Sub_Type,2 +Skater Skirt,bottom_Sub-Type_18,Sub_Type,2 +Suit Trousers,bottom_Sub-Type_19,Sub_Type,2 +Tier Skirt,bottom_Sub-Type_20,Sub_Type,2 diff --git a/app/service/attribute_recognition/discriptor/bottom/3_bottom_length.csv b/app/service/attribute_recognition/discriptor/bottom/3_bottom_length.csv new file mode 100644 index 0000000..ecaf257 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/bottom/3_bottom_length.csv @@ -0,0 +1,6 @@ +labelName,join_attr,taskName,taskId +Short,attr_BTM_length_1,Length,3 +Middle,attr_BTM_length_2,Length,3 +Seven,attr_BTM_length_3,Length,3 +Nine,attr_BTM_length_4,Length,3 +Long,attr_BTM_length_5,Length,3 diff --git a/app/service/attribute_recognition/discriptor/bottom/5_bottom_Softness.csv b/app/service/attribute_recognition/discriptor/bottom/5_bottom_Softness.csv new file mode 100644 index 0000000..8269778 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/bottom/5_bottom_Softness.csv @@ -0,0 +1,4 @@ +labelName,join_attr,taskName,taskId +Soft,attr_Softness_B_1,Softness,5 +Medium,attr_Softness_B_2,Softness,5 +Hard,attr_Softness_B_3,Softness,5 diff --git a/app/service/attribute_recognition/discriptor/bottom/6_bottom_Design.csv b/app/service/attribute_recognition/discriptor/bottom/6_bottom_Design.csv new file mode 100644 index 0000000..27bf3d1 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/bottom/6_bottom_Design.csv @@ -0,0 +1,17 @@ +labelName,join_attr,taskName,taskId +Asymmetrical,attr_Design_B_1,Design,6 +Tiered,attr_Design_B_2,Design,6 +Tassel,attr_Design_B_3,Design,6 +Ruffle,attr_Design_B_4,Design,6 +Pleated,attr_Design_B_5,Design,6 +Wrap,attr_Design_B_6,Design,6 +Ripped,attr_Design_B_7,Design,6 +Cut out,attr_Design_B_8,Design,6 +Eyelet,attr_Design_B_9,Design,6 +Folded,attr_Design_B_10,Design,6 +Tied,attr_Design_B_11,Design,6 +Drapes,attr_Design_B_12,Design,6 +Ribbon,attr_Design_B_13,Design,6 +Button,attr_Design_B_14,Design,6 +Split,attr_Design_B_15,Design,6 +Fishtail,attr_Design_B_16,Design,6 diff --git a/app/service/attribute_recognition/discriptor/bottom/7_bottom_OPType.csv b/app/service/attribute_recognition/discriptor/bottom/7_bottom_OPType.csv new file mode 100644 index 0000000..008d981 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/bottom/7_bottom_OPType.csv @@ -0,0 +1,6 @@ +labelName,join_attr,taskName,taskId +Button,attr_OPType_B_1,Opening_Type,7 +Zipper,attr_OPType_B_2,Opening_Type,7 +Thread,attr_OPType_B_3,Opening_Type,7 +Hook,attr_OPType_B_4,Opening_Type,7 +Elastic,attr_OPType_B_5,Opening_Type,7 diff --git a/app/service/attribute_recognition/discriptor/bottom/7_outer_Print.csv b/app/service/attribute_recognition/discriptor/bottom/7_outer_Print.csv new file mode 100644 index 0000000..cb5695d --- /dev/null +++ b/app/service/attribute_recognition/discriptor/bottom/7_outer_Print.csv @@ -0,0 +1,16 @@ +labelName,join_attr,taskName,taskId +Abstract,attr_Print_O_1,Print,7 +Allover,attr_Print_O_2,Print,7 +Animal,attr_Print_O_3,Print,7 +Camouflage,attr_Print_O_4,Print,7 +Checks,attr_Print_O_5,Print,7 +Color_block,attr_Print_O_6,Print,7 +Disty print,attr_Print_O_7,Print,7 +Dotted,attr_Print_O_8,Print,7 +Floral,attr_Print_O_9,Print,7 +Graphic print,attr_Print_O_10,Print,7 +Logo and slogan,attr_Print_O_11,Print,7 +Patchwork,attr_Print_O_12,Print,7 +Plain,attr_Print_O_13,Print,7 +Plain_dnim,attr_Print_O_14,Print,7 +Stripe,attr_Print_O_15,Print,7 diff --git a/app/service/attribute_recognition/discriptor/bottom/8_bottom_Silhouette.csv b/app/service/attribute_recognition/discriptor/bottom/8_bottom_Silhouette.csv new file mode 100644 index 0000000..9bd771a --- /dev/null +++ b/app/service/attribute_recognition/discriptor/bottom/8_bottom_Silhouette.csv @@ -0,0 +1,6 @@ +labelName,join_attr,taskName,taskId +A Line,attr_Silhouette_B_1,Silhouette,8 +H Shape,attr_Silhouette_B_2,Silhouette,8 +Slim,attr_Silhouette_B_3,Silhouette,8 +Peg-leg,attr_Silhouette_B_4,Silhouette,8 +Peplum,attr_Silhouette_B_5,Silhouette,8 diff --git a/app/service/attribute_recognition/discriptor/bottom/8_outer_Material.csv b/app/service/attribute_recognition/discriptor/bottom/8_outer_Material.csv new file mode 100644 index 0000000..2db5c94 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/bottom/8_outer_Material.csv @@ -0,0 +1,28 @@ +labelName,join_attr,taskName,taskId +Canvas,attr_Material_O_1,Material,8 +Chambray,attr_Material_O_2,Material,8 +Chenille,attr_Material_O_3,Material,8 +Chiffon,attr_Material_O_4,Material,8 +Corduroy,attr_Material_O_5,Material,8 +Crepe,attr_Material_O_6,Material,8 +Denim,attr_Material_O_7,Material,8 +Faux_fur,attr_Material_O_8,Material,8 +Faux_leather,attr_Material_O_9,Material,8 +Flannel,attr_Material_O_10,Material,8 +Fleece,attr_Material_O_11,Material,8 +Gingham,attr_Material_O_12,Material,8 +Jersey,attr_Material_O_13,Material,8 +Knit,attr_Material_O_14,Material,8 +Lace,attr_Material_O_15,Material,8 +Lawn,attr_Material_O_16,Material,8 +Neoprene,attr_Material_O_17,Material,8 +Organza,attr_Material_O_18,Material,8 +Plush,attr_Material_O_19,Material,8 +Satin,attr_Material_O_20,Material,8 +Serge,attr_Material_O_21,Material,8 +Taffeta,attr_Material_O_22,Material,8 +Tulle,attr_Material_O_23,Material,8 +Tweed,attr_Material_O_24,Material,8 +Twill,attr_Material_O_25,Material,8 +Velvet,attr_Material_O_26,Material,8 +Vinyl,attr_Material_O_27,Material,8 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori10_bottom_Silhoutte.csv b/app/service/attribute_recognition/discriptor/bottom/ori10_bottom_Silhoutte.csv new file mode 100644 index 0000000..48a01f9 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/bottom/ori10_bottom_Silhoutte.csv @@ -0,0 +1,6 @@ +labelName,join_attr,taskName,taskId +A Line,attr_Silhouette_B_1,Silhouette,10 +H Shape,attr_Silhouette_B_2,Silhouette,10 +Slim,attr_Silhouette_B_3,Silhouette,10 +Peg-top,attr_Silhouette_B_4,Silhouette,10 +Peplum,attr_Silhouette_B_5,Silhouette,10 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori1_bottom_Type.csv b/app/service/attribute_recognition/discriptor/bottom/ori1_bottom_Type.csv new file mode 100644 index 0000000..e1a7c82 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/bottom/ori1_bottom_Type.csv @@ -0,0 +1,3 @@ +labelName,join_attr,taskName,taskId +Pants,BTM_Type_1,Type,1 +Skirt,BTM_Type_2,Type,1 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori2_bottom_subtype.csv b/app/service/attribute_recognition/discriptor/bottom/ori2_bottom_subtype.csv new file mode 100644 index 0000000..93d835f --- /dev/null +++ b/app/service/attribute_recognition/discriptor/bottom/ori2_bottom_subtype.csv @@ -0,0 +1,47 @@ +labelName,join_attr,taskName,taskId +Jeans,BTM_Sub-Type_1,Sub_Type,2 +Leggings,BTM_Sub-Type_2,Sub_Type,2 +Joggers,BTM_Sub-Type_3,Sub_Type,2 +Suit Trousers,BTM_Sub-Type_4,Sub_Type,2 +Cargo Pants,BTM_Sub-Type_5,Sub_Type,2 +Culottes,BTM_Sub-Type_6,Sub_Type,2 +Peg leg Pants ,BTM_Sub-Type_7,Sub_Type,2 +A Line Skirt_gathered,BTM_Sub-Type_8,Sub_Type,2 +Pencil Skirt,BTM_Sub-Type_9,Sub_Type,2 +Handkerchief Skirt,BTM_Sub-Type_10,Sub_Type,2 +Mermaid/Fishtail Skirt,BTM_Sub-Type_11,Sub_Type,2 +Skater Skirt,BTM_Sub-Type_12,Sub_Type,2 +Bodycon Skirt,BTM_Sub-Type_13,Sub_Type,2 +Shorts,BTM_Sub-Type_14,Sub_Type,2 +boot-cut_flare,BTM_Sub-Type_15,Sub_Type,2 +Pleated Skirt,BTM_Sub-Type_16,Sub_Type,2 +Bubble skirt,BTM_Sub-Type_17,Sub_Type,2 +Leather pants,BTM_Sub-Type_18,Sub_Type,2 +pattened pants,BTM_Sub-Type_19,Sub_Type,2 +Tier Skirt,BTM_Sub-Type_20,Sub_Type,2 +asymmetric_mullet,BTM_Sub-Type_21,Sub_Type,2 +baggy,BTM_Sub-Type_22,Sub_Type,2 +denim skirt,BTM_Sub-Type_23,Sub_Type,2 +flare skirt,BTM_Sub-Type_24,Sub_Type,2 +fringe skirt,BTM_Sub-Type_25,Sub_Type,2 +godet skirt,BTM_Sub-Type_26,Sub_Type,2 +high rise pants,BTM_Sub-Type_27,Sub_Type,2 +hight waist skirt,BTM_Sub-Type_28,Sub_Type,2 +hat pants,BTM_Sub-Type_29,Sub_Type,2 +leather skirts,BTM_Sub-Type_30,Sub_Type,2 +long skirts,BTM_Sub-Type_31,Sub_Type,2 +low rise pants,BTM_Sub-Type_32,Sub_Type,2 +mini skirt,BTM_Sub-Type_33,Sub_Type,2 +panel kirt,BTM_Sub-Type_34,Sub_Type,2 +peg top skirt,BTM_Sub-Type_35,Sub_Type,2 +pencil pants,BTM_Sub-Type_36,Sub_Type,2 +shorts (denim),BTM_Sub-Type_37,Sub_Type,2 +skinny_cigarette pants,BTM_Sub-Type_38,Sub_Type,2 +split skirt,BTM_Sub-Type_39,Sub_Type,2 +stirrup,BTM_Sub-Type_40,Sub_Type,2 +stranget pants,BTM_Sub-Type_41,Sub_Type,2 +straight skirt,BTM_Sub-Type_42,Sub_Type,2 +wide leg pants,BTM_Sub-Type_43,Sub_Type,2 +wrap skirt,BTM_Sub-Type_44,Sub_Type,2 +Jeans,BTM_Sub-Type_45,Sub_Type,2 +Leggings,BTM_Sub-Type_46,Sub_Type,2 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori3_bottom_structure.csv b/app/service/attribute_recognition/discriptor/bottom/ori3_bottom_structure.csv new file mode 100644 index 0000000..e968d11 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/bottom/ori3_bottom_structure.csv @@ -0,0 +1,4 @@ +labelName,join_attr,taskName,taskId +Woven,attr_BTM_Structure_1,Structure,3 +Knit,attr_BTM_Structure_2,Structure,3 +Sweater,attr_BTM_Structure_3,Structure,3 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori4_bottom_length.csv b/app/service/attribute_recognition/discriptor/bottom/ori4_bottom_length.csv new file mode 100644 index 0000000..87465d1 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/bottom/ori4_bottom_length.csv @@ -0,0 +1,6 @@ +labelName,join_attr,taskName,taskId +Short,attr_BTM_length_1,Length,4 +Middle,attr_BTM_length_2,Length,4 +Seven,attr_BTM_length_3,Length,4 +Nine,attr_BTM_length_4,Length,4 +Long,attr_BTM_length_5,Length,4 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori5_bottom_Print.csv b/app/service/attribute_recognition/discriptor/bottom/ori5_bottom_Print.csv new file mode 100644 index 0000000..4d6410e --- /dev/null +++ b/app/service/attribute_recognition/discriptor/bottom/ori5_bottom_Print.csv @@ -0,0 +1,16 @@ +labelName,join_attr,taskName,taskId +abstract,attr_Print_B_1,Print,5 +allover,attr_Print_B_2,Print,5 +animal printed,attr_Print_B_3,Print,5 +Camouflage,attr_Print_B_4,Print,5 +checks,attr_Print_B_5,Print,5 +color_block,attr_Print_B_6,Print,5 +disty print,attr_Print_B_7,Print,5 +dotted,attr_Print_B_8,Print,5 +floral,attr_Print_B_9,Print,5 +graphic print,attr_Print_B_10,Print,5 +logo and slogan print,attr_Print_B_11,Print,5 +patchwork,attr_Print_B_12,Print,5 +plain,attr_Print_B_13,Print,5 +plain_dnim,attr_Print_B_14,Print,5 +stripe,attr_Print_B_15,Print,5 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori6_bottom_Material.csv b/app/service/attribute_recognition/discriptor/bottom/ori6_bottom_Material.csv new file mode 100644 index 0000000..6d94f8b --- /dev/null +++ b/app/service/attribute_recognition/discriptor/bottom/ori6_bottom_Material.csv @@ -0,0 +1,28 @@ +labelName,join_attr,taskName,taskId +canvas,attr_Material_B_1,Material,6 +chambray,attr_Material_B_2,Material,6 +chenille,attr_Material_B_3,Material,6 +chiffon,attr_Material_B_4,Material,6 +corduroy,attr_Material_B_5,Material,6 +crepe,attr_Material_B_6,Material,6 +denim,attr_Material_B_7,Material,6 +faux_fur,attr_Material_B_8,Material,6 +faux_leather,attr_Material_B_9,Material,6 +flannel,attr_Material_B_10,Material,6 +fleece,attr_Material_B_11,Material,6 +gingham,attr_Material_B_12,Material,6 +jersey,attr_Material_B_13,Material,6 +knit,attr_Material_B_14,Material,6 +lace,attr_Material_B_15,Material,6 +lawn,attr_Material_B_16,Material,6 +neoprene,attr_Material_B_17,Material,6 +organza,attr_Material_B_18,Material,6 +plush,attr_Material_B_19,Material,6 +satin,attr_Material_B_20,Material,6 +serge,attr_Material_B_21,Material,6 +taffeta,attr_Material_B_22,Material,6 +tulle,attr_Material_B_23,Material,6 +tweed,attr_Material_B_24,Material,6 +twill,attr_Material_B_25,Material,6 +velvet,attr_Material_B_26,Material,6 +vinyl,attr_Material_B_27,Material,6 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori7_bottom_Softness.csv b/app/service/attribute_recognition/discriptor/bottom/ori7_bottom_Softness.csv new file mode 100644 index 0000000..74421f0 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/bottom/ori7_bottom_Softness.csv @@ -0,0 +1,4 @@ +labelName,join_attr,taskName,taskId +Soft,attr_Softness_B_1,Softness,7 +Medium,attr_Softness_B_2,Softness,7 +Hard,attr_Softness_B_3,Softness,7 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori8_bottom_Design.csv b/app/service/attribute_recognition/discriptor/bottom/ori8_bottom_Design.csv new file mode 100644 index 0000000..6a8e5d7 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/bottom/ori8_bottom_Design.csv @@ -0,0 +1,17 @@ +labelName,join_attr,taskName,taskId +Asymmetrical,attr_Design_B_1,Design,8 +Tiered,attr_Design_B_2,Design,8 +Tassel,attr_Design_B_3,Design,8 +Ruffle,attr_Design_B_4,Design,8 +Pleated,attr_Design_B_5,Design,8 +Wrap,attr_Design_B_6,Design,8 +Ripped,attr_Design_B_7,Design,8 +Cut out,attr_Design_B_8,Design,8 +Eyelet,attr_Design_B_9,Design,8 +Folded,attr_Design_B_10,Design,8 +Tied,attr_Design_B_11,Design,8 +Drapes,attr_Design_B_12,Design,8 +Ribbon,attr_Design_B_13,Design,8 +Button,attr_Design_B_14,Design,8 +Split,attr_Design_B_15,Design,8 +Fishtail,attr_Design_B_16,Design,8 diff --git a/app/service/attribute_recognition/discriptor/bottom/ori9_bottom_OPType.csv b/app/service/attribute_recognition/discriptor/bottom/ori9_bottom_OPType.csv new file mode 100644 index 0000000..5aaef17 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/bottom/ori9_bottom_OPType.csv @@ -0,0 +1,6 @@ +labelName,join_attr,taskName,taskId +Button,attr_OPType_B_1,Opening_Type,9 +Zipper,attr_OPType_B_2,Opening_Type,9 +Thread,attr_OPType_B_3,Opening_Type,9 +Hook,attr_OPType_B_4,Opening_Type,9 +Elastic,attr_OPType_B_5,Opening_Type,9 diff --git a/app/service/attribute_recognition/discriptor/category/category_dis.csv b/app/service/attribute_recognition/discriptor/category/category_dis.csv new file mode 100644 index 0000000..724edb2 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/category/category_dis.csv @@ -0,0 +1,7 @@ +labelName,join_attr,taskName,taskId +top,attr_top,category,1 +pants,attr_pants,category,1 +skirt,attr_skirt,category,1 +dress,attr_dress,category,1 +outwear,attr_outwear,category,1 +jumpsuit,attr_jumpsuit,category,1 diff --git a/app/service/attribute_recognition/discriptor/dress/11_dress_Silhouette.csv b/app/service/attribute_recognition/discriptor/dress/11_dress_Silhouette.csv new file mode 100644 index 0000000..97499f4 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/dress/11_dress_Silhouette.csv @@ -0,0 +1,11 @@ +labelName,join_attr,taskName,taskId +A Line,attr_Silhouette_U_1,Silhouette,11 +H Shape,attr_Silhouette_U_2,Silhouette,11 +Slim,attr_Silhouette_U_3,Silhouette,11 +Oversized,attr_Silhouette_U_4,Silhouette,11 +Cacoon,attr_Silhouette_U_5,Silhouette,11 +Empire,attr_Silhouette_U_6,Silhouette,11 +Hourglass,attr_Silhouette_U_7,Silhouette,11 +Mermaid,attr_Silhouette_U_8,Silhouette,11 +Sheath,attr_Silhouette_U_9,Silhouette,11 +Tent,attr_Silhouette_U_10,Silhouette,11 diff --git a/app/service/attribute_recognition/discriptor/dress/11_top_OPType.csv b/app/service/attribute_recognition/discriptor/dress/11_top_OPType.csv new file mode 100644 index 0000000..870631b --- /dev/null +++ b/app/service/attribute_recognition/discriptor/dress/11_top_OPType.csv @@ -0,0 +1,5 @@ +labelName,join_attr,taskName,taskId +Button,attr_OPType_U_1,Opening_Type,11 +Zipper,attr_OPType_U_2,Opening_Type,11 +Thread,attr_OPType_U_3,Opening_Type,11 +Hook,attr_OPType_U_4,Opening_Type,11 diff --git a/app/service/attribute_recognition/discriptor/dress/12_dress_type.csv b/app/service/attribute_recognition/discriptor/dress/12_dress_type.csv new file mode 100644 index 0000000..7a7a1c7 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/dress/12_dress_type.csv @@ -0,0 +1,20 @@ +labelName,join_attr,taskName,taskId +Evening gown,attr_dresstype_1,Type,12 +Shirt-dress,attr_dresstype_2,Type,12 +Coat dress,attr_dresstype_3,Type,12 +Handkerchief dress,attr_dresstype_4,Type,12 +Jumper dress,attr_dresstype_5,Type,12 +Dungaree dress,attr_dresstype_6,Type,12 +Skater dress,attr_dresstype_7,Type,12 +Tea dress,attr_dresstype_8,Type,12 +Mermaid dress,attr_dresstype_9,Type,12 +Cocktail dress,attr_dresstype_10,Type,12 +A-Line dress,attr_dresstype_11,Type,12 +Bodycon dress,attr_dresstype_12,Type,12 +Maxi dress,attr_dresstype_13,Type,12 +Office dress,attr_dresstype_14,Type,12 +Pencil dress,attr_dresstype_15,Type,12 +Sheer dress,attr_dresstype_16,Type,12 +Shift dress,attr_dresstype_17,Type,12 +Slip dress,attr_dresstype_18,Type,12 +T-shirt dress,attr_dresstype_19,Type,12 \ No newline at end of file diff --git a/app/service/attribute_recognition/discriptor/dress/1_dress_length.csv b/app/service/attribute_recognition/discriptor/dress/1_dress_length.csv new file mode 100644 index 0000000..9568d0c --- /dev/null +++ b/app/service/attribute_recognition/discriptor/dress/1_dress_length.csv @@ -0,0 +1,6 @@ +labelName,join_attr,taskName,taskId +Maxi,attr_Dress_length_1,Length,1 +Midi,attr_Dress_length_2,Length,1 +Mini,attr_Dress_length_3,Length,1 +Over the knee,attr_Dress_length_4,Length,1 +Floor Length,attr_Dress_length_5,Length,1 diff --git a/app/service/attribute_recognition/discriptor/dress/3_top_Sleeve_length.csv b/app/service/attribute_recognition/discriptor/dress/3_top_Sleeve_length.csv new file mode 100644 index 0000000..1f2a0f3 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/dress/3_top_Sleeve_length.csv @@ -0,0 +1,6 @@ +labelName,join_attr,taskName,taskId +Sleeveless,attr_Sleeve_length_1,Sleeve_Length,3 +Short,attr_Sleeve_length_2,Sleeve_Length,3 +Middle,attr_Sleeve_length_3,Sleeve_Length,3 +Seven,attr_Sleeve_length_4,Sleeve_Length,3 +Long,attr_Sleeve_length_5,Sleeve_Length,3 diff --git a/app/service/attribute_recognition/discriptor/dress/4_top_Sleeve_shape.csv b/app/service/attribute_recognition/discriptor/dress/4_top_Sleeve_shape.csv new file mode 100644 index 0000000..d429c11 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/dress/4_top_Sleeve_shape.csv @@ -0,0 +1,9 @@ +labelName,join_attr,taskName,taskId +Regular,attr_Sleeve_shape_1,Sleeve_Shape,4 +Slim,attr_Sleeve_shape_2,Sleeve_Shape,4 +Puff,attr_Sleeve_shape_3,Sleeve_Shape,4 +Bell,attr_Sleeve_shape_4,Sleeve_Shape,4 +Batwing,attr_Sleeve_shape_5,Sleeve_Shape,4 +Shirt,attr_Sleeve_shape_6,Sleeve_Shape,4 +Rib,attr_Sleeve_shape_7,Sleeve_Shape,4 +Raglan,attr_Sleeve_shape_8,Sleeve_Shape,4 diff --git a/app/service/attribute_recognition/discriptor/dress/5_top_Sleeve_shoulder.csv b/app/service/attribute_recognition/discriptor/dress/5_top_Sleeve_shoulder.csv new file mode 100644 index 0000000..c31e7ea --- /dev/null +++ b/app/service/attribute_recognition/discriptor/dress/5_top_Sleeve_shoulder.csv @@ -0,0 +1,5 @@ +labelName,join_attr,taskName,taskId +Regular,attr_Sleeve_shoulder_1,Sleeve_Shoulder,5 +Cold,attr_Sleeve_shoulder_2,Sleeve_Shoulder,5 +Tucked,attr_Sleeve_shoulder_3,Sleeve_Shoulder,5 +Balmain,attr_Sleeve_shoulder_4,Sleeve_Shoulder,5 diff --git a/app/service/attribute_recognition/discriptor/dress/6_top_Neckline.csv b/app/service/attribute_recognition/discriptor/dress/6_top_Neckline.csv new file mode 100644 index 0000000..30c1420 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/dress/6_top_Neckline.csv @@ -0,0 +1,7 @@ +labelName,join_attr,taskName,taskId +Round,attr_Neckline_1,Neckline,6 +V,attr_Neckline_2,Neckline,6 +Square,attr_Neckline_3,Neckline,6 +One-shoulder,attr_Neckline_4,Neckline,6 +Off-shoulder,attr_Neckline_5,Neckline,6 +Strapless,attr_Neckline_6,Neckline,6 diff --git a/app/service/attribute_recognition/discriptor/dress/7_outer_Print.csv b/app/service/attribute_recognition/discriptor/dress/7_outer_Print.csv new file mode 100644 index 0000000..cb5695d --- /dev/null +++ b/app/service/attribute_recognition/discriptor/dress/7_outer_Print.csv @@ -0,0 +1,16 @@ +labelName,join_attr,taskName,taskId +Abstract,attr_Print_O_1,Print,7 +Allover,attr_Print_O_2,Print,7 +Animal,attr_Print_O_3,Print,7 +Camouflage,attr_Print_O_4,Print,7 +Checks,attr_Print_O_5,Print,7 +Color_block,attr_Print_O_6,Print,7 +Disty print,attr_Print_O_7,Print,7 +Dotted,attr_Print_O_8,Print,7 +Floral,attr_Print_O_9,Print,7 +Graphic print,attr_Print_O_10,Print,7 +Logo and slogan,attr_Print_O_11,Print,7 +Patchwork,attr_Print_O_12,Print,7 +Plain,attr_Print_O_13,Print,7 +Plain_dnim,attr_Print_O_14,Print,7 +Stripe,attr_Print_O_15,Print,7 diff --git a/app/service/attribute_recognition/discriptor/dress/7_top_Collar.csv b/app/service/attribute_recognition/discriptor/dress/7_top_Collar.csv new file mode 100644 index 0000000..a30c014 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/dress/7_top_Collar.csv @@ -0,0 +1,11 @@ +labelName,join_attr,taskName,taskId +Peterpan,attr_Collar_1,Collar,7 +Shirt,attr_Collar_2,Collar,7 +Rib,attr_Collar_3,Collar,7 +Turtle,attr_Collar_4,Collar,7 +Lapel,attr_Collar_5,Collar,7 +Hoodie,attr_Collar_6,Collar,7 +Mandarin,attr_Collar_7,Collar,7 +Tie,attr_Collar_8,Collar,7 +Ruffle,attr_Collar_9,Collar,7 +Cowl,attr_Collar_10,Collar,7 diff --git a/app/service/attribute_recognition/discriptor/dress/8_outer_Material.csv b/app/service/attribute_recognition/discriptor/dress/8_outer_Material.csv new file mode 100644 index 0000000..2db5c94 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/dress/8_outer_Material.csv @@ -0,0 +1,28 @@ +labelName,join_attr,taskName,taskId +Canvas,attr_Material_O_1,Material,8 +Chambray,attr_Material_O_2,Material,8 +Chenille,attr_Material_O_3,Material,8 +Chiffon,attr_Material_O_4,Material,8 +Corduroy,attr_Material_O_5,Material,8 +Crepe,attr_Material_O_6,Material,8 +Denim,attr_Material_O_7,Material,8 +Faux_fur,attr_Material_O_8,Material,8 +Faux_leather,attr_Material_O_9,Material,8 +Flannel,attr_Material_O_10,Material,8 +Fleece,attr_Material_O_11,Material,8 +Gingham,attr_Material_O_12,Material,8 +Jersey,attr_Material_O_13,Material,8 +Knit,attr_Material_O_14,Material,8 +Lace,attr_Material_O_15,Material,8 +Lawn,attr_Material_O_16,Material,8 +Neoprene,attr_Material_O_17,Material,8 +Organza,attr_Material_O_18,Material,8 +Plush,attr_Material_O_19,Material,8 +Satin,attr_Material_O_20,Material,8 +Serge,attr_Material_O_21,Material,8 +Taffeta,attr_Material_O_22,Material,8 +Tulle,attr_Material_O_23,Material,8 +Tweed,attr_Material_O_24,Material,8 +Twill,attr_Material_O_25,Material,8 +Velvet,attr_Material_O_26,Material,8 +Vinyl,attr_Material_O_27,Material,8 diff --git a/app/service/attribute_recognition/discriptor/dress/9_dress_Design.csv b/app/service/attribute_recognition/discriptor/dress/9_dress_Design.csv new file mode 100644 index 0000000..03016b0 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/dress/9_dress_Design.csv @@ -0,0 +1,19 @@ +labelName,join_attr,taskName,taskId +Asymmetrical,attr_Design_U_1,Design,9 +Tiered,attr_Design_U_2,Design,9 +Tassel,attr_Design_U_3,Design,9 +Ruffle,attr_Design_U_4,Design,9 +Pleated,attr_Design_U_5,Design,9 +Wrap,attr_Design_U_6,Design,9 +Ripped,attr_Design_U_7,Design,9 +Cut out,attr_Design_U_8,Design,9 +Eyelet,attr_Design_U_9,Design,9 +Folded,attr_Design_U_10,Design,9 +Tied,attr_Design_U_11,Design,9 +Drapes,attr_Design_U_12,Design,9 +Ribbon,attr_Design_U_13,Design,9 +Button,attr_Design_U_14,Design,9 +Split,attr_Design_U_15,Design,9 +Fishtail,attr_Design_U_16,Design,9 +Cami dress,attr_Design_U_17,Design,9 +Gathering,attr_Design_U_18,Design,9 diff --git a/app/service/attribute_recognition/discriptor/dress/9_top_Softness.csv b/app/service/attribute_recognition/discriptor/dress/9_top_Softness.csv new file mode 100644 index 0000000..dc8b5f0 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/dress/9_top_Softness.csv @@ -0,0 +1,4 @@ +labelName,join_attr,taskName,taskId +Soft,attr_Softness_U_1,Softness,9 +Medium,attr_Softness_U_2,Softness,9 +Hard,attr_Softness_U_3,Softness,9 diff --git a/app/service/attribute_recognition/discriptor/dress/ori10_dress_Design.csv b/app/service/attribute_recognition/discriptor/dress/ori10_dress_Design.csv new file mode 100644 index 0000000..db0561e --- /dev/null +++ b/app/service/attribute_recognition/discriptor/dress/ori10_dress_Design.csv @@ -0,0 +1,16 @@ +labelName,join_attr,taskName,taskId +Asymmetrical,attr_Design_D_1,Design,10 +Tiered,attr_Design_D_2,Design,10 +Tassel,attr_Design_D_3,Design,10 +Ruffle,attr_Design_D_4,Design,10 +Pleated,attr_Design_D_5,Design,10 +Wrap,attr_Design_D_6,Design,10 +Ripped,attr_Design_D_7,Design,10 +Cut out,attr_Design_D_8,Design,10 +Eyelet,attr_Design_D_9,Design,10 +Folded,attr_Design_D_10,Design,10 +Tied,attr_Design_D_11,Design,10 +Drapes,attr_Design_D_12,Design,10 +Ribbon,attr_Design_D_13,Design,10 +Button,attr_Design_D_14,Design,10 +Gathering,attr_Design_D_15,Design,10 diff --git a/app/service/attribute_recognition/discriptor/dress/ori11_dress_OPType.csv b/app/service/attribute_recognition/discriptor/dress/ori11_dress_OPType.csv new file mode 100644 index 0000000..34be31e --- /dev/null +++ b/app/service/attribute_recognition/discriptor/dress/ori11_dress_OPType.csv @@ -0,0 +1,5 @@ +labelName,join_attr,taskName,taskId +Button,attr_OPType_D_1,Opening_Type,11 +Zipper,attr_OPType_D_2,Opening_Type,11 +Thread,attr_OPType_D_3,Opening_Type,11 +Hook,attr_OPType_D_4,Opening_Type,11 diff --git a/app/service/attribute_recognition/discriptor/dress/ori12_dress_Silhouette.csv b/app/service/attribute_recognition/discriptor/dress/ori12_dress_Silhouette.csv new file mode 100644 index 0000000..170bd18 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/dress/ori12_dress_Silhouette.csv @@ -0,0 +1,11 @@ +labelName,join_attr,taskName,taskId +A Line,attr_Silhouette_D_1,Silhouette,12 +H Shape,attr_Silhouette_D_2,Silhouette,12 +Slim,attr_Silhouette_D_3,Silhouette,12 +Oversized,attr_Silhouette_D_4,Silhouette,12 +Cacoon,attr_Silhouette_D_5,Silhouette,12 +Empire,attr_Silhouette_D_6,Silhouette,12 +Hourglass,attr_Silhouette_D_7,Silhouette,12 +Mermaid,attr_Silhouette_D_8,Silhouette,12 +Sheath,attr_Silhouette_D_9,Silhouette,12 +Tent,attr_Silhouette_D_10,Silhouette,12 diff --git a/app/service/attribute_recognition/discriptor/dress/ori13_dress_Type.csv b/app/service/attribute_recognition/discriptor/dress/ori13_dress_Type.csv new file mode 100644 index 0000000..84daf45 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/dress/ori13_dress_Type.csv @@ -0,0 +1,20 @@ +labelName,join_attr,taskName,taskId +Evening gown,attr_Dress_Type_1,Type,13 +Shirt-dress,attr_Dress_Type_2,Type,13 +Coat dress,attr_Dress_Type_3,Type,13 +Handkerchief dress,attr_Dress_Type_4,Type,13 +Jumper dress,attr_Dress_Type_5,Type,13 +Dungaree dress,attr_Dress_Type_6,Type,13 +Skater dress,attr_Dress_Type_7,Type,13 +Tea dress,attr_Dress_Type_8,Type,13 +Mermaid dress,attr_Dress_Type_9,Type,13 +Cocktail dress,attr_Dress_Type_10,Type,13 +A-Line dress,attr_Dress_Type_11,Type,13 +Bodycon dress,attr_Dress_Type_12,Type,13 +Maxi dress,attr_Dress_Type_13,Type,13 +Office dress,attr_Dress_Type_14,Type,13 +Pencil dress,attr_Dress_Type_15,Type,13 +Sheer dress,attr_Dress_Type_16,Type,13 +Shift dress,attr_Dress_Type_17,Type,13 +Slip dress,attr_Dress_Type_18,Type,13 +T-shirt dress,attr_Dress_Type_19,Type,13 diff --git a/app/service/attribute_recognition/discriptor/dress/ori1_dress_length.csv b/app/service/attribute_recognition/discriptor/dress/ori1_dress_length.csv new file mode 100644 index 0000000..9568d0c --- /dev/null +++ b/app/service/attribute_recognition/discriptor/dress/ori1_dress_length.csv @@ -0,0 +1,6 @@ +labelName,join_attr,taskName,taskId +Maxi,attr_Dress_length_1,Length,1 +Midi,attr_Dress_length_2,Length,1 +Mini,attr_Dress_length_3,Length,1 +Over the knee,attr_Dress_length_4,Length,1 +Floor Length,attr_Dress_length_5,Length,1 diff --git a/app/service/attribute_recognition/discriptor/dress/ori2_dress_Sleeve_length.csv b/app/service/attribute_recognition/discriptor/dress/ori2_dress_Sleeve_length.csv new file mode 100644 index 0000000..14a2dc5 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/dress/ori2_dress_Sleeve_length.csv @@ -0,0 +1,6 @@ +labelName,join_attr,taskName,taskId +Sleeveless,attr_Sleeve_length_D_1,Sleeve_Length,2 +Short,attr_Sleeve_length_D_2,Sleeve_Length,2 +Middle,attr_Sleeve_length_D_3,Sleeve_Length,2 +Seven,attr_Sleeve_length_D_4,Sleeve_Length,2 +Long,attr_Sleeve_length_D_5,Sleeve_Length,2 diff --git a/app/service/attribute_recognition/discriptor/dress/ori3_dress_Sleeve_shape.csv b/app/service/attribute_recognition/discriptor/dress/ori3_dress_Sleeve_shape.csv new file mode 100644 index 0000000..7277acf --- /dev/null +++ b/app/service/attribute_recognition/discriptor/dress/ori3_dress_Sleeve_shape.csv @@ -0,0 +1,9 @@ +labelName,join_attr,taskName,taskId +Regular,attr_Sleeve_shape_D_1,Sleeve_Shape,3 +Slim,attr_Sleeve_shape_D_2,Sleeve_Shape,3 +Puff,attr_Sleeve_shape_D_3,Sleeve_Shape,3 +Bell,attr_Sleeve_shape_D_4,Sleeve_Shape,3 +Batwing,attr_Sleeve_shape_D_5,Sleeve_Shape,3 +Shirt,attr_Sleeve_shape_D_6,Sleeve_Shape,3 +Rib,attr_Sleeve_shape_D_7,Sleeve_Shape,3 +Raglan,attr_Sleeve_shape_D_8,Sleeve_Shape,3 diff --git a/app/service/attribute_recognition/discriptor/dress/ori4_dress_Sleeve_shoulder.csv b/app/service/attribute_recognition/discriptor/dress/ori4_dress_Sleeve_shoulder.csv new file mode 100644 index 0000000..36656f8 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/dress/ori4_dress_Sleeve_shoulder.csv @@ -0,0 +1,5 @@ +labelName,join_attr,taskName,taskId +Regular,attr_Sleeve_shoulder_D_1,Sleeve_Shoulder,4 +Cold,attr_Sleeve_shoulder_D_2,Sleeve_Shoulder,4 +Tucked,attr_Sleeve_shoulder_D_3,Sleeve_Shoulder,4 +Balmain,attr_Sleeve_shoulder_D_4,Sleeve_Shoulder,4 diff --git a/app/service/attribute_recognition/discriptor/dress/ori5_dress_Neckline.csv b/app/service/attribute_recognition/discriptor/dress/ori5_dress_Neckline.csv new file mode 100644 index 0000000..5e76802 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/dress/ori5_dress_Neckline.csv @@ -0,0 +1,17 @@ +labelName,join_attr,taskName,taskId +Round,attr_Neckline_D_1,Neckline,5 +V,attr_Neckline_D_2,Neckline,5 +Square,attr_Neckline_D_3,Neckline,5 +One-shoulder,attr_Neckline_D_4,Neckline,5 +Off-shoulder,attr_Neckline_D_5,Neckline,5 +Strapless,attr_Neckline_D_6,Neckline,5 +Turtle,attr_Neckline_D_7,Neckline,5 +Boat,attr_Neckline_D_8,Neckline,5 +Halter,attr_Neckline_D_9,Neckline,5 +Spaghetti Strap,attr_Neckline_D_10,Neckline,5 +Sweetheart,attr_Neckline_D_11,Neckline,5 +U,attr_Neckline_D_12,Neckline,5 +choker,attr_Neckline_D_13,Neckline,5 +cowl,attr_Neckline_D_14,Neckline,5 +keyhole,attr_Neckline_D_15,Neckline,5 +split,attr_Neckline_D_16,Neckline,5 diff --git a/app/service/attribute_recognition/discriptor/dress/ori6_dress_Collar.csv b/app/service/attribute_recognition/discriptor/dress/ori6_dress_Collar.csv new file mode 100644 index 0000000..0873572 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/dress/ori6_dress_Collar.csv @@ -0,0 +1,11 @@ +labelName,join_attr,taskName,taskId +Peterpan-Bertha,attr_Collar_D_1,Collar,6 +Shirt,attr_Collar_D_2,Collar,6 +Rib,attr_Collar_D_3,Collar,6 +Turtle,attr_Collar_D_4,Collar,6 +Lapel,attr_Collar_D_5,Collar,6 +Hoodie,attr_Collar_D_6,Collar,6 +Mandarin,attr_Collar_D_7,Collar,6 +Tie,attr_Collar_D_8,Collar,6 +Ruffle,attr_Collar_D_9,Collar,6 +Cowl,attr_Collar_D_10,Collar,6 diff --git a/app/service/attribute_recognition/discriptor/dress/ori7_dress_Print.csv b/app/service/attribute_recognition/discriptor/dress/ori7_dress_Print.csv new file mode 100644 index 0000000..5caa797 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/dress/ori7_dress_Print.csv @@ -0,0 +1,16 @@ +labelName,join_attr,taskName,taskId +abstract,attr_Print_D_1,Print,7 +allover,attr_Print_D_2,Print,7 +animal printed,attr_Print_D_3,Print,7 +Camouflage,attr_Print_D_4,Print,7 +checks,attr_Print_D_5,Print,7 +color_block,attr_Print_D_6,Print,7 +disty print,attr_Print_D_7,Print,7 +dotted,attr_Print_D_8,Print,7 +floral,attr_Print_D_9,Print,7 +graphic print,attr_Print_D_10,Print,7 +logo and slogan print,attr_Print_D_11,Print,7 +patchwork,attr_Print_D_12,Print,7 +plain,attr_Print_D_13,Print,7 +plain_dnim,attr_Print_D_14,Print,7 +stripe,attr_Print_D_15,Print,7 diff --git a/app/service/attribute_recognition/discriptor/dress/ori8_dress_Material.csv b/app/service/attribute_recognition/discriptor/dress/ori8_dress_Material.csv new file mode 100644 index 0000000..2a05645 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/dress/ori8_dress_Material.csv @@ -0,0 +1,28 @@ +labelName,join_attr,taskName,taskId +canvas,attr_Material_D_1,Material,8 +chambray,attr_Material_D_2,Material,8 +chenille,attr_Material_D_3,Material,8 +chiffon,attr_Material_D_4,Material,8 +corduroy,attr_Material_D_5,Material,8 +crepe,attr_Material_D_6,Material,8 +denim,attr_Material_D_7,Material,8 +faux_fur,attr_Material_D_8,Material,8 +faux_leather,attr_Material_D_9,Material,8 +flannel,attr_Material_D_10,Material,8 +fleece,attr_Material_D_11,Material,8 +gingham,attr_Material_D_12,Material,8 +jersey,attr_Material_D_13,Material,8 +knit,attr_Material_D_14,Material,8 +lace,attr_Material_D_15,Material,8 +lawn,attr_Material_D_16,Material,8 +neoprene,attr_Material_D_17,Material,8 +organza,attr_Material_D_18,Material,8 +plush,attr_Material_D_19,Material,8 +satin,attr_Material_D_20,Material,8 +serge,attr_Material_D_21,Material,8 +taffeta,attr_Material_D_22,Material,8 +tulle,attr_Material_D_23,Material,8 +tweed,attr_Material_D_24,Material,8 +twill,attr_Material_D_25,Material,8 +velvet,attr_Material_D_26,Material,8 +vinyl,attr_Material_D_27,Material,8 diff --git a/app/service/attribute_recognition/discriptor/dress/ori9_dress_Softness.csv b/app/service/attribute_recognition/discriptor/dress/ori9_dress_Softness.csv new file mode 100644 index 0000000..4488232 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/dress/ori9_dress_Softness.csv @@ -0,0 +1,4 @@ +labelName,join_attr,taskName,taskId +Soft,attr_Softness_D_1,Softness,9 +Medium,attr_Softness_D_2,Softness,9 +Hard,attr_Softness_D_3,Softness,9 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/.~lock.12_jumsuit_subtye.csv# b/app/service/attribute_recognition/discriptor/jumpsuit/.~lock.12_jumsuit_subtye.csv# new file mode 100644 index 0000000..c911109 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/jumpsuit/.~lock.12_jumsuit_subtye.csv# @@ -0,0 +1 @@ +,shumin,shumin,20.02.2023 16:48,file:///home/shumin/.config/libreoffice/4; \ No newline at end of file diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/.~lock.8_jumpsuit_Material.csv# b/app/service/attribute_recognition/discriptor/jumpsuit/.~lock.8_jumpsuit_Material.csv# new file mode 100644 index 0000000..e1b4bc3 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/jumpsuit/.~lock.8_jumpsuit_Material.csv# @@ -0,0 +1 @@ +,shumin,shumin,20.02.2023 16:40,file:///home/shumin/.config/libreoffice/4; \ No newline at end of file diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/10_jumsuit_design.csv b/app/service/attribute_recognition/discriptor/jumpsuit/10_jumsuit_design.csv new file mode 100644 index 0000000..47d13cf --- /dev/null +++ b/app/service/attribute_recognition/discriptor/jumpsuit/10_jumsuit_design.csv @@ -0,0 +1,17 @@ +labelName,join_attr,taskName,taskId +Asymmetrical,attr_Design_J_1,Design,9 +Tassel,attr_Design_J_2,Design,9 +Ruffle,attr_Design_J_3,Design,9 +Pleated,attr_Design_J_4,Design,9 +Wrap,attr_Design_J_5,Design,9 +Cut out,attr_Design_J_6,Design,9 +Tied,attr_Design_J_7,Design,9 +Drapes,attr_Design_J_8,Design,9 +Ribbon,attr_Design_J_9,Design,9 +Button,attr_Design_J_10,Design,9 +Cami,attr_Design_J_11,Design,9 +Gathering,attr_Design_J_12,Design,9 +Pocket,attr_Design_J_13,Design,9 +Dungaree,attr_Design_J_14,Design,9 +Layering,attr_Design_J_15,Design,9 +Belted,attr_Design_J_16,Design,9 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/11_jumpsuit_OPType.csv b/app/service/attribute_recognition/discriptor/jumpsuit/11_jumpsuit_OPType.csv new file mode 100644 index 0000000..7e8fa63 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/jumpsuit/11_jumpsuit_OPType.csv @@ -0,0 +1,5 @@ +labelName,join_attr,taskName,taskId +Button,attr_OPType_J_1,Opening_Type,11 +Zipper,attr_OPType_J_2,Opening_Type,11 +Thread,attr_OPType_J_3,Opening_Type,11 +Hook,attr_OPType_J_4,Opening_Type,11 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/12_jumpsuit_subtype.csv b/app/service/attribute_recognition/discriptor/jumpsuit/12_jumpsuit_subtype.csv new file mode 100644 index 0000000..ba7256d --- /dev/null +++ b/app/service/attribute_recognition/discriptor/jumpsuit/12_jumpsuit_subtype.csv @@ -0,0 +1,6 @@ +labelName,join_attr,taskName,taskId +Peg leg,attr_Jumpsuit_subtype_1,Subtype,12 +Straight leg,attr_Jumpsuit_subtype_2,Subtype,12 +Wide leg,attr_Jumpsuit_subtype_3,Subtype,12 +Boot-cut flare,attr_Jumpsuit_subtype_4,Subtype,12 +Slim fit,attr_Jumpsuit_subtype_5,Subtype,12 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/1_jumsuit_length.csv b/app/service/attribute_recognition/discriptor/jumpsuit/1_jumsuit_length.csv new file mode 100644 index 0000000..6a03719 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/jumpsuit/1_jumsuit_length.csv @@ -0,0 +1,6 @@ +labelName,join_attr,taskName,taskId +Short,attr_Jumpsuit_length_1,Length,1 +Middle,attr_Jumpsuit_length_2,Length,1 +Seven,attr_Jumpsuit_length_3,Length,1 +Nine,attr_Jumpsuit_length_4,Length,1 +Long,attr_Jumpsuit_length_5,Length,1 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/2_jumpsuit_Sleeve_length.csv b/app/service/attribute_recognition/discriptor/jumpsuit/2_jumpsuit_Sleeve_length.csv new file mode 100644 index 0000000..7d77d7a --- /dev/null +++ b/app/service/attribute_recognition/discriptor/jumpsuit/2_jumpsuit_Sleeve_length.csv @@ -0,0 +1,6 @@ +labelName,join_attr,taskName,taskId +Sleeveless,attr_Sleeve_length_J_1,Sleeve_Length,2 +Short,attr_Sleeve_length_J_2,Sleeve_Length,2 +Middle,attr_Sleeve_length_J_3,Sleeve_Length,2 +Seven,attr_Sleeve_length_J_4,Sleeve_Length,2 +Long,attr_Sleeve_length_J_5,Sleeve_Length,2 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/3_jumpsuit_Sleeve_shape.csv b/app/service/attribute_recognition/discriptor/jumpsuit/3_jumpsuit_Sleeve_shape.csv new file mode 100644 index 0000000..c1a9cce --- /dev/null +++ b/app/service/attribute_recognition/discriptor/jumpsuit/3_jumpsuit_Sleeve_shape.csv @@ -0,0 +1,9 @@ +labelName,join_attr,taskName,taskId +Regular,attr_Sleeve_shape_J_1,Sleeve_Shape,3 +Slim,attr_Sleeve_shape_J_2,Sleeve_Shape,3 +Puff,attr_Sleeve_shape_J_3,Sleeve_Shape,3 +Bell,attr_Sleeve_shape_J_4,Sleeve_Shape,3 +Batwing,attr_Sleeve_shape_J_5,Sleeve_Shape,3 +Shirt,attr_Sleeve_shape_J_6,Sleeve_Shape,3 +Rib,attr_Sleeve_shape_J_7,Sleeve_Shape,3 +Raglan,attr_Sleeve_shape_J_8,Sleeve_Shape,3 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/4_jumpsuit_Sleeve_shoulder.csv b/app/service/attribute_recognition/discriptor/jumpsuit/4_jumpsuit_Sleeve_shoulder.csv new file mode 100644 index 0000000..47e067a --- /dev/null +++ b/app/service/attribute_recognition/discriptor/jumpsuit/4_jumpsuit_Sleeve_shoulder.csv @@ -0,0 +1,5 @@ +labelName,join_attr,taskName,taskId +Regular,attr_Sleeve_shoulder_J_1,Sleeve_Shoulder,4 +Cold,attr_Sleeve_shoulder_J_2,Sleeve_Shoulder,4 +Tucked,attr_Sleeve_shoulder_J_3,Sleeve_Shoulder,4 +Balmain,attr_Sleeve_shoulder_J_4,Sleeve_Shoulder,4 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/5_jumpsuit_Neckline.csv b/app/service/attribute_recognition/discriptor/jumpsuit/5_jumpsuit_Neckline.csv new file mode 100644 index 0000000..30c1420 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/jumpsuit/5_jumpsuit_Neckline.csv @@ -0,0 +1,7 @@ +labelName,join_attr,taskName,taskId +Round,attr_Neckline_1,Neckline,6 +V,attr_Neckline_2,Neckline,6 +Square,attr_Neckline_3,Neckline,6 +One-shoulder,attr_Neckline_4,Neckline,6 +Off-shoulder,attr_Neckline_5,Neckline,6 +Strapless,attr_Neckline_6,Neckline,6 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/6_jumpsuit_Collar.csv b/app/service/attribute_recognition/discriptor/jumpsuit/6_jumpsuit_Collar.csv new file mode 100644 index 0000000..a154c21 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/jumpsuit/6_jumpsuit_Collar.csv @@ -0,0 +1,11 @@ +labelName,join_attr,taskName,taskId +Peterpan,attr_Collar_J_1,Collar,6 +Shirt,attr_Collar_J_2,Collar,6 +Rib,attr_Collar_J_3,Collar,6 +Turtle,attr_Collar_J_4,Collar,6 +Lapel,attr_Collar_J_5,Collar,6 +Hoodie,attr_Collar_J_6,Collar,6 +Mandarin,attr_Collar_J_7,Collar,6 +Tie,attr_Collar_J_8,Collar,6 +Ruffle,attr_Collar_J_9,Collar,6 +Cowl,attr_Collar_J_10,Collar,6 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/7_jumpsuit_Print.csv b/app/service/attribute_recognition/discriptor/jumpsuit/7_jumpsuit_Print.csv new file mode 100644 index 0000000..4e3e285 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/jumpsuit/7_jumpsuit_Print.csv @@ -0,0 +1,16 @@ +labelName,join_attr,taskName,taskId +Abstract,attr_Print_J_1,Print,7 +Allover,attr_Print_J_2,Print,7 +Animal,attr_Print_J_3,Print,7 +Camouflage,attr_Print_J_4,Print,7 +Checks,attr_Print_J_5,Print,7 +Color_block,attr_Print_J_6,Print,7 +Disty Print,attr_Print_J_7,Print,7 +Dotted,attr_Print_J_8,Print,7 +Floral,attr_Print_J_9,Print,7 +Graphic Print,attr_Print_J_10,Print,7 +Logo and slogan,attr_Print_J_11,Print,7 +Patchwork,attr_Print_J_12,Print,7 +Plain,attr_Print_J_13,Print,7 +Plain_dnim,attr_Print_J_14,Print,7 +Stripe,attr_Print_J_15,Print,7 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/8_jumpsuit_Material.csv b/app/service/attribute_recognition/discriptor/jumpsuit/8_jumpsuit_Material.csv new file mode 100644 index 0000000..558e700 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/jumpsuit/8_jumpsuit_Material.csv @@ -0,0 +1,28 @@ +labelName,join_attr,taskName,taskId +Canvas,attr_Material_J_1,Material,8 +Chambray,attr_Material_J_2,Material,8 +Chenille,attr_Material_J_3,Material,8 +Chiffon,attr_Material_J_4,Material,8 +Corduroy,attr_Material_J_5,Material,8 +Crepe,attr_Material_J_6,Material,8 +Denim,attr_Material_J_7,Material,8 +Faux_fur,attr_Material_J_8,Material,8 +Faux_leather,attr_Material_J_9,Material,8 +Flannel,attr_Material_J_10,Material,8 +Fleece,attr_Material_J_11,Material,8 +Gingham,attr_Material_J_12,Material,8 +Jersey,attr_Material_J_13,Material,8 +Knit,attr_Material_J_14,Material,8 +Lace,attr_Material_J_15,Material,8 +Lawn,attr_Material_J_16,Material,8 +Neoprene,attr_Material_J_17,Material,8 +Organza,attr_Material_J_18,Material,8 +Plush,attr_Material_J_19,Material,8 +Satin,attr_Material_J_20,Material,8 +Serge,attr_Material_J_21,Material,8 +Taffeta,attr_Material_J_22,Material,8 +Tulle,attr_Material_J_23,Material,8 +Tweed,attr_Material_J_24,Material,8 +Twill,attr_Material_J_25,Material,8 +Velvet,attr_Material_J_26,Material,8 +Vinyl,attr_Material_J_27,Material,8 diff --git a/app/service/attribute_recognition/discriptor/jumpsuit/9_jumpsuit_Softness.csv b/app/service/attribute_recognition/discriptor/jumpsuit/9_jumpsuit_Softness.csv new file mode 100644 index 0000000..c1aa4d3 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/jumpsuit/9_jumpsuit_Softness.csv @@ -0,0 +1,4 @@ +labelName,join_attr,taskName,taskId +Soft,attr_Softness_J_1,Softness,9 +Medium,attr_Softness_J_2,Softness,9 +Hard,attr_Softness_J_3,Softness,9 diff --git a/app/service/attribute_recognition/discriptor/outwear/10_outer_Design.csv b/app/service/attribute_recognition/discriptor/outwear/10_outer_Design.csv new file mode 100644 index 0000000..61b4cd1 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/outwear/10_outer_Design.csv @@ -0,0 +1,19 @@ +labelName,join_attr,taskName,taskId +Asymmetrical,attr_Design_O_1,Design,10 +Tiered,attr_Design_O_2,Design,10 +Tassel,attr_Design_O_3,Design,10 +Ruffles,attr_Design_O_4,Design,10 +Pleated,attr_Design_O_5,Design,10 +Wrap,attr_Design_O_6,Design,10 +Ripped,attr_Design_O_7,Design,10 +Cut out,attr_Design_O_8,Design,10 +Eyelet,attr_Design_O_9,Design,10 +Folded,attr_Design_O_10,Design,10 +Tied,attr_Design_O_11,Design,10 +Drapes,attr_Design_O_12,Design,10 +Ribbon,attr_Design_O_13,Design,10 +Button,attr_Design_O_14,Design,10 +Crossed-over zipper,attr_Design_O_15,Design,10 +Crossed-over button,attr_Design_O_16,Design,10 +Single breasted,attr_Design_O_17,Design,10 +Double breasted,attr_Design_O_18,Design,10 diff --git a/app/service/attribute_recognition/discriptor/outwear/11_outer_opening.csv b/app/service/attribute_recognition/discriptor/outwear/11_outer_opening.csv new file mode 100644 index 0000000..d8c5372 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/outwear/11_outer_opening.csv @@ -0,0 +1,3 @@ +labelName,join_attr,taskName,taskId +Full,attr_Opening_O_1,Opening_Type,11 +Half,attr_Opening_O_2,Opening_Type,11 diff --git a/app/service/attribute_recognition/discriptor/outwear/12_outer_OPType.csv b/app/service/attribute_recognition/discriptor/outwear/12_outer_OPType.csv new file mode 100644 index 0000000..3e4ee2c --- /dev/null +++ b/app/service/attribute_recognition/discriptor/outwear/12_outer_OPType.csv @@ -0,0 +1,5 @@ +labelName,join_attr,taskName,taskId +Button,attr_OPType_O_1,Opening_Type,12 +Zipper,attr_OPType_O_2,Opening_Type,12 +Thread,attr_OPType_O_3,Opening_Type,12 +Hook,attr_OPType_O_4,Opening_Type,12 diff --git a/app/service/attribute_recognition/discriptor/outwear/13_outer_Silhouette.csv b/app/service/attribute_recognition/discriptor/outwear/13_outer_Silhouette.csv new file mode 100644 index 0000000..7d2c201 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/outwear/13_outer_Silhouette.csv @@ -0,0 +1,7 @@ +labelName,join_attr,taskName,taskId +A Line,attr_Silhouette_O_1,Silhouette,13 +H Shape,attr_Silhouette_O_2,Silhouette,13 +Slim,attr_Silhouette_O_3,Silhouette,13 +Flyman,attr_Silhouette_O_4,Silhouette,13 +Peplum,attr_Silhouette_O_5,Silhouette,13 +Oversize,attr_Silhouette_O_6,Silhouette,13 diff --git a/app/service/attribute_recognition/discriptor/outwear/1_outer_length.csv b/app/service/attribute_recognition/discriptor/outwear/1_outer_length.csv new file mode 100644 index 0000000..3784c37 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/outwear/1_outer_length.csv @@ -0,0 +1,4 @@ +labelName,join_attr,taskName,taskId +Short,attr_Outer_length_1,Length,1 +Regular,attr_Outer_length_2,Length,1 +Long,attr_Outer_length_3,Length,1 \ No newline at end of file diff --git a/app/service/attribute_recognition/discriptor/outwear/2_outer_type.csv b/app/service/attribute_recognition/discriptor/outwear/2_outer_type.csv new file mode 100644 index 0000000..60b6ae5 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/outwear/2_outer_type.csv @@ -0,0 +1,18 @@ +labelName,join_attr,taskName,taskId +Coat,attr_Outer_type_1,Type,2 +Trench,attr_Outer_type_2,Type,2 +Baseball jacket,attr_Outer_type_3,Type,2 +Hoodie jacket,attr_Outer_type_4,Type,2 +Active jacket,attr_Outer_type_5,Type,2 +Jacket,attr_Outer_type_6,Type,2 +Blazer,attr_Outer_type_7,Type,2 +Cardigan,attr_Outer_type_8,Type,2 +Capes,attr_Outer_type_9,Type,2 +Fleeces Jacket,attr_Outer_type_10,Type,2 +Gilets/Puffer,attr_Outer_type_11,Type,2 +Aviator jacket,attr_Outer_type_12,Type,2 +Biker jacket,attr_Outer_type_13,Type,2 +Pea coat,attr_Outer_type_14,Type,2 +Shacket,attr_Outer_type_15,Type,2 +Denim jacket,attr_Outer_type_16,Type,2 +Raincoat,attr_Outer_type_17,Type,2 diff --git a/app/service/attribute_recognition/discriptor/outwear/3_outer_sleeve_length.csv b/app/service/attribute_recognition/discriptor/outwear/3_outer_sleeve_length.csv new file mode 100644 index 0000000..8e35b85 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/outwear/3_outer_sleeve_length.csv @@ -0,0 +1,6 @@ +labelName,join_attr,taskName,taskId +Sleeveless,attr_sleeve_length_1,Sleeve_Length,3 +Short,attr_sleeve_length_2,Sleeve_Length,3 +Middle,attr_sleeve_length_3,Sleeve_Length,3 +Seven,attr_sleeve_length_4,Sleeve_Length,3 +Long,attr_sleeve_length_5,Sleeve_Length,3 diff --git a/app/service/attribute_recognition/discriptor/outwear/4_outer_sleeve_shape.csv b/app/service/attribute_recognition/discriptor/outwear/4_outer_sleeve_shape.csv new file mode 100644 index 0000000..4e8f770 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/outwear/4_outer_sleeve_shape.csv @@ -0,0 +1,9 @@ +labelName,join_attr,taskName,taskId +Regular,attr_sleeve_shape_O_1,Sleeve_Shape,4 +Slim,attr_sleeve_shape_O_2,Sleeve_Shape,4 +Puff,attr_sleeve_shape_O_3,Sleeve_Shape,4 +Bell,attr_sleeve_shape_O_4,Sleeve_Shape,4 +Batwing,attr_sleeve_shape_O_5,Sleeve_Shape,4 +Shirt,attr_sleeve_shape_O_6,Sleeve_Shape,4 +Rib,attr_sleeve_shape_O_7,Sleeve_Shape,4 +Raglan,attr_sleeve_shape_O_8,Sleeve_Shape,4 diff --git a/app/service/attribute_recognition/discriptor/outwear/5_outer_sleeve_shoulder.csv b/app/service/attribute_recognition/discriptor/outwear/5_outer_sleeve_shoulder.csv new file mode 100644 index 0000000..3e421d0 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/outwear/5_outer_sleeve_shoulder.csv @@ -0,0 +1,6 @@ +labelName,join_attr,taskName,taskId +Regular,attr_sleeve_shoulder_O_1,Sleeve_Shoulder,5 +Cold,attr_sleeve_shoulder_O_2,Sleeve_Shoulder,5 +Tucked,attr_sleeve_shoulder_O_3,Sleeve_Shoulder,5 +Balmain,attr_sleeve_shoulder_O_4,Sleeve_Shoulder,5 +Drop Shoulder,attr_sleeve_shoulder_O_5,Sleeve_Shoulder,5 diff --git a/app/service/attribute_recognition/discriptor/outwear/6_outer_Collar.csv b/app/service/attribute_recognition/discriptor/outwear/6_outer_Collar.csv new file mode 100644 index 0000000..e261e15 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/outwear/6_outer_Collar.csv @@ -0,0 +1,10 @@ +labelName,join_attr,taskName,taskId +Peterpan,attr_Callar_O_1,Collar,6 +Shirt,attr_Callar_O_2,Collar,6 +Rib,attr_Callar_O_3,Collar,6 +Turtle,attr_Callar_O_4,Collar,6 +Lapel,attr_Callar_O_5,Collar,6 +Hoodie,attr_Callar_O_6,Collar,6 +Mandarin,attr_Callar_O_7,Collar,6 +Ruffle,attr_Callar_O_8,Collar,6 +Jewel,attr_Callar_O_9,Collar,6 diff --git a/app/service/attribute_recognition/discriptor/outwear/7_outer_Print.csv b/app/service/attribute_recognition/discriptor/outwear/7_outer_Print.csv new file mode 100644 index 0000000..cb5695d --- /dev/null +++ b/app/service/attribute_recognition/discriptor/outwear/7_outer_Print.csv @@ -0,0 +1,16 @@ +labelName,join_attr,taskName,taskId +Abstract,attr_Print_O_1,Print,7 +Allover,attr_Print_O_2,Print,7 +Animal,attr_Print_O_3,Print,7 +Camouflage,attr_Print_O_4,Print,7 +Checks,attr_Print_O_5,Print,7 +Color_block,attr_Print_O_6,Print,7 +Disty print,attr_Print_O_7,Print,7 +Dotted,attr_Print_O_8,Print,7 +Floral,attr_Print_O_9,Print,7 +Graphic print,attr_Print_O_10,Print,7 +Logo and slogan,attr_Print_O_11,Print,7 +Patchwork,attr_Print_O_12,Print,7 +Plain,attr_Print_O_13,Print,7 +Plain_dnim,attr_Print_O_14,Print,7 +Stripe,attr_Print_O_15,Print,7 diff --git a/app/service/attribute_recognition/discriptor/outwear/8_outer_Material.csv b/app/service/attribute_recognition/discriptor/outwear/8_outer_Material.csv new file mode 100644 index 0000000..2db5c94 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/outwear/8_outer_Material.csv @@ -0,0 +1,28 @@ +labelName,join_attr,taskName,taskId +Canvas,attr_Material_O_1,Material,8 +Chambray,attr_Material_O_2,Material,8 +Chenille,attr_Material_O_3,Material,8 +Chiffon,attr_Material_O_4,Material,8 +Corduroy,attr_Material_O_5,Material,8 +Crepe,attr_Material_O_6,Material,8 +Denim,attr_Material_O_7,Material,8 +Faux_fur,attr_Material_O_8,Material,8 +Faux_leather,attr_Material_O_9,Material,8 +Flannel,attr_Material_O_10,Material,8 +Fleece,attr_Material_O_11,Material,8 +Gingham,attr_Material_O_12,Material,8 +Jersey,attr_Material_O_13,Material,8 +Knit,attr_Material_O_14,Material,8 +Lace,attr_Material_O_15,Material,8 +Lawn,attr_Material_O_16,Material,8 +Neoprene,attr_Material_O_17,Material,8 +Organza,attr_Material_O_18,Material,8 +Plush,attr_Material_O_19,Material,8 +Satin,attr_Material_O_20,Material,8 +Serge,attr_Material_O_21,Material,8 +Taffeta,attr_Material_O_22,Material,8 +Tulle,attr_Material_O_23,Material,8 +Tweed,attr_Material_O_24,Material,8 +Twill,attr_Material_O_25,Material,8 +Velvet,attr_Material_O_26,Material,8 +Vinyl,attr_Material_O_27,Material,8 diff --git a/app/service/attribute_recognition/discriptor/outwear/9_outer_Softness.csv b/app/service/attribute_recognition/discriptor/outwear/9_outer_Softness.csv new file mode 100644 index 0000000..785de6c --- /dev/null +++ b/app/service/attribute_recognition/discriptor/outwear/9_outer_Softness.csv @@ -0,0 +1,4 @@ +labelName,join_attr,taskName,taskId +Soft,attr_Softness_O_1,Softness,9 +Medium,attr_Softness_O_2,Softness,9 +Hard,attr_Softness_O_3,Softness,9 diff --git a/app/service/attribute_recognition/discriptor/top/10_top_Design.csv b/app/service/attribute_recognition/discriptor/top/10_top_Design.csv new file mode 100644 index 0000000..0ee8255 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/top/10_top_Design.csv @@ -0,0 +1,15 @@ +labelName,join_attr,taskName,taskId +Asymmetrical,attr_Design_U_1,Design,10 +Tiered,attr_Design_U_2,Design,10 +Tassel,attr_Design_U_3,Design,10 +Ruffle,attr_Design_U_4,Design,10 +Pleated,attr_Design_U_5,Design,10 +Wrap,attr_Design_U_6,Design,10 +Ripped,attr_Design_U_7,Design,10 +Cut out,attr_Design_U_8,Design,10 +Eyelet,attr_Design_U_9,Design,10 +Folded,attr_Design_U_10,Design,10 +Tied,attr_Design_U_11,Design,10 +Drapes,attr_Design_U_12,Design,10 +Ribbon,attr_Design_U_13,Design,10 +Button,attr_Design_U_14,Design,10 diff --git a/app/service/attribute_recognition/discriptor/top/11_top_OPType.csv b/app/service/attribute_recognition/discriptor/top/11_top_OPType.csv new file mode 100644 index 0000000..870631b --- /dev/null +++ b/app/service/attribute_recognition/discriptor/top/11_top_OPType.csv @@ -0,0 +1,5 @@ +labelName,join_attr,taskName,taskId +Button,attr_OPType_U_1,Opening_Type,11 +Zipper,attr_OPType_U_2,Opening_Type,11 +Thread,attr_OPType_U_3,Opening_Type,11 +Hook,attr_OPType_U_4,Opening_Type,11 diff --git a/app/service/attribute_recognition/discriptor/top/12_top_Silhouette.csv b/app/service/attribute_recognition/discriptor/top/12_top_Silhouette.csv new file mode 100644 index 0000000..49c7db5 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/top/12_top_Silhouette.csv @@ -0,0 +1,7 @@ +labelName,join_attr,taskName,taskId +A Line,attr_Silhouette_U_1,Silhouette,12 +H Shape,attr_Silhouette_U_2,Silhouette,12 +Slim,attr_Silhouette_U_3,Silhouette,12 +Flyman,attr_Silhouette_U_4,Silhouette,12 +Peplum,attr_Silhouette_U_5,Silhouette,12 +Oversize,attr_Silhouette_U_6,Silhouette,12 diff --git a/app/service/attribute_recognition/discriptor/top/1_top_length.csv b/app/service/attribute_recognition/discriptor/top/1_top_length.csv new file mode 100644 index 0000000..49903cc --- /dev/null +++ b/app/service/attribute_recognition/discriptor/top/1_top_length.csv @@ -0,0 +1,4 @@ +labelName,join_attr,taskName,taskId +Short,attr_Top_length_1,Length,1 +Regular,attr_Top_length_2,Length,1 +Long,attr_Top_length_3,Length,1 diff --git a/app/service/attribute_recognition/discriptor/top/2_top_type.csv b/app/service/attribute_recognition/discriptor/top/2_top_type.csv new file mode 100644 index 0000000..01cc5e0 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/top/2_top_type.csv @@ -0,0 +1,15 @@ +labelName,join_attr,taskName,taskId +Bandeau,attr_toptype_1,Type,2 +Blouse,attr_toptype_2,Type,2 +Bodysuit,attr_toptype_3,Type,2 +Bralets,attr_toptype_4,Type,2 +Camisole,attr_toptype_5,Type,2 +Crop Top,attr_toptype_6,Type,2 +Hoodie,attr_toptype_7,Type,2 +Pullover,attr_toptype_8,Type,2 +Polo shirt,attr_toptype_9,Type,2 +Shirt,attr_toptype_10,Type,2 +strapeless,attr_toptype_11,Type,2 +Sweater,attr_toptype_12,Type,2 +Tank Top,attr_toptype_13,Type,2 +T-shirt,attr_toptype_14,Type,2 diff --git a/app/service/attribute_recognition/discriptor/top/3_top_Sleeve_length.csv b/app/service/attribute_recognition/discriptor/top/3_top_Sleeve_length.csv new file mode 100644 index 0000000..1f2a0f3 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/top/3_top_Sleeve_length.csv @@ -0,0 +1,6 @@ +labelName,join_attr,taskName,taskId +Sleeveless,attr_Sleeve_length_1,Sleeve_Length,3 +Short,attr_Sleeve_length_2,Sleeve_Length,3 +Middle,attr_Sleeve_length_3,Sleeve_Length,3 +Seven,attr_Sleeve_length_4,Sleeve_Length,3 +Long,attr_Sleeve_length_5,Sleeve_Length,3 diff --git a/app/service/attribute_recognition/discriptor/top/4_top_Sleeve_shape.csv b/app/service/attribute_recognition/discriptor/top/4_top_Sleeve_shape.csv new file mode 100644 index 0000000..d429c11 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/top/4_top_Sleeve_shape.csv @@ -0,0 +1,9 @@ +labelName,join_attr,taskName,taskId +Regular,attr_Sleeve_shape_1,Sleeve_Shape,4 +Slim,attr_Sleeve_shape_2,Sleeve_Shape,4 +Puff,attr_Sleeve_shape_3,Sleeve_Shape,4 +Bell,attr_Sleeve_shape_4,Sleeve_Shape,4 +Batwing,attr_Sleeve_shape_5,Sleeve_Shape,4 +Shirt,attr_Sleeve_shape_6,Sleeve_Shape,4 +Rib,attr_Sleeve_shape_7,Sleeve_Shape,4 +Raglan,attr_Sleeve_shape_8,Sleeve_Shape,4 diff --git a/app/service/attribute_recognition/discriptor/top/5_top_Sleeve_shoulder.csv b/app/service/attribute_recognition/discriptor/top/5_top_Sleeve_shoulder.csv new file mode 100644 index 0000000..c31e7ea --- /dev/null +++ b/app/service/attribute_recognition/discriptor/top/5_top_Sleeve_shoulder.csv @@ -0,0 +1,5 @@ +labelName,join_attr,taskName,taskId +Regular,attr_Sleeve_shoulder_1,Sleeve_Shoulder,5 +Cold,attr_Sleeve_shoulder_2,Sleeve_Shoulder,5 +Tucked,attr_Sleeve_shoulder_3,Sleeve_Shoulder,5 +Balmain,attr_Sleeve_shoulder_4,Sleeve_Shoulder,5 diff --git a/app/service/attribute_recognition/discriptor/top/6_top_Neckline.csv b/app/service/attribute_recognition/discriptor/top/6_top_Neckline.csv new file mode 100644 index 0000000..30c1420 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/top/6_top_Neckline.csv @@ -0,0 +1,7 @@ +labelName,join_attr,taskName,taskId +Round,attr_Neckline_1,Neckline,6 +V,attr_Neckline_2,Neckline,6 +Square,attr_Neckline_3,Neckline,6 +One-shoulder,attr_Neckline_4,Neckline,6 +Off-shoulder,attr_Neckline_5,Neckline,6 +Strapless,attr_Neckline_6,Neckline,6 diff --git a/app/service/attribute_recognition/discriptor/top/7_outer_Print.csv b/app/service/attribute_recognition/discriptor/top/7_outer_Print.csv new file mode 100644 index 0000000..cb5695d --- /dev/null +++ b/app/service/attribute_recognition/discriptor/top/7_outer_Print.csv @@ -0,0 +1,16 @@ +labelName,join_attr,taskName,taskId +Abstract,attr_Print_O_1,Print,7 +Allover,attr_Print_O_2,Print,7 +Animal,attr_Print_O_3,Print,7 +Camouflage,attr_Print_O_4,Print,7 +Checks,attr_Print_O_5,Print,7 +Color_block,attr_Print_O_6,Print,7 +Disty print,attr_Print_O_7,Print,7 +Dotted,attr_Print_O_8,Print,7 +Floral,attr_Print_O_9,Print,7 +Graphic print,attr_Print_O_10,Print,7 +Logo and slogan,attr_Print_O_11,Print,7 +Patchwork,attr_Print_O_12,Print,7 +Plain,attr_Print_O_13,Print,7 +Plain_dnim,attr_Print_O_14,Print,7 +Stripe,attr_Print_O_15,Print,7 diff --git a/app/service/attribute_recognition/discriptor/top/7_top_Collar.csv b/app/service/attribute_recognition/discriptor/top/7_top_Collar.csv new file mode 100644 index 0000000..a30c014 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/top/7_top_Collar.csv @@ -0,0 +1,11 @@ +labelName,join_attr,taskName,taskId +Peterpan,attr_Collar_1,Collar,7 +Shirt,attr_Collar_2,Collar,7 +Rib,attr_Collar_3,Collar,7 +Turtle,attr_Collar_4,Collar,7 +Lapel,attr_Collar_5,Collar,7 +Hoodie,attr_Collar_6,Collar,7 +Mandarin,attr_Collar_7,Collar,7 +Tie,attr_Collar_8,Collar,7 +Ruffle,attr_Collar_9,Collar,7 +Cowl,attr_Collar_10,Collar,7 diff --git a/app/service/attribute_recognition/discriptor/top/8_outer_Material.csv b/app/service/attribute_recognition/discriptor/top/8_outer_Material.csv new file mode 100644 index 0000000..2db5c94 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/top/8_outer_Material.csv @@ -0,0 +1,28 @@ +labelName,join_attr,taskName,taskId +Canvas,attr_Material_O_1,Material,8 +Chambray,attr_Material_O_2,Material,8 +Chenille,attr_Material_O_3,Material,8 +Chiffon,attr_Material_O_4,Material,8 +Corduroy,attr_Material_O_5,Material,8 +Crepe,attr_Material_O_6,Material,8 +Denim,attr_Material_O_7,Material,8 +Faux_fur,attr_Material_O_8,Material,8 +Faux_leather,attr_Material_O_9,Material,8 +Flannel,attr_Material_O_10,Material,8 +Fleece,attr_Material_O_11,Material,8 +Gingham,attr_Material_O_12,Material,8 +Jersey,attr_Material_O_13,Material,8 +Knit,attr_Material_O_14,Material,8 +Lace,attr_Material_O_15,Material,8 +Lawn,attr_Material_O_16,Material,8 +Neoprene,attr_Material_O_17,Material,8 +Organza,attr_Material_O_18,Material,8 +Plush,attr_Material_O_19,Material,8 +Satin,attr_Material_O_20,Material,8 +Serge,attr_Material_O_21,Material,8 +Taffeta,attr_Material_O_22,Material,8 +Tulle,attr_Material_O_23,Material,8 +Tweed,attr_Material_O_24,Material,8 +Twill,attr_Material_O_25,Material,8 +Velvet,attr_Material_O_26,Material,8 +Vinyl,attr_Material_O_27,Material,8 diff --git a/app/service/attribute_recognition/discriptor/top/9_top_Softness.csv b/app/service/attribute_recognition/discriptor/top/9_top_Softness.csv new file mode 100644 index 0000000..dc8b5f0 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/top/9_top_Softness.csv @@ -0,0 +1,4 @@ +labelName,join_attr,taskName,taskId +Soft,attr_Softness_U_1,Softness,9 +Medium,attr_Softness_U_2,Softness,9 +Hard,attr_Softness_U_3,Softness,9 diff --git a/app/service/attribute_recognition/discriptor/top/ori10_top_Softness.csv b/app/service/attribute_recognition/discriptor/top/ori10_top_Softness.csv new file mode 100644 index 0000000..6f24145 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/top/ori10_top_Softness.csv @@ -0,0 +1,4 @@ +labelName,join_attr,taskName,taskId +Soft,attr_Softness_U_1,Softness,10 +Medium,attr_Softness_U_2,Softness,10 +Hard,attr_Softness_U_3,Softness,10 diff --git a/app/service/attribute_recognition/discriptor/top/ori11_top_Design.csv b/app/service/attribute_recognition/discriptor/top/ori11_top_Design.csv new file mode 100644 index 0000000..deb9395 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/top/ori11_top_Design.csv @@ -0,0 +1,16 @@ +labelName,join_attr,taskName,taskId +Asymmetrical,attr_Design_U_1,Design,11 +Tiered,attr_Design_U_2,Design,11 +Tassel,attr_Design_U_3,Design,11 +Ruffle,attr_Design_U_4,Design,11 +Pleated,attr_Design_U_5,Design,11 +Wrap,attr_Design_U_6,Design,11 +Ripped,attr_Design_U_7,Design,11 +Cut out,attr_Design_U_8,Design,11 +Eyelet,attr_Design_U_9,Design,11 +Folded,attr_Design_U_10,Design,11 +Tied,attr_Design_U_11,Design,11 +Drapes,attr_Design_U_12,Design,11 +Ribbon,attr_Design_U_13,Design,11 +Button,attr_Design_U_14,Design,11 +Gathering,attr_Design_U_15,Design,11 diff --git a/app/service/attribute_recognition/discriptor/top/ori12_top_OPType.csv b/app/service/attribute_recognition/discriptor/top/ori12_top_OPType.csv new file mode 100644 index 0000000..98e65c6 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/top/ori12_top_OPType.csv @@ -0,0 +1,5 @@ +labelName,join_attr,taskName,taskId +Button,attr_OPType_U_1,Opening_Type,12 +Zipper,attr_OPType_U_2,Opening_Type,12 +Thread,attr_OPType_U_3,Opening_Type,12 +Hook,attr_OPType_U_4,Opening_Type,12 diff --git a/app/service/attribute_recognition/discriptor/top/ori13_top_Silhouette.csv b/app/service/attribute_recognition/discriptor/top/ori13_top_Silhouette.csv new file mode 100644 index 0000000..a746198 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/top/ori13_top_Silhouette.csv @@ -0,0 +1,7 @@ +labelName,join_attr,taskName,taskId +A Line,attr_Silhouette_U_1,Silhouette,13 +H Shape,attr_Silhouette_U_2,Silhouette,13 +Slim,attr_Silhouette_U_3,Silhouette,13 +Flyman,attr_Silhouette_U_4,Silhouette,13 +Peplum,attr_Silhouette_U_5,Silhouette,13 +Oversize,attr_Silhouette_U_6,Silhouette,13 diff --git a/app/service/attribute_recognition/discriptor/top/ori1_Top_length.csv b/app/service/attribute_recognition/discriptor/top/ori1_Top_length.csv new file mode 100644 index 0000000..49903cc --- /dev/null +++ b/app/service/attribute_recognition/discriptor/top/ori1_Top_length.csv @@ -0,0 +1,4 @@ +labelName,join_attr,taskName,taskId +Short,attr_Top_length_1,Length,1 +Regular,attr_Top_length_2,Length,1 +Long,attr_Top_length_3,Length,1 diff --git a/app/service/attribute_recognition/discriptor/top/ori2_Top_type.csv b/app/service/attribute_recognition/discriptor/top/ori2_Top_type.csv new file mode 100644 index 0000000..cf60dbb --- /dev/null +++ b/app/service/attribute_recognition/discriptor/top/ori2_Top_type.csv @@ -0,0 +1,15 @@ +labelName,join_attr,taskName,taskId +Blouse,attr_Top_type_1,Type,2 +Camisole,attr_Top_type_2,Type,2 +Shirt,attr_Top_type_3,Type,2 +T-shirt,attr_Top_type_4,Type,2 +Jumper-Pullover,attr_Top_type_5,Type,2 +Hoodie,attr_Top_type_6,Type,2 +Tank Top,attr_Top_type_7,Type,2 +Polo shirt,attr_Top_type_8,Type,2 +Crop Top,attr_Top_type_9,Type,2 +Bralets,attr_Top_type_10,Type,2 +Bodysuit,attr_Top_type_11,Type,2 +Bandeau,attr_Top_type_12,Type,2 +Sweater,attr_Top_type_13,Type,2 +Strapless,attr_Top_type_14,Type,2 diff --git a/app/service/attribute_recognition/discriptor/top/ori3_top_Sleeve_length.csv b/app/service/attribute_recognition/discriptor/top/ori3_top_Sleeve_length.csv new file mode 100644 index 0000000..3549164 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/top/ori3_top_Sleeve_length.csv @@ -0,0 +1,6 @@ +labelName,join_attr,taskName,taskId +Sleeveless,attr_Sleeve_length_U_1,Sleeve_Length,3 +Short,attr_Sleeve_length_U_2,Sleeve_Length,3 +Middle,attr_Sleeve_length_U_3,Sleeve_Length,3 +Seven,attr_Sleeve_length_U_4,Sleeve_Length,3 +Long,attr_Sleeve_length_U_5,Sleeve_Length,3 diff --git a/app/service/attribute_recognition/discriptor/top/ori4_top_Sleeve_shape.csv b/app/service/attribute_recognition/discriptor/top/ori4_top_Sleeve_shape.csv new file mode 100644 index 0000000..15517c5 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/top/ori4_top_Sleeve_shape.csv @@ -0,0 +1,9 @@ +labelName,join_attr,taskName,taskId +Regular,attr_Sleeve_shape_U_1,Sleeve_Shape,4 +Slim,attr_Sleeve_shape_U_2,Sleeve_Shape,4 +Puff,attr_Sleeve_shape_U_3,Sleeve_Shape,4 +Bell,attr_Sleeve_shape_U_4,Sleeve_Shape,4 +Batwing,attr_Sleeve_shape_U_5,Sleeve_Shape,4 +Shirt,attr_Sleeve_shape_U_6,Sleeve_Shape,4 +Rib,attr_Sleeve_shape_U_7,Sleeve_Shape,4 +Raglan,attr_Sleeve_shape_U_8,Sleeve_Shape,4 diff --git a/app/service/attribute_recognition/discriptor/top/ori5_top_Sleeve_shoulder.csv b/app/service/attribute_recognition/discriptor/top/ori5_top_Sleeve_shoulder.csv new file mode 100644 index 0000000..9a051a1 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/top/ori5_top_Sleeve_shoulder.csv @@ -0,0 +1,5 @@ +labelName,join_attr,taskName,taskId +Regular,attr_Sleeve_shoulder_U_1,Sleeve_Shoulder,5 +Cold,attr_Sleeve_shoulder_U_2,Sleeve_Shoulder,5 +Tucked,attr_Sleeve_shoulder_U_3,Sleeve_Shoulder,5 +Balmain,attr_Sleeve_shoulder_U_4,Sleeve_Shoulder,5 diff --git a/app/service/attribute_recognition/discriptor/top/ori6_top_Neckline.csv b/app/service/attribute_recognition/discriptor/top/ori6_top_Neckline.csv new file mode 100644 index 0000000..bb6dc62 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/top/ori6_top_Neckline.csv @@ -0,0 +1,16 @@ +labelName,join_attr,taskName,taskId +Round,attr_Neckline_U_1,Neckline,6 +V,attr_Neckline_U_2,Neckline,6 +Square,attr_Neckline_U_3,Neckline,6 +One-shoulder,attr_Neckline_U_4,Neckline,6 +Off-shoulder,attr_Neckline_U_5,Neckline,6 +Strapless,attr_Neckline_U_6,Neckline,6 +boat,attr_Neckline_U_7,Neckline,6 +choker,attr_Neckline_U_8,Neckline,6 +cowl,attr_Neckline_U_9,Neckline,6 +halter,attr_Neckline_U_10,Neckline,6 +keyhole,attr_Neckline_U_11,Neckline,6 +spaghetti,attr_Neckline_U_12,Neckline,6 +split,attr_Neckline_U_13,Neckline,6 +sweetheart,attr_Neckline_U_14,Neckline,6 +U,attr_Neckline_U_15,Neckline,6 diff --git a/app/service/attribute_recognition/discriptor/top/ori7_top_Collar.csv b/app/service/attribute_recognition/discriptor/top/ori7_top_Collar.csv new file mode 100644 index 0000000..1c9f028 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/top/ori7_top_Collar.csv @@ -0,0 +1,11 @@ +labelName,join_attr,taskName,taskId +Peterpan-Bertha,attr_Collar_U_1,Collar,7 +Shirt,attr_Collar_U_2,Collar,7 +Rib,attr_Collar_U_3,Collar,7 +Turtle,attr_Collar_U_4,Collar,7 +Lapel,attr_Collar_U_5,Collar,7 +Hoodie,attr_Collar_U_6,Collar,7 +Mandarin,attr_Collar_U_7,Collar,7 +Tie,attr_Collar_U_8,Collar,7 +Ruffle,attr_Collar_U_9,Collar,7 +Cowl,attr_Collar_U_10,Collar,7 diff --git a/app/service/attribute_recognition/discriptor/top/ori8_top_Print.csv b/app/service/attribute_recognition/discriptor/top/ori8_top_Print.csv new file mode 100644 index 0000000..9eeeb2c --- /dev/null +++ b/app/service/attribute_recognition/discriptor/top/ori8_top_Print.csv @@ -0,0 +1,16 @@ +labelName,join_attr,taskName,taskId +abstract,attr_Print_U_1,Print,8 +allover,attr_Print_U_2,Print,8 +animal printed,attr_Print_U_3,Print,8 +Camouflage,attr_Print_U_4,Print,8 +checks,attr_Print_U_5,Print,8 +color_block,attr_Print_U_6,Print,8 +disty print,attr_Print_U_7,Print,8 +dotted,attr_Print_U_8,Print,8 +floral,attr_Print_U_9,Print,8 +graphic print,attr_Print_U_10,Print,8 +logo and slogan print,attr_Print_U_11,Print,8 +patchwork,attr_Print_U_12,Print,8 +plain,attr_Print_U_13,Print,8 +plain_dnim,attr_Print_U_14,Print,8 +stripe,attr_Print_U_15,Print,8 diff --git a/app/service/attribute_recognition/discriptor/top/ori9_top_Material.csv b/app/service/attribute_recognition/discriptor/top/ori9_top_Material.csv new file mode 100644 index 0000000..795c3c9 --- /dev/null +++ b/app/service/attribute_recognition/discriptor/top/ori9_top_Material.csv @@ -0,0 +1,28 @@ +labelName,join_attr,taskName,taskId +canvas,attr_Material_U_1,Material,9 +chambray,attr_Material_U_2,Material,9 +chenille,attr_Material_U_3,Material,9 +chiffon,attr_Material_U_4,Material,9 +corduroy,attr_Material_U_5,Material,9 +crepe,attr_Material_U_6,Material,9 +denim,attr_Material_U_7,Material,9 +faux_fur,attr_Material_U_8,Material,9 +faux_leather,attr_Material_U_9,Material,9 +flannel,attr_Material_U_10,Material,9 +fleece,attr_Material_U_11,Material,9 +gingham,attr_Material_U_12,Material,9 +jersey,attr_Material_U_13,Material,9 +knit,attr_Material_U_14,Material,9 +lace,attr_Material_U_15,Material,9 +lawn,attr_Material_U_16,Material,9 +neoprene,attr_Material_U_17,Material,9 +organza,attr_Material_U_18,Material,9 +plush,attr_Material_U_19,Material,9 +satin,attr_Material_U_20,Material,9 +serge,attr_Material_U_21,Material,9 +taffeta,attr_Material_U_22,Material,9 +tulle,attr_Material_U_23,Material,9 +tweed,attr_Material_U_24,Material,9 +twill,attr_Material_U_25,Material,9 +velvet,attr_Material_U_26,Material,9 +vinyl,attr_Material_U_27,Material,9 diff --git a/app/service/attribute_recognition/service.py b/app/service/attribute_recognition/service.py new file mode 100644 index 0000000..5ca5927 --- /dev/null +++ b/app/service/attribute_recognition/service.py @@ -0,0 +1,215 @@ +import datetime +from pprint import pprint + +import mmcv +import cv2 +import numpy as np +import requests +import torch +import tritonclient.http as httpclient +from PIL import Image +from skimage import transform +from torchvision import transforms +import pandas as pd +from minio import Minio + +from app.core.config import MINIO_IP, MINIO_PORT, MINIO_SECURE, MINIO_ACCESS, MINIO_SECRET, ATT_TRITON_IP, ATT_TRITON_PORT + + +def Merge(dict1, dict2): + res = {**dict1, **dict2} + return res + + +class Rescale(object): + """Rescale the image in a sample to a given size. + + Args: + output_size (tuple or int): Desired output size. If tuple, output is + matched to output_size. If int, smaller of image edges is matched + to output_size keeping aspect ratio the same. + """ + + def __init__(self, output_size): + assert isinstance(output_size, (int, tuple)) + self.output_size = output_size + + def __call__(self, image, landmarks): + h, w = image.shape[:2] + if isinstance(self.output_size, int): + if h > w: + new_h, new_w = self.output_size * h / w, self.output_size + else: + new_h, new_w = self.output_size, self.output_size * w / h + else: + new_h, new_w = self.output_size + + new_h, new_w = int(new_h), int(new_w) + img = transform.resize(image, (new_h, new_w), mode='constant') + # h and w are swapped for landmarks because for images, + # x and y axes are axis 1 and 0 respectively + landmarks = landmarks * [new_w / w, new_h / h] + return img, landmarks + + +class AttributeRecognition: + def __init__(self): + self.httpclient = httpclient.InferenceServerClient(url=f"{ATT_TRITON_IP}:{ATT_TRITON_PORT}") + self.minio_client = Minio( + f"{MINIO_IP}:{MINIO_PORT}", + access_key=MINIO_ACCESS, + secret_key=MINIO_SECRET, + secure=MINIO_SECURE) + + def get_image(self, url): + # Get data of an object. + # Read data from response. + response = self.minio_client.get_object(url.split("/", 1)[0], url.split("/", 1)[1]) + img = np.frombuffer(response.data, np.uint8) # 转成8位无符号整型 + img = cv2.imdecode(img, cv2.IMREAD_COLOR) # 解码 + img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) + return img + + def preprocess(self, img_url): + img = self.get_image(img_url) + img = mmcv.imread(img) + ori_shape = img.shape[:2] + img_scale = (224, 224) + scale_factor = [] + img, x, y = mmcv.imresize(img, img_scale, return_scale=True) + scale_factor.append(x) + scale_factor.append(y) + img = mmcv.imnormalize(img, mean=np.array([123.675, 116.28, 103.53]), std=np.array([58.395, 57.12, 57.375]), to_rgb=True) + preprocessed_img = np.expand_dims(img.transpose(2, 0, 1), axis=0) + return preprocessed_img + + def attribute(self, args, request_data): + + final_dict = {} + + for l in range(len(request_data.upload_img_path)): + img_path = request_data.upload_img_path[l] + sample = self.preprocess(img_path) + category_model_path = args.category_model + category_description = args.category_discription + category_list = self.get_attribute(category_model_path, category_description, sample)['category'] + + if len(category_list) >= 1: + category = category_list[0] + print(category) + + if category == 'top': + attr_dict = {'Item': category} + for i in range(len(args.top_discription_list)): + # print('top: ', i) + attr_description = args.top_discription_list[i] + attr_model_path = args.top_model_list[i] + present_dict = self.get_attribute(attr_model_path, attr_description, sample) + attr_dict = Merge(attr_dict, present_dict) + + elif category == 'pants': + attr_dict = {} + category = 'bottom' + attr_dict['Item'] = category + attr_dict['BTM_Type'] = ['Pants'] + for i in range(len(args.bottom_discription_list)): + attr_description = args.bottom_discription_list[i] + attr_model_path = args.bottom_model_list[i] + present_dict = self.get_attribute(attr_model_path, attr_description, sample) + attr_dict = Merge(attr_dict, present_dict) + + elif category == 'skirt': + attr_dict = {'BTM_Type': ['Skirt']} + category = 'bottom' + attr_dict['Item'] = category + for i in range(len(args.bottom_discription_list)): + attr_description = args.bottom_discription_list[i] + attr_model_path = args.bottom_model_list[i] + present_dict = self.get_attribute(attr_model_path, attr_description, sample) + attr_dict = Merge(attr_dict, present_dict) + + elif category == 'dress': + attr_dict = {'Item': category} + for i in range(len(args.dress_discription_list)): + attr_description = args.dress_discription_list[i] + attr_model_path = args.dress_model_list[i] + present_dict = self.get_attribute(attr_model_path, attr_description, sample) + attr_dict = Merge(attr_dict, present_dict) + + elif category == 'outwear': + attr_dict = {'Item': 'outer'} + + for i in range(len(args.outwear_discription_list)): + attr_description = args.outwear_discription_list[i] + attr_model_path = args.outwear_model_list[i] + present_dict = self.get_attribute(attr_model_path, attr_description, sample) + attr_dict = Merge(attr_dict, present_dict) + + elif category == 'jumpsuit': + attr_dict = {'Item': 'jumpsuit'} + for i in range(len(args.jumpsuit_discription_list)): + attr_description = args.jumpsuit_discription_list[i] + attr_model_path = args.jumpsuit_model_list[i] + present_dict = self.get_attribute(attr_model_path, attr_description, sample) + attr_dict = Merge(attr_dict, present_dict) + else: + attr_dict = {} + + print('attr_dict: ', attr_dict) + final_dict[request_data.upload_img_id[l]] = attr_dict + return final_dict + + def get_attribute(self, model_name, description, image): + attr_type = pd.read_csv(description) + inputs = [ + httpclient.InferInput("input__0", image.shape, datatype="FP32") + ] + inputs[0].set_data_from_numpy(image, binary_data=True) + results = self.httpclient.infer(model_name=model_name, inputs=inputs) + inference_output = torch.from_numpy(results.as_numpy(f"output__0")) + scores = inference_output.detach().numpy() + colattr = list(attr_type['labelName']) + task = attr_type['taskName'][0] + if task == 'category': + print(scores, type(scores)) + maxsc = np.max(scores) + if maxsc > 0: + indexs = np.argwhere(scores == maxsc)[:, 1] + else: + attr = {'category': []} + return attr + elif task[:-2] == 'Print' or task[:-2] == 'Material': + # maxsc = np.max(scores) + scores[scores > 0] = 1 + scores[scores <= 0] = 0 + indexs = np.argwhere(scores == 1)[:, 1] + # if maxsc> 0: + # indexs = np.argwhere(scores == maxsc)[:,1] + + else: + maxsc = np.max(scores) + print(maxsc) + if maxsc > 0: + indexs = np.argwhere(scores == maxsc)[:, 1] + else: + indexs = [] + # scores[scores > 0] = 1 + # scores[scores <= 0] = 0 + # indexs = np.argwhere(scores == 1)[:,1] + + attr = {} + attr[task] = [] + for i in range(len(indexs)): + # print('i and indexs: ', i, indexs, indexs[i], type(indexs[i]), colattr[indexs[i]]) + atr = colattr[indexs[i]] + # print('corresponeding atr: ', atr) + attr[task].append(atr) + return attr + + +if __name__ == '__main__': + from app.service.attribute_recognition import const_debug + + request_data = {'upload_img_path': ['./test_top1.jpg'], 'upload_img_id': ["2"]} + service = AttributeRecognition() + pprint(service.attribute(const_debug, request_data)) diff --git a/app/service/outfit_matcher/__init__.py b/app/service/outfit_matcher/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/app/service/outfit_matcher/color/MKTS27000.npy b/app/service/outfit_matcher/color/MKTS27000.npy new file mode 100644 index 0000000000000000000000000000000000000000..61b0cbc9c4e8b110a2754799fa22f8e12b316d95 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCO0GaGTi)hj#5hp8jKs{N?xd3{Ws@CJ4N=pB!gi|==QB~7|2LK0wG$sH5 literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MKTS27002.npy b/app/service/outfit_matcher/color/MKTS27002.npy new file mode 100644 index 0000000000000000000000000000000000000000..72de4686790d239b6f5bc0836ebaa82da1d46b06 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCO0GaGTi)hj#5hp8jKs{N?xd3{Ws@CJ4N==To_8m?r-g cD*gd34^s!BKiK!*FDpF9vK@y!s%l#B0P)f?nE(I) literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MKTS27003.npy b/app/service/outfit_matcher/color/MKTS27003.npy new file mode 100644 index 0000000000000000000000000000000000000000..eafde8eb34574ac5c79056ca2b65dfff204e0d85 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}ShAN{!KJWLxiEvtTbIz&#lTb{DJ{eR literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MKTS27004.npy b/app/service/outfit_matcher/color/MKTS27004.npy new file mode 100644 index 0000000000000000000000000000000000000000..eafde8eb34574ac5c79056ca2b65dfff204e0d85 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}ShAN{!KJWLxiEvtTbIz&#lTb{DJ{eR literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MKTS27008.npy b/app/service/outfit_matcher/color/MKTS27008.npy new file mode 100644 index 0000000000000000000000000000000000000000..7d5d352da3c2396fde732cef02e73d56466c20c3 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~g_5ar$wtj1WL5fZBC;P4a3}EoV-WUuX+r#(}dhn6} DX*Vdn literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MKTS27009.npy b/app/service/outfit_matcher/color/MKTS27009.npy new file mode 100644 index 0000000000000000000000000000000000000000..0ed3004a77ed8fa6571ad40023db3821c151c9a0 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~g_5ar$wtj1WL5fZBC;P4a3}EoVe%4G7cxeygL+HUv F0ssuhD<}W} literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MKTS27010.npy b/app/service/outfit_matcher/color/MKTS27010.npy new file mode 100644 index 0000000000000000000000000000000000000000..1c4bdd9dd4b482368bb27993405d29653fccf684 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~%m-^=Kk6pI^AL1g+m;cV50Sac#1c8_KoEyy!8J~xV be}K!w)IsPE_66^!+&Rp%7>7KnYFh9B)DJSP literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MKTS27011.npy b/app/service/outfit_matcher/color/MKTS27011.npy new file mode 100644 index 0000000000000000000000000000000000000000..d42b87f9fc4f544c5b88e12d1100c8e6ae14a5d8 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}n+>fTUWInY&xX*aS_2bX&C#iS>(INX;GeO{`Jp&kg KfYK1&U?c$uvn}iZ literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MKTS27012.npy b/app/service/outfit_matcher/color/MKTS27012.npy new file mode 100644 index 0000000000000000000000000000000000000000..61ee0a0531e8acc08966f056a2dc2abad9cc85ce GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}n+>fTUWInY&xX*aS_2bX&C#iS>(INX;GeO{`{o;ed i(@JgL*rThvy)74n?2WfTUWInY&xX*aS_2bX&C#iS>(INX;GeO{`eS32K iiQ_xo+M}zxy)74n?2WAOHX}okryV literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MKTS27014.npy b/app/service/outfit_matcher/color/MKTS27014.npy new file mode 100644 index 0000000000000000000000000000000000000000..574cb5f13f40ffe28312b088616d95bf59941718 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCO0GaGTi)hj#5hp8jKs{N?xdlT<2 u%hRmi*ay7SH-CTZvi<)M7h%5qcTjbg?2WX)T#g?GNrVUUB{SbEvvQ_6%U~!G2lT;@$6==0o`qQF@X9c~U^n literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MKTS27016.npy b/app/service/outfit_matcher/color/MKTS27016.npy new file mode 100644 index 0000000000000000000000000000000000000000..e8bec1b8b367e9ec1bb3da3dd432f35863eab354 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~%m-^=Kk6pI^AL1g+m;cUwl8Pq~U9z7w69it`AO99u vqki_C{SEF%(^@j0+8^9!yyE)t=TLQr>>0q|gMI(x2UZ=ri=ljoC_PC4$f`jz literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MKTS27017.npy b/app/service/outfit_matcher/color/MKTS27017.npy new file mode 100644 index 0000000000000000000000000000000000000000..3dc689b5559518eff7f41743910a592b0d4d736b GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCO0{U#8D4fBbTPd{ilm^7%*hx3}ejko~NgAn?+j0SrDs JX$WsHk^nUYFO2{I literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MKTS27018.npy b/app/service/outfit_matcher/color/MKTS27018.npy new file mode 100644 index 0000000000000000000000000000000000000000..5357929280116c72fc3a6935b32d2ec01c123bf9 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCO0GaGTi)hj#5hp8jKs{N?xd3{Ws@CJ4N=zo(hGUf=CC cRQv;69;OaLf3RTE{*^I literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MKTS27027.npy b/app/service/outfit_matcher/color/MKTS27027.npy new file mode 100644 index 0000000000000000000000000000000000000000..94cd08f2c8186076a0935301e6aadf8cef99c6c2 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCO0L_5ar$wtj1WL5fZBC;Kh?+uL$M$bQyL5O`_N00tkR JG=w)8NdR>TE{*^I literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MKTS27028.npy b/app/service/outfit_matcher/color/MKTS27028.npy new file mode 100644 index 0000000000000000000000000000000000000000..94cd08f2c8186076a0935301e6aadf8cef99c6c2 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCO0L_5ar$wtj1WL5fZBC;Kh?+uL$M$bQyL5O`_N00tkR JG=w)8NdR>TE{*^I literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MKTS27029.npy b/app/service/outfit_matcher/color/MKTS27029.npy new file mode 100644 index 0000000000000000000000000000000000000000..cfb2a7c54859693bd133794b5692201df8129539 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~%m-^=Kk6pI^AL1g+m;cUwl8Pq~9kQP_69it`vmCGb zfAIDT`=oH2*$Ibs?LVIWV~YIc_x889LW;%G-bL L)PfTUWInY&xX*aS_2bX&Z*R*5A^TY~LExpmj>lA^ zNxaYOv8#IxRd>_=+;q!M-Io3KQ|te)J8b>d{(=;n;!pNlQ1f8wUfTcPyTw&-&R+ZF jU#8D4fBbTPd{ilm^7%(-_MWuAkdZz|zj%{91Cam#wR?5< literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MKTS27031.npy b/app/service/outfit_matcher/color/MKTS27031.npy new file mode 100644 index 0000000000000000000000000000000000000000..9601ced60324cf499d8526f08af9ffe0a859916b GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}n+>fTUWInY&xX*aS_2bX&Z*R*5A^TY~LExqRUX4WM zXa64APp$vI?y&V+`wLQRia*(JLDjv6t9v=O?8B3{r|q$u2UB;`eqQ_$sW#8O_RGIa hpI!d=<^K4nQWoX&kI?KrX}?0w^<~}TP4)~#0st=%c^3cx literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MKTS27034.npy b/app/service/outfit_matcher/color/MKTS27034.npy new file mode 100644 index 0000000000000000000000000000000000000000..0a055e3899a6268adf51cd3b6197a8a396ff3f27 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~0|3TpX{?$GaFRHe^wx6Wp2}FnNXUznGm-f!JTN>X> fKD0+ycY9kd2-zEh!DIU>*6Du~&fK+U7$5)uIYmn# literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MKTS27035.npy b/app/service/outfit_matcher/color/MKTS27035.npy new file mode 100644 index 0000000000000000000000000000000000000000..6e2466a5aae19d7e85645b4198683bf1554623d3 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~0|3TpX{?$GaFRHe^wx6Wp2}FfTUWInY&xX*aS_2bX&Z*R*5A^TY~LExo*WOe(` z{+cKD*wwv;s=I0LS~Wj;y7*!HsrCQY9kzaJe?f{(@hAH&sCh7TFYR-gyaM%=585yP jGJSUW{{One)^F`ENU(XaZh>go+R K%t1Ak6dnN7F-i9T literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MKTS27058.npy b/app/service/outfit_matcher/color/MKTS27058.npy new file mode 100644 index 0000000000000000000000000000000000000000..6409c1e1fa1fe0e829a880b118fba3cf900cae76 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~%m-^=Kk6pI^AL1g+m;cV50Sac#1c8@O{s*`?On$J@ E0F?SE9RL6T literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MKTS27059.npy b/app/service/outfit_matcher/color/MKTS27059.npy new file mode 100644 index 0000000000000000000000000000000000000000..1c13ed10d3cd09543c3f684be89500e68e591fee GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(q0z|?_7+_7F2+Ic>;qovo4-GH+5Ufsi!fjQ bJGlB;GeO{`eM1cYzSDPB!Nt){qBS1?90oAl literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MKTS27061.npy b/app/service/outfit_matcher/color/MKTS27061.npy new file mode 100644 index 0000000000000000000000000000000000000000..c1d6ce6f1fae7a0768396357af0e0e8bd003d6e0 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCO0GaGTi)hj#5hp8jKs{N?xd3{Ws@CJ4N=PhaVJyQ=$< zeFH<4(I21p`@cpwt+_epl>HSppEgX;ePHwR`Og#KV}JGV#G lLE;G9yf+Z@_TS!?3qtk~dr#W)u<|!t3)zmt98^<5JODoMS;GJT literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MKTS27062.npy b/app/service/outfit_matcher/color/MKTS27062.npy new file mode 100644 index 0000000000000000000000000000000000000000..f87acea39a75f462f0c4fe5d91f24e4387c4ea7d GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~0|3TpX{?$GaFRHe^wx6Wp2}FfTUWInY&xX*aS_2bX&C#iS>(INX;GeO{`{l71( iK2C9eVUMov_O@IQvNr~U$M)L~A|(F-bC? literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MKTS27068.npy b/app/service/outfit_matcher/color/MKTS27068.npy new file mode 100644 index 0000000000000000000000000000000000000000..24eb5688eb07aa45f85711f183d2fdcf866b99ee GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}n+>fTUWInY&xX*aS_2bX&Z*R*5A^TY~LExpmi9yPb s9mihV2fWlbe}C+<{r?abVZQu#_LEdRf#?uioxXj(oXpb$_6!3A0Kr5>uK)l5 literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MKTS27073.npy b/app/service/outfit_matcher/color/MKTS27073.npy new file mode 100644 index 0000000000000000000000000000000000000000..2400d76a1a6463158cac349fc181293775608f55 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(p)tv;wUs%p7oONRFjN`+@p-@hYlPF9n{!Ut ePg3y&qDS_|VDQ*JoP}4tH2xY+b1+S&t_T3>I5F7( literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MLSS27101.npy b/app/service/outfit_matcher/color/MLSS27101.npy new file mode 100644 index 0000000000000000000000000000000000000000..24a3d23d0f286b5cf7665128eb64aea19f9c1b5f GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}n+>fTUWInY&xX*aS_2bX&Z*R*5A$wymcx=xA1|Og_ Igf|#T0N`^im;e9( literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MLSS27102.npy b/app/service/outfit_matcher/color/MLSS27102.npy new file mode 100644 index 0000000000000000000000000000000000000000..fc9240aaa00489a2f10ee5f07e4772a8e78cc592 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}hU#8D4fBbTPY*Z-*2Ha< i%U;@}tDB_a2}FnNXUznGm-hFk>`;|VJ891_KmY(ZZ$`=h literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MLSS27103.npy b/app/service/outfit_matcher/color/MLSS27103.npy new file mode 100644 index 0000000000000000000000000000000000000000..d41f6dfd2fdc1e6214cf00b0b636af5c40b99417 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~%m-^=Kk6pI^AL1g+m;cUwl8Pq~9kQP_69it`A9?k} t<8ROl`v!(8qdz|H_rHm7T61&Gsr?XjkD%&K+J6Yixx=;PoIS$;0RSAJMWg@# literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MLSS27104.npy b/app/service/outfit_matcher/color/MLSS27104.npy new file mode 100644 index 0000000000000000000000000000000000000000..0b28d7adce8ea3d228dd6289be265d7b00241872 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~%m-^=Kk6pI^AL1g+m;cUwl8Pq~9kQP_69it``>glq zkiY%PzJa02=#S6){cj?i*4&(PYClBXBdEHQ_LDb$deok>!=3>QK0s**4?%vg=elzI PR`sC`IOGv3No4^50Yppg literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MLSS27107.npy b/app/service/outfit_matcher/color/MLSS27107.npy new file mode 100644 index 0000000000000000000000000000000000000000..32007261ee6d417eba30707712433154a89496c4 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}ShAN{!KJWLxiEvtTbIz}ejko~NgAaK*30SrDs JX$WsHk^o3ZFS`H$ literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MLSS27109.npy b/app/service/outfit_matcher/color/MLSS27109.npy new file mode 100644 index 0000000000000000000000000000000000000000..9a57b95cb7335cb9d58f08b3bd5d89d35fcf6cd6 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}ShAN{!KJWLxiEvtTbIz&#lT}008??NW}mE literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MLSS27110.npy b/app/service/outfit_matcher/color/MLSS27110.npy new file mode 100644 index 0000000000000000000000000000000000000000..32007261ee6d417eba30707712433154a89496c4 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}ShAN{!KJWLxiEvtTbIz}ejko~NgAaK*30SrDs JX$WsHk^o3ZFS`H$ literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MLSS27111.npy b/app/service/outfit_matcher/color/MLSS27111.npy new file mode 100644 index 0000000000000000000000000000000000000000..eafde8eb34574ac5c79056ca2b65dfff204e0d85 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}ShAN{!KJWLxiEvtTbIz&#lTb{DJ{eR literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MLSS27112.npy b/app/service/outfit_matcher/color/MLSS27112.npy new file mode 100644 index 0000000000000000000000000000000000000000..73d04929610c571b45251d389d8680e362729d65 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}ShAN{!KJWLxiEvtTbIz&#lTX&Fq9jyY?SX|1m}W@_T!9^Ag*%j$Llv2^WXS HQ%VB>G^12n literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MLSS27119.npy b/app/service/outfit_matcher/color/MLSS27119.npy new file mode 100644 index 0000000000000000000000000000000000000000..89dd4a7415d0be5c220b7b4bf148c989b3970fa3 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}ShAN{!KJWLxiEvtTbIz&#+jDPk%f0=~e%4G7xM|M- M1|Og_gf|#T08fA~#{d8T literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MLSS27122.npy b/app/service/outfit_matcher/color/MLSS27122.npy new file mode 100644 index 0000000000000000000000000000000000000000..93e5010e921f18cc1cf0e26c115ba96392c5eefd GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= mXCxM+0{I%IItr$mItsN4WCJb+F!*2(p>dIffTUWInY&xX*aS_2bX&C#iS>(Ixv?GeO{`eX(gc z5IweUV5lfTUWInY&xX*aS_2bX&C#iS>(Ixv?GeO{`eVxGk zYu8u5uy0_fGWz55e*c>Yr!_a{oZ1gj_Xw))r2WqPoM{@_2kjZa-~*I~@IWNYyeTf_ s8lCSp*iWnfzwWU0Tl))AY>GeGZ|#SvgsC%4xO;7O;cN_ZVCv9m0C6&5lmGw# literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MLSS27132.npy b/app/service/outfit_matcher/color/MLSS27132.npy new file mode 100644 index 0000000000000000000000000000000000000000..4eb2820f98247aff4142e77c9b62a48f92c0ab08 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}n+>fTUWInY&xX*aS_2bX&C#iS>(INX;GeO{`y-Dbc z==nSk?5EcMUw7F0t^EZlHpQRpx9o3k%LO5OV=#DZuX2Go(sAw``=oH2*$Ibs?LVIW XV~YIc_ZaGyYsXan_g-bsKxF^`6!ceQ literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MLSS27133.npy b/app/service/outfit_matcher/color/MLSS27133.npy new file mode 100644 index 0000000000000000000000000000000000000000..be07818e03b70d0dbbcdc8ce028de0e4b4bcd9a7 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}n+>fTUWInY&xX*aS_2bX&C#iS>(INX;GeO{`{rjn% z3t6t;vY%T2f8Am0xAqsL*c5-V-?G2GEf<9Bjltltea=S4XNg@G?UTZ7W+xolwf}hf lk16t(-(#p#YZHpeb~$B_-QGuVdtI-s)$ISc)1HAy008i6ZSMd8 literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MLSS27136.npy b/app/service/outfit_matcher/color/MLSS27136.npy new file mode 100644 index 0000000000000000000000000000000000000000..00e5113d9bdd8d575c6d69a86395b46aad1372ac GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(p)tv|_xbmyxjeOB@n!n#^2aat$3~U1D4&0{ e|Ms?A5VAK0gU9yE93C_pm0!ha4yMV}6#)PZa5c>U literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MLSS27137.npy b/app/service/outfit_matcher/color/MLSS27137.npy new file mode 100644 index 0000000000000000000000000000000000000000..d58c122e35618e0e7e22b4d44da16b61c745acd9 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJc11`v3#f2B{vi>hs}_k+1WV%AI$cxlghVnI&ZtEcwp z>L#gp0?{FRh`O8hPh%KX&E-6457GYtO2bTpnRnCP+w@?abnIrF>R|ev7UoZQUA7Fv J9E6FeEC3n8Ox*wg literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MLSS27140.npy b/app/service/outfit_matcher/color/MLSS27140.npy new file mode 100644 index 0000000000000000000000000000000000000000..4b4e22f65c15634f44d609de7f82ae1a04ef9f4b GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~%m-^=Kk6pI^AL1g+m;cUwl8Pq~U9z7w69it`m&IN$ tjSYWqe}ntcw3f`L_6PSFueg5vIaJ*tdj>H0VDB0z0z^}xe26GLNdSlgKHdNT literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MLSS27141.npy b/app/service/outfit_matcher/color/MLSS27141.npy new file mode 100644 index 0000000000000000000000000000000000000000..8825b342b823348799e6a1ea52f5450828d58b1c GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCO0GaGTi)hj#5hp8jKs{N?xd3{Ws@CJ4N=S5XNz5o~=1 d75@O2hpB_mAMCepkDPw@>m?lWsH$nf0{}w#GhzS$ literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MLSS27142.npy b/app/service/outfit_matcher/color/MLSS27142.npy new file mode 100644 index 0000000000000000000000000000000000000000..569bacd0804ebe76a8faa9ead687ee9c6e039820 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~%m-^=Kk6pI^AL1g+m;cV50Sac#1c8_KpZ0lpF|K-K z-@s61^vCD@{;v^EYi`atg`v(9sLJT*F{trp{v4%r=(#zfUH@F{7Ysq|S qe{i4iitERp+uz=n3qtlVdy~JgS_lU3B48c^!*iY`zcw$PZ4Urv`CiKa literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MLSS27145.npy b/app/service/outfit_matcher/color/MLSS27145.npy new file mode 100644 index 0000000000000000000000000000000000000000..d9466d53a4d7698e16dcac6bde2971f1ba566e1b GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}n+>fTUWInY&xX*aS_2bX&8K7X+Ob~c!-*35g4LjR& z`)T$6*B!QgYkxtCP4OrDt^Mfg5`}vg3xu48>i+;Y2c`}}f3QEwQxm*UeIpKeRMn*L E0CCnsF8}}l literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MLSS27146.npy b/app/service/outfit_matcher/color/MLSS27146.npy new file mode 100644 index 0000000000000000000000000000000000000000..e969945f6e8dd794ddbf580ca6b569e3fd666b6a GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCO0GaGTi)hj#5hp8jKs{N?xd3{Ws@CJ4N=XW(06d2q=q z`y1SkrnO`~wLiGec*XVO&+R9vcmmNOdziZV=L)yi#&3h_{{S}!W*&t8VE>-)K%&f^C0vG`_4Vjl=ggG Lj6)t(H7Ps*NNq=( literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MLSS27148.npy b/app/service/outfit_matcher/color/MLSS27148.npy new file mode 100644 index 0000000000000000000000000000000000000000..79f0daf0589af904963bb508963f0101f7ede6f3 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~%m-^=Kk6pI^AL1g+m;cV50Sac#1c8_K+!qvDoHjp( zihqF1qpO>9AYRDK`=b4{`v2<=TfeoxAjPKmll|6ybam#nRa1p6_hOg>Q%5ch0Cdwu AFaQ7m literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MLSS27149.npy b/app/service/outfit_matcher/color/MLSS27149.npy new file mode 100644 index 0000000000000000000000000000000000000000..0c76ea6cd2b1b2117b2503535645fa29a50a6f97 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCO0GaGTi)hj#5hp8jKs{N?xd3{Ws@CJ4N=Z)UDc%$WHM ZD*gd3kFM_b4_;gSvzIXBVd`j20{}}MHunGk literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MLSS27150.npy b/app/service/outfit_matcher/color/MLSS27150.npy new file mode 100644 index 0000000000000000000000000000000000000000..19d1d32cd5e0a3a3ee24b4b14bb1f5e25c7760cb GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~%m-^=Kk6pI^AL1g+m;cUwl8Pq~U9z7w69it`Gl0Pd KC=KBaMiKzL(kv_h literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MLSS27152.npy b/app/service/outfit_matcher/color/MLSS27152.npy new file mode 100644 index 0000000000000000000000000000000000000000..c1f4937d855e062587f0c0b87d7e76646a365e39 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCO0GaGTi)hj#5hp8jKs{N?xd3{Ws@CJ4N=|Lu@?_<+ze dsQ3rCJWL&g{$S5lXIoi!>oN{`RMoWL0RW`GGnD`U literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MLSS27154.npy b/app/service/outfit_matcher/color/MLSS27154.npy new file mode 100644 index 0000000000000000000000000000000000000000..603005f228f9ecfbd1cb9125e9e8d17f8df252cb GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCO0GaGTi)hj#5hp8jKs{N?xd3{Ws@CJ4N=5BOi1z2?aS dsQ3rCJWL&g{$L-^$fLR3>>dtzRMoWL0RVKbGY9|x literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MLSS27156.npy b/app/service/outfit_matcher/color/MLSS27156.npy new file mode 100644 index 0000000000000000000000000000000000000000..aa91d70768f9b298e065841839b39fe252ecb9d9 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCO0GaGTi)hj#5hp8jKs{N?xd3{Ws@CJ4N=cUCL?ds_d6 z{qirZ(-9zoUJwD$~j$vd%mi~SAm oN7Gs|pV}YXXT0M2@#prpx8;Hm+&py-e}@0Z7Qx*Ea~Cce0Q`Y$P5=M^ literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MLSS27157.npy b/app/service/outfit_matcher/color/MLSS27157.npy new file mode 100644 index 0000000000000000000000000000000000000000..49520625d89cc2bab440ec298b944e2e69d721ba GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCO0GaGTi)hj#5hp8jKs{N?xd3{Ws@CJ4N=zrm8(HTB&y z`{iGz&n|!ba({eODU0&?NA|b3<${pCF&I3y_vtz;ueRt2hPp{Aok!g1}3tI6@w#Zm`h+NsA}A literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MLSS27160.npy b/app/service/outfit_matcher/color/MLSS27160.npy new file mode 100644 index 0000000000000000000000000000000000000000..d42b87f9fc4f544c5b88e12d1100c8e6ae14a5d8 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}n+>fTUWInY&xX*aS_2bX&C#iS>(INX;GeO{`Jp&kg KfYK1&U?c$uvn}iZ literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MLSS27161.npy b/app/service/outfit_matcher/color/MLSS27161.npy new file mode 100644 index 0000000000000000000000000000000000000000..97fe87df54d93605341f6975c7de43cc4a67e307 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCO0GaGTi)hj#5hp8jKs{N?xdx3}ejko~NgAn?-u&_~{^ qUcYztfBu8O{r#(bB3@K&dkt0h+TIup9@{^AtPrm$zS^E)fB*mz;7OAJ literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MLSS27162.npy b/app/service/outfit_matcher/color/MLSS27162.npy new file mode 100644 index 0000000000000000000000000000000000000000..07779abccb77bfd30f54dab5985d7d125cbf52f1 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}hU#8D4fBbTPY*Z(INX;GeO{`z3>jJ e8vdn^?XjzSWN!=xkL_>ucdfTUWInY&xX*aS_2bX&C#iS>(Ixv?GeO{`Jp&kg KfYK1&U?c$((=Ge} literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MLSS27226.npy b/app/service/outfit_matcher/color/MLSS27226.npy new file mode 100644 index 0000000000000000000000000000000000000000..528253cfb167c23445e1bec3e73e3147b0012d88 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~0|3TpX{?$GaFRHe^wr7BXSu;W4rTto_WdF*Jm-frQ zOrKr;_~riis8SZ?^N;K&sdxg>BYTLtoAz!q?(V(Ea~OxZOHg$$?ZrwWg+92fhT8+P Hk5U={AtG5H literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MPO_SP7685.npy b/app/service/outfit_matcher/color/MPO_SP7685.npy new file mode 100644 index 0000000000000000000000000000000000000000..02526a63c30c18abf2a161f2fa192cb327a83297 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(q0z|?_UE=QKX+K{iT$+t|LYE0zqP+0#isa^ g{nq~5+j4>EHB{dR`{W55k}57;$6*e-xzy(a0Aijt82|tP literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MPO_SP7686.npy b/app/service/outfit_matcher/color/MPO_SP7686.npy new file mode 100644 index 0000000000000000000000000000000000000000..6b1c3bec7715900ee68831b3318a25ee61dd31c8 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(q0z|?_PZ8mN3$2au%A}{f8Am0xAqsL*c5-V z-`YP(#S@4gLG^vGcTVmK+I4sboR4bK2m4twLExqR{#_N^i?6P=zrp=zT1)0r`-A(8 nS6n~-98KQ``*gD=^$vrz81~-YmJ39$;pP=c<~+Lcc!oUy@m*t` literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MPO_SP7687.npy b/app/service/outfit_matcher/color/MPO_SP7687.npy new file mode 100644 index 0000000000000000000000000000000000000000..55abfb7210339b495042be7518989eaddb5918ff GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(q0z|?_PTb`ORk8$v!7P~f8Am0xAqsL*c5-V z-`WpTIcp{eytJQi%i3{@_e}d++>fTUWInY&u+MnK_2bX?Pg3y&qDN5kKiJ2qRBiTE on_?gEQs4ajvCH=VLtKRU^54PjhndGveuQ5*y&oGeG zZ|$F?;t52L>}SmcftU9G4FzU$=I^t=!To4jOXgGigZqqETtEICYVHTPI?I(24p9yp z?E_xwo4-GH+5Ufsi!fjQJGlKY^P2rV?=M`x0Ina^WgqN~!Qiod0QYWd%iHtq0nn;n AXaE2J literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MPO_SP7693.npy b/app/service/outfit_matcher/color/MPO_SP7693.npy new file mode 100644 index 0000000000000000000000000000000000000000..8ada995e806a8f6234ea06416c98ed9c4dd37a2f GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(q0z|?_NQA}S1noi(0=)s>9flpzuX@mRm!4# z{*nFdZMi`7+TIup9@{53$LI5(J8eI${{One)^F`ENUf0GRktrvLx| literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MPO_SP7696.npy b/app/service/outfit_matcher/color/MPO_SP7696.npy new file mode 100644 index 0000000000000000000000000000000000000000..79eb4957bf7dc8c7384265406d98a78ae39c96f8 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(q0z|?_BN*6+U0oGeG zZ|%RmEfI=Xp9Q>B-*f80ui=8-u}Pd(+tS-+$Nl+XuYVH-CTZvi<)M7h%5q bcX0b>%>;p$_Gud)%$@SC4K9xEGITxwPo7sE literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MPO_SP7705.npy b/app/service/outfit_matcher/color/MPO_SP7705.npy new file mode 100644 index 0000000000000000000000000000000000000000..845046a481d7875387e617510db400e0e36cce19 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(q0z|?_NuB|7xhWJvA@CnXj)6=Q~QJaj8|Mg z{@i|&iYE{~vY#~*1YX+z|8ZrT&gJd)fBu8O{r#(bB3@K&dkr@irfyQ^{B1qA`k~?o Xdtv6m+~eJv|1>3|8?GPSW$1hW#Q|2s literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MPO_SP7706.npy b/app/service/outfit_matcher/color/MPO_SP7706.npy new file mode 100644 index 0000000000000000000000000000000000000000..4dddb95f6df05efe54d47f67e167e30639dc82f3 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(q0z|?_C7zHZ5sBxuy0_fGWz55e*c>Yr!_a{ ioZ3H0#S@4g+0U8@0x#_^%6;Jb&wCb!Iq2q6pAP`c$~P_m literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MPO_SP7711.npy b/app/service/outfit_matcher/color/MPO_SP7711.npy new file mode 100644 index 0000000000000000000000000000000000000000..ef3bfe3e596825ae5bcfdbfaf658c419f8eae4cf GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(q0z|?_ATr)G|RYN*)RVxeRlcdm;2+RN?DZ8 zKeC^s;t52L?2WCNKshc$u1YX*|5}079N3BKro0Dx*I>@Atona9VS7&M6G@>_wyb%f0&S0i+yZng9R* literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MPO_SP7712.npy b/app/service/outfit_matcher/color/MPO_SP7712.npy new file mode 100644 index 0000000000000000000000000000000000000000..963f9f34da58316acc988fbc9f6fecd7538cd1a3 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(q0z|?_WJMJ1k1O-w7EwLQeVllI%5+h_XhZ?gvg&m3+R literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MPO_SP7717.npy b/app/service/outfit_matcher/color/MPO_SP7717.npy new file mode 100644 index 0000000000000000000000000000000000000000..f79ac9bf70921f393d2c278d43292177a8bf4d6f GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(q0z|?_H*XtFPwh=x&5^I|LYE0zqP+0#isa^ g{nq|TDxN^}2&(Uc{qaKzdoMU#z+n!$xzy(a07ytQA^-pY literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MPO_SP7722.npy b/app/service/outfit_matcher/color/MPO_SP7722.npy new file mode 100644 index 0000000000000000000000000000000000000000..c1c9592d3254bb17ce39993dae788500ada5ba64 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(q0z|?_HDdZ&dvYv+9flpzuX@iRm!4# i{?Y#1+j4>Ewf(G_AaK(D>yz-L1AG^7n1gOE_4xqD6grFm literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MPO_SP7723.npy b/app/service/outfit_matcher/color/MPO_SP7723.npy new file mode 100644 index 0000000000000000000000000000000000000000..e76a9be9f7f62f3202c8fbf31abd2c17c6defaf2 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(q0z|?_G}9jZEkIU36;mCj)9?Oro+}2<)ik0 n{)52%{i}TiE zes6z!TP_IM&zcDWFYO=3^Q7B-yJ8>kQs4ajvCH=VLtKRU^54PDg{k{X}{vj^x5T)U+#~MDrHeV z|7id1ZMi`7+J4qd5V&b?RQ&cw^x{MI%c1JxA?o1fLe#yq|D~IInO$NfTpZm-a`^zE CJxk93 literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MPO_SP7731.npy b/app/service/outfit_matcher/color/MPO_SP7731.npy new file mode 100644 index 0000000000000000000000000000000000000000..bc76d71e40c3ad43506ae9c957f382d4acee5d6a GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(q0z|?_U^?@pDl!5*-xwgzwWU0Tl))AY>GeG zZ|%RmEf<8K`aalaST5Uqs`n6_4>M_!iYE|VvY#~*1YX*|d1}w-wsZ*&`(V0Arvckw BK>h## literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MPO_SP7732.npy b/app/service/outfit_matcher/color/MPO_SP7732.npy new file mode 100644 index 0000000000000000000000000000000000000000..386747666e114fe9a12068dad82d0f00fd956433 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(q0z|?_Ngx>ztP_F*uH_G%IJ^J`~6=doYvf& zbIShqwpfTUWInY&u+MnK_2bX?-`fTUWInY&u+MnK_2bX?-` znfLb7>i@4hZ2i{$f)tzLPxf2;C#iS>(Ifj=GeO{`y~_GC%C~CfK=na%(~|@MJ`O{_ literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MSE_57987.npy b/app/service/outfit_matcher/color/MSE_57987.npy new file mode 100644 index 0000000000000000000000000000000000000000..ed9c678dad4ecf14a4808ea19526552709c4185b GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}ShAN{!KJWK`jc{6XbIvLI+uL$M$bQyL5O`_N00tkR JG=w)8NdWyBFH`^k literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MSE_57988.npy b/app/service/outfit_matcher/color/MSE_57988.npy new file mode 100644 index 0000000000000000000000000000000000000000..ed9c678dad4ecf14a4808ea19526552709c4185b GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}ShAN{!KJWK`jc{6XbIvLI+uL$M$bQyL5O`_N00tkR JG=w)8NdWyBFH`^k literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MSE_58044.npy b/app/service/outfit_matcher/color/MSE_58044.npy new file mode 100644 index 0000000000000000000000000000000000000000..00d0b2c4657208242d7626317c7e4e5c39bcd220 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}ShAN{!KJWLxiEvtTbIz}ejko~NgAn?+j0SrDs JX$WsHk^oZZFUtS` literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MSE_58045.npy b/app/service/outfit_matcher/color/MSE_58045.npy new file mode 100644 index 0000000000000000000000000000000000000000..6824da6574b8bc6052a7f75cca9b7bbecc55c6f5 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}ShAN{!KJWLxiEvtTbIz}ejko~NgAn?+jL*ewg g`jYqd=;|h^cmmNQsJff>{QqaGaTQFoXBZ#=048xpmjD0& literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MSE_58057.npy b/app/service/outfit_matcher/color/MSE_58057.npy new file mode 100644 index 0000000000000000000000000000000000000000..8587ef235b264fe584a0aab4bb5c490a589c5e63 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}n+>fTUWInY&xX*aS_2bX&C#iS>(INX;GeO{`y^#73 hwodam_UP(vZ_5QCdt)$oY@c)7?!fTUWInY&xX*aS_2bX&C#iS>(ItChFnDaw00tkR JG=w)8NdRy|E0F*I literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MSE_58106.npy b/app/service/outfit_matcher/color/MSE_58106.npy new file mode 100644 index 0000000000000000000000000000000000000000..d04aa93191edeca855905fc629e72e0b671e531f GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~%m-^=Kk6pI^AL1g+m;cWG_O@IQvY#~*1YX*22(}fR zpa0zc2KS?BEtya45AHKwasBvnG<7HK1$y`R&3Jjzo&gL#KxqgMnT+w6bK~0j4LIeI I)sn&n0G(=0vj6}9 literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MSE_58107.npy b/app/service/outfit_matcher/color/MSE_58107.npy new file mode 100644 index 0000000000000000000000000000000000000000..420f2f442e455f816f27d53938f18fd40aa8c625 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~%m-^=Kk6pI^AL1g+m;cWG_O@IQvY#~*1YX+b1wJ~n zr2UqCQn=0RghRXbA5Z@=MgH=8`$;OEKy=8S0SrFaXNT=(%CR^H=R?FXN%1#HdxORH v+uz`RG_57`sr|uy#w)HLe~xDFNqf=Dank=!>?2^_2YYuvyLXNgciRI19wKBO literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MSE_58112.npy b/app/service/outfit_matcher/color/MSE_58112.npy new file mode 100644 index 0000000000000000000000000000000000000000..3ad24e747ead0336401ff728af42cfa89b258c83 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(p)tvqeXA#2i+l=|$EEIry$}0z*Ra}s_RGIa zpI!d=<^K4nQWoX&kL+)6%LO60{?i9`^1gh#2SXjq=2Q369+jBnbOWsO*0Oq%2EC2ui literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MSE_58114.npy b/app/service/outfit_matcher/color/MSE_58114.npy new file mode 100644 index 0000000000000000000000000000000000000000..81a8b400bfcb76253f69865fc1c40eab878ac65a GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(p)twzDU-K6u6PBN$EEIrz4>k19Sdc)+b{nz oeRlcdm;2+RN?DZ8KeE5QEf<8~`u+Z^Eq0LEiqk$!7Z4``0ER+3SpWb4 literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MSE_58132.npy b/app/service/outfit_matcher/color/MSE_58132.npy new file mode 100644 index 0000000000000000000000000000000000000000..a8e04510dd52cd1941de67f5e66334601099405f GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCO0{U#8D4fBbTPd{ilm^7%*h3{Ws@CJ4N=k2+*``{ApL zQ1K6Nd6+r~{lQ+FaV^Uhp$ql_FZIpeAG>V-Kg30tFaMqWBo$8}dSnkXZ&$?~Mf0`i z?N>nUjfL2|A7&m*UDXAD)4Eyv?32Q6W+xolwf}hfk16t(-`j7`y}d2>_A`59FnDbL MN8f{ekH{{20E-fB6aWAK literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MSE_58133.npy b/app/service/outfit_matcher/color/MSE_58133.npy new file mode 100644 index 0000000000000000000000000000000000000000..966b8ef0387916eedf03a6c3cae439c98e72bb21 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~0|3TpX{?$GaFRHe^wr7BXSu;W4rM-~N+?!RhkL;7e zZDuDN+O_|9`j08{m*3mp-j)kO_Aqr~iNE!>Jhq?k=E?1j)D?1M{JtH~Lxu)o3mXj)6=Q~QJaj8|Mg{v6HTllHr>e}BFF@j`n5HuHJP literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MSE_58174.npy b/app/service/outfit_matcher/color/MSE_58174.npy new file mode 100644 index 0000000000000000000000000000000000000000..1bbfbe0a419076f4710d0d3116b37233af930f35 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(q0z|?_TP1ikA&zywNDDSnVoQG*Z$+_Kc>iE beh*haYbFT1v=>??Ssu3VDqI}hBwF(UeNr;( literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MSE_58183.npy b/app/service/outfit_matcher/color/MSE_58183.npy new file mode 100644 index 0000000000000000000000000000000000000000..ac0e8b27ebdd7d3fecbf793972df1af713efc08b GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}ShAN{!KJWLxiEvtTbIz}ejko~NgAaK+EeOF8y z+tP>jfBu8O{r#(bB3@K&du`7E1rT*F?Zu+jUj3?Y6)OG#E)P=&qm>^|t`)wqg@C#b T_I$gRd_4Gl5l(Yp=D}zHHAYk^ literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MSE_58184.npy b/app/service/outfit_matcher/color/MSE_58184.npy new file mode 100644 index 0000000000000000000000000000000000000000..5cbe32b7d4856b3065b6530fca83c50ee5bf90cc GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}ShAN{!KJWLxiEvtTbIz&#lTD%TP_Ge?LBFqwchHVkHHe0=E2!_0I3^n9{>OV literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MSE_58185.npy b/app/service/outfit_matcher/color/MSE_58185.npy new file mode 100644 index 0000000000000000000000000000000000000000..1fe2aabaf78fee68e25e8c5b4292c6e4e7531d94 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}ShAN{!KJWLxiEvtTbIz}ejko~NgAaK&&C%Q;3 z)!~VKQn=0RghRXbA5Z@=MgH=8dj=?gsC#K2p8u(Wzws(m`~zGbrVc`Xu;*XcyC~(+ Md>rzqs!8Di09vIr$}K?++{P!N;veAhFm(|6gZ=qU|2L>k MK7m6XRW&I*05ro(8vp&DZsQDTa9vdoRJ&%`iwj)WW&g9sno;T=M_` literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MSE_58198.npy b/app/service/outfit_matcher/color/MSE_58198.npy new file mode 100644 index 0000000000000000000000000000000000000000..ff4a5f6cbdb3085022aaf5291476a2c3c83a9a21 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(p)pBTq4}w6K0UGzc&Tsx{@7*v{~<2IeEIL} zC#iS>(INX;GeO{`z05KO>F(02P;+pZ_rc!b$?4*P=oR)ixF1bx$$V;maG&vt>&Ktl a-`M literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MSE_58199.npy b/app/service/outfit_matcher/color/MSE_58199.npy new file mode 100644 index 0000000000000000000000000000000000000000..647c4d5af04880ea643eef25fc5294240820df0e GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(p)tu*lYYKP61i_5@KWFW{jtmT|3h4a`SRb{ zPg3y&qC@txW`e*=d&kCD(Qngk+uz`RG_57`sr|uy#w)HLe{O$!TP_Ge)t$7zxPCF) OoS>~Z?Zb2daUuYk>P!&; literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MSE_58203.npy b/app/service/outfit_matcher/color/MSE_58203.npy new file mode 100644 index 0000000000000000000000000000000000000000..93e5010e921f18cc1cf0e26c115ba96392c5eefd GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= mXCxM+0{I%IItr$mItsN4WCJb+F!*2(p>dIf(IL2bk|t55 v9T{uwZ*V`F){^28KAB_B00tkRG=zstPFpH> ObAs3uobt$OL2Lk8$77!W literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MSE_58276.npy b/app/service/outfit_matcher/color/MSE_58276.npy new file mode 100644 index 0000000000000000000000000000000000000000..19b266b9689c4a3bc83b0dfb207f13b839c37233 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}ShAN{!KJWLxiEvtTbIz&#lTMKo l&&Rj+=<2rT-rkmb`t=gdBG|V9zi>004U@NHYKc literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MSE_58361.npy b/app/service/outfit_matcher/color/MSE_58361.npy new file mode 100644 index 0000000000000000000000000000000000000000..93e5010e921f18cc1cf0e26c115ba96392c5eefd GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= mXCxM+0{I%IItr$mItsN4WCJb+F!*2(p>dIf~;kx1r*g=0Vimv^UMpbX4M84%d%vBe{G4riwj2 literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MSE_58451.npy b/app/service/outfit_matcher/color/MSE_58451.npy new file mode 100644 index 0000000000000000000000000000000000000000..93e5010e921f18cc1cf0e26c115ba96392c5eefd GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= mXCxM+0{I%IItr$mItsN4WCJb+F!*2(p>dIfz~{0Snqz^8f$< literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MSE_58499.npy b/app/service/outfit_matcher/color/MSE_58499.npy new file mode 100644 index 0000000000000000000000000000000000000000..d1d0fb36f6fbeab258962152b4c51a0d0b1b3daf GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCO0GaGTi)hj#5hp8jKs{N?xdlTiE qeh*haYbFT1wEwc?&A!*S&p^d-na9A8yS(UAV8txBesmkjI{;@!-qptcU`v!(8qdz|H_rHm7T61&Gsr{2w ZJb~ztJdIffTUWInY&xX*aS_2bX&C#iS>(Ifj=GeO{_Jp&kg KfYK1&U?c$vvn}iZ literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MWSS27191.npy b/app/service/outfit_matcher/color/MWSS27191.npy new file mode 100644 index 0000000000000000000000000000000000000000..4138f1ba88a6e28444d689c4ed76d9a4214315d4 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~%m-^=Kk6pI^AL1g+m;cUwl8Pq~9kQP_69it`Gl0Pd KC=KBaMiKzAvMd|` literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MWSS27193.npy b/app/service/outfit_matcher/color/MWSS27193.npy new file mode 100644 index 0000000000000000000000000000000000000000..4b2eeedc956662c9d55d505a25c4b9f44c2794d8 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}n+>fTUWInY&xX*aS_2bX&C#iS>(INX;GeO{`z1o~N zt0yjbV;}HR-~9ct%l7|6T!i`Z-`U^ZmJ32~bsel}vR$HE>>0q|1C)mF5ab7Yq0}op Oi^ON+kVmK_l?4D`>q_qc literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MWSS27195.npy b/app/service/outfit_matcher/color/MWSS27195.npy new file mode 100644 index 0000000000000000000000000000000000000000..4436f185966250cdb207bdbab5ccec17ce338484 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~%m-^=Kk6pI^AL1g+m;cV50Sac#1c8_Ko0F%ftoM9l uzx>Pe+2xO4?vIZuWl=u=$o}@WToAH{sJm&O^~mLR%ci|>{V;RrMFRkHMMIbX literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MWSS27200.npy b/app/service/outfit_matcher/color/MWSS27200.npy new file mode 100644 index 0000000000000000000000000000000000000000..8c7706f73112dd55beee115f9a4edc3116b930cd GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}n+>fTUWInY&xX*aS_2bX&8K7X+Ob~c!ue$aB*_nIZ dLB&77eikc_6%U~0ZK!7$mCH~=M8;k MJ8{Y*t0jdE0G8!Tod5s; literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MWSS27211.npy b/app/service/outfit_matcher/color/MWSS27211.npy new file mode 100644 index 0000000000000000000000000000000000000000..e13311af3ffefea045820e4507b95133ca9fc09b GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN~%m-^=Kk6pI^AL1g+m;cWG_O@IQvY#~*1YX)RfWZeS J4dD$&5&$g`E;9fC literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MWSS27212.npy b/app/service/outfit_matcher/color/MWSS27212.npy new file mode 100644 index 0000000000000000000000000000000000000000..eec3e8284624c62fa77ad3ab1c033ef9a47f05e4 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCJb+F!*2(p&1x%Z_5QC`&lzV;HCZD=e*}zB3{~0tN*|5 hu=QK}3sP)~KiO~XM_1RKaN_Wrxu@Xfz|5l;4FFQ$LXZFe literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MZOS27178.npy b/app/service/outfit_matcher/color/MZOS27178.npy new file mode 100644 index 0000000000000000000000000000000000000000..93d0886fdad0305681f9b14f366565e81ab4a591 GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}ShAN{!KJWK`jc{6XbIvJy1~B+wKWiokoU}jMw4WtV w`Mv$}FVkn2KYqDCKB|;O`TQgM+uL%1=rvT`P5aR0{2BMB&W7rTm_kny07kDwbN~PV literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/color/MZOS27179.npy b/app/service/outfit_matcher/color/MZOS27179.npy new file mode 100644 index 0000000000000000000000000000000000000000..24a3d23d0f286b5cf7665128eb64aea19f9c1b5f GIT binary patch literal 328 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I%IItr$mItsN4WCN}n+>fTUWInY&xX*aS_2bX&Z*R*5A$wymcx=xA1|Og_ Igf|#T0N`^im;e9( literal 0 HcmV?d00001 diff --git a/app/service/outfit_matcher/config/fashion_categories.json b/app/service/outfit_matcher/config/fashion_categories.json new file mode 100644 index 0000000..9c3c12a --- /dev/null +++ b/app/service/outfit_matcher/config/fashion_categories.json @@ -0,0 +1,242 @@ +[ + "ACCECSSORY/BAG", + "ACCECSSORY/HAT", + "ACCESSORY/ACCESSORY", + "ACCESSORY/BAG", + "ACCESSORY/BELT", + "ACCESSORY/BOOTS", + "ACCESSORY/BANGLE", + "ACCESSORY/COMBO SET", + "ACCESSORY/BRACELET", + "ACCESSORY/BRA TOP", + "ACCESSORY/BIB", + "ACCESSORY/GIFT", + "ACCESSORY/FESTIVAL SET", + "ACCESSORY/CAPE", + "ACCESSORY/BLANKET", + "ACCESSORY/HAIR BAND", + "ACCESSORY/GLOVES", + "ACCESSORY/FUR SCARF", + "ACCESSORY/BROOCH", + "ACCESSORY/HAT", + "ACCESSORY/HAIR CLIPS", + "ACCESSORY/SCARF", + "ACCESSORY/CLIP", + "ACCESSORY/HEAD BAND", + "ACCESSORY/NECKLACE", + "ACCESSORY/SOCKS", + "ACCESSORY/EARING", + "ACCESSORY/KEYRING", + "ACCESSORY/OTHERS", + "ACCESSORY/TOY", + "ACCESSORY/HAIR CLIP", + "ACCESSORY/RING", + "ACCESSORY/SANDALS", + "ACCESSORY/SUN GLASS", + "ACCESSORY/MASK", + "ACCESSORY/Test Kit", + "ACCESSORY/MUG", + "ACCESSORY/TOWEL", + "ACCESSORY/SCARF TOP", + "ACCESSORY/SHOES", + "ACCESSORY/SWIMSUIT", + "ACCESSORY/TIE", + "BOTTOM/BOTTOM", + "BOTTOM/CAPRI", + "BOTTOM/", + "BOTTOM/COAT", + "BOTTOM/CARDIGAN", + "BOTTOM/JEANS SHORTS", + "BOTTOM/BOOTS", + "BOTTOM/JEANS", + "BOTTOM/CARPI", + "BOTTOM/JUMPSUIT", + "BOTTOM/JEANS SKIRT", + "BOTTOM/JEANS CARPI", + "BOTTOM/JACKET", + "BOTTOM/LEATHER JACKET", + "BOTTOM/LEATHER PANTS", + "BOTTOM/JEANS PANTS", + "BOTTOM/PANTS", + "BOTTOM/LEATHER SHORTS", + "BOTTOM/LEATHER SKIRT", + "BOTTOM/OVERALL", + "BOTTOM/SHORTS", + "BOTTOM/LEGGING", + "BOTTOM/UNDERWEAR", + "BOTTOM/SKIRT", + "BOTTOM/TUTA", + "BOTTOM/SANDALS", + "BOTTOM/TEE", + "BOTTOM/SHOES", + "BOTTOM/SPORTSWEAR PANTS", + "BOTTON/PANTS", + "DRESS/JEANS JACKET", + "DRESS/", + "DRESS/ONE PIECE", + "DRESS/DRESS", + "DRESS/LEATHER DRESS", + "DRESS/JEANS SKIRT", + "DRESS/OVERALL", + "DRESS/EVENING DRESS", + "DRESS/SKIRT", + "DRESS/LEATHER SKIRT", + "DRESS/JEANS DRESS", + "DRESS/SHORTS", + "DRESS/JUMPSUIT", + "DRESS/VEST", + "DRESS/SHIRT", + "DRESS/TUTA", + "FUR/DOWN COAT", + "FUR/HAT", + "FUR/FUR CAPE", + "FUR/FUR COAT", + "FUR/FUR DOWN JACKET", + "FUR/FUR GILET", + "FUR/FUR CARDIGAN", + "FUR/FUR JACKET", + "FUR/FUR HAT", + "FUR/FUR SCARF", + "FUR/FUR VEST", + "GIFT/GIFT", + "GIFT/SCARF", + "JEANS/GILET", + "JEANS/JEANS CARPI", + "JEANS/DRESS", + "JEANS/JEANS BLOUSE", + "JEANS/JEANS", + "JEANS/JEANS OVERALL", + "JEANS/JEANS BLAZER", + "JEANS/JEANS DRESS", + "JEANS/SHIRT", + "JEANS/JEANS SHORTS", + "JEANS/JEANS GILET", + "JEANS/JEANS JACKET", + "JEANS/SKIRT", + "JEANS/TWIN SET", + "JEANS/JEANS PANTS", + "JEANS/JEANS SHIRT", + "JEANS/JEANS SKIRT", + "JEANS/JEANS VEST", + "JEANS/JEANS TOP", + "JEANS/OVERALL", + "JEANS/PANTS", + "JEANS/SHORTS", + "KNIT/CARDGAIN", + "KNIT/ONE PIECE", + "KNIT/CARDIGAN", + "KNIT/BRA TOP", + "KNIT/JACKET", + "KNIT/PULLOVER", + "KNIT/DRESS", + "KNIT/CAPE", + "KNIT/KNIT TOP", + "KNIT/CARDGIAN", + "KNIT/PANTS", + "KNIT/GILET", + "KNIT/LONG TOP", + "KNIT/SKIRT", + "KNIT/SHORTS", + "KNIT/SWEATER", + "KNIT/SWEATPR", + "KNIT/VEST", + "KNIT/TANK", + "KNIT/TOP", + "KNIT/TUTA", + "KNIT/TWIN SET", + "LEATHER/BLAZER", + "LEATHER/LEATHER BLAZER", + "LEATHER/LEATHER COAT", + "LEATHER/LEATHER PANTS", + "LEATHER/HAT", + "LEATHER/LEATHER BLOUSE", + "LEATHER/LEATHER DRESS", + "LEATHER/LEATHER SHORTS", + "LEATHER/LEATHER SKIRT", + "LEATHER/LEATHER GILET", + "LEATHER/LEATHER JACKET", + "LEATHER/LEATHER VEST", + "LEATHER/LEATHERSKIRT", + "LEATHER/LEATHERSHIRT", + "LEATHER/LEATHER TOP", + "ONE PIECE/BODYSUIT", + "ONE PIECE/COMBO SET", + "ONE PIECE/BODY", + "ONE PIECE/JUMPSUIT", + "ONE PIECE/DRESS", + "ONE PIECE/OVERALL", + "ONE PIECE/SWIMSUIT", + "ONE PIECE/TWIN SET", + "OUTERWEAR/CARDIGAN", + "OUTERWEAR/BLAZER", + "OUTERWEAR/DOWN COAT", + "OUTERWEAR/", + "OUTERWEAR/DOWN JACKET", + "OUTERWEAR/COAT", + "OUTERWEAR/DOWN GILET", + "OUTERWEAR/CAPE", + "OUTERWEAR/DOWN VEST", + "OUTERWEAR/FUR JACKET", + "OUTERWEAR/FUR VEST", + "OUTERWEAR/CAPE COAT", + "OUTERWEAR/LEATHER VEST", + "OUTERWEAR/PULLOVER", + "OUTERWEAR/GILET", + "OUTERWEAR/FUR COAT", + "OUTERWEAR/QUILTED JACKET", + "OUTERWEAR/SPORTSWEAR JACKET", + "OUTERWEAR/JACKET", + "OUTERWEAR/FUR GILET", + "OUTERWEAR/SHIRT", + "OUTERWEAR/TWIN SET", + "OUTERWEAR/LEATHER GILET", + "OUTERWEAR/JEANS JACKET", + "OUTERWEAR/TRENCH COAT", + "OUTERWEAR/LEATHER COAT", + "OUTERWEAR/ONE PIECE", + "OUTERWEAR/LEATHER JACKET", + "OUTERWEAR/SCARF", + "OUTERWEAR/SOCKS", + "OUTERWEAR/TOP", + "OUTERWEAR/UNIFORM", + "OUTERWEAR/VEST", + "OUTERWEAR/WINDBREAKER", + "OUTERWEAR/WINDERBREAKER", + "OUTPRWEAR/BLAZER", + "SHOES/PUMPS", + "SHOES/BOOTS", + "SHOES/SHOES", + "SHOES/SANDALS", + "TOP/BLOUSE", + "TOP/BLAZER", + "TOP/BAR TOP", + "TOP/BRA TOP", + "TOP/CARDIGAN", + "TOP/BODY", + "TOP/COAT", + "TOP/PANTS", + "TOP/DOWN VEST", + "TOP/JACKET", + "TOP/GILET", + "TOP/TWIN SET", + "TOP/LONG SLEEVES TEE", + "TOP/LONG TOP", + "TOP/KNIT TOP", + "TOP/VEST", + "TOP/ONE PIECE", + "TOP/TANK", + "TOP/PULLOVER", + "TOP/TOP", + "TOP/OVERALL", + "TOP/UNDERWEAR", + "TOP/SKIRT", + "TOP/UNIFORM", + "TOP/SHIRT", + "TOP/SWEATER", + "TOP/TUTA", + "TOP/TEE", + "TOP/TUNIC", + "TUTA/OVERALL", + "TUTA/TWIN SET", + "TUTA/TUTA" +] \ No newline at end of file diff --git a/app/service/outfit_matcher/config/fashion_category_mapping.json b/app/service/outfit_matcher/config/fashion_category_mapping.json new file mode 100644 index 0000000..abdb4be --- /dev/null +++ b/app/service/outfit_matcher/config/fashion_category_mapping.json @@ -0,0 +1,242 @@ +{ + "ACCECSSORY/BAG": "bags", + "ACCECSSORY/HAT": "hats", + "ACCESSORY/ACCESSORY": "accessories", + "ACCESSORY/BAG": "bags", + "ACCESSORY/BELT": "accessories", + "ACCESSORY/BOOTS": "shoes", + "ACCESSORY/BANGLE": "accessories", + "ACCESSORY/COMBO SET": "accessories", + "ACCESSORY/BRACELET": "accessories", + "ACCESSORY/BRA TOP": "tops", + "ACCESSORY/BIB": "accessories", + "ACCESSORY/GIFT": "accessories", + "ACCESSORY/FESTIVAL SET": "accessories", + "ACCESSORY/CAPE": "outerwear", + "ACCESSORY/BLANKET": "accessories", + "ACCESSORY/HAIR BAND": "accessories", + "ACCESSORY/GLOVES": "accessories", + "ACCESSORY/FUR SCARF": "accessories", + "ACCESSORY/BROOCH": "accessories", + "ACCESSORY/HAT": "hats", + "ACCESSORY/HAIR CLIPS": "accessories", + "ACCESSORY/SCARF": "scarves", + "ACCESSORY/CLIP": "accessories", + "ACCESSORY/HEAD BAND": "accessories", + "ACCESSORY/NECKLACE": "jewellery", + "ACCESSORY/SOCKS": "accessories", + "ACCESSORY/EARING": "jewellery", + "ACCESSORY/KEYRING": "accessories", + "ACCESSORY/OTHERS": "accessories", + "ACCESSORY/TOY": "accessories", + "ACCESSORY/HAIR CLIP": "accessories", + "ACCESSORY/RING": "jewellery", + "ACCESSORY/SANDALS": "shoes", + "ACCESSORY/SUN GLASS": "sunglasses", + "ACCESSORY/MASK": "accessories", + "ACCESSORY/Test Kit": "accessories", + "ACCESSORY/MUG": "accessories", + "ACCESSORY/TOWEL": "accessories", + "ACCESSORY/SCARF TOP": "scarves", + "ACCESSORY/SHOES": "shoes", + "ACCESSORY/SWIMSUIT": "all-body", + "ACCESSORY/TIE": "accessories", + "BOTTOM/BOTTOM": "bottoms", + "BOTTOM/CAPRI": "bottoms", + "BOTTOM/": "bottoms", + "BOTTOM/COAT": "outerwear", + "BOTTOM/CARDIGAN": "outerwear", + "BOTTOM/JEANS SHORTS": "bottoms", + "BOTTOM/BOOTS": "shoes", + "BOTTOM/JEANS": "bottoms", + "BOTTOM/CARPI": "bottoms", + "BOTTOM/JUMPSUIT": "all-body", + "BOTTOM/JEANS SKIRT": "bottoms", + "BOTTOM/JEANS CARPI": "bottoms", + "BOTTOM/JACKET": "outerwear", + "BOTTOM/LEATHER JACKET": "outerwear", + "BOTTOM/LEATHER PANTS": "bottoms", + "BOTTOM/JEANS PANTS": "bottoms", + "BOTTOM/PANTS": "bottoms", + "BOTTOM/LEATHER SHORTS": "bottoms", + "BOTTOM/LEATHER SKIRT": "bottoms", + "BOTTOM/OVERALL": "all-body", + "BOTTOM/SHORTS": "bottoms", + "BOTTOM/LEGGING": "bottoms", + "BOTTOM/UNDERWEAR": "bottoms", + "BOTTOM/SKIRT": "bottoms", + "BOTTOM/TUTA": "all-body", + "BOTTOM/SANDALS": "shoes", + "BOTTOM/TEE": "tops", + "BOTTOM/SHOES": "shoes", + "BOTTOM/SPORTSWEAR PANTS": "bottoms", + "BOTTON/PANTS": "bottoms", + "DRESS/JEANS JACKET": "outerwear", + "DRESS/": "all-body", + "DRESS/ONE PIECE": "all-body", + "DRESS/DRESS": "all-body", + "DRESS/LEATHER DRESS": "all-body", + "DRESS/JEANS SKIRT": "bottoms", + "DRESS/OVERALL": "all-body", + "DRESS/EVENING DRESS": "all-body", + "DRESS/SKIRT": "bottoms", + "DRESS/LEATHER SKIRT": "bottoms", + "DRESS/JEANS DRESS": "all-body", + "DRESS/SHORTS": "bottoms", + "DRESS/JUMPSUIT": "all-body", + "DRESS/VEST": "tops", + "DRESS/SHIRT": "tops", + "DRESS/TUTA": "all-body", + "FUR/DOWN COAT": "outerwear", + "FUR/HAT": "hats", + "FUR/FUR CAPE": "outerwear", + "FUR/FUR COAT": "outerwear", + "FUR/FUR DOWN JACKET": "outerwear", + "FUR/FUR GILET": "outerwear", + "FUR/FUR CARDIGAN": "outerwear", + "FUR/FUR JACKET": "outerwear", + "FUR/FUR HAT": "hats", + "FUR/FUR SCARF": "accessories", + "FUR/FUR VEST": "outerwear", + "GIFT/GIFT": "accessories", + "GIFT/SCARF": "accessories", + "JEANS/GILET": "outerwear", + "JEANS/JEANS CARPI": "bottoms", + "JEANS/DRESS": "all-body", + "JEANS/JEANS BLOUSE": "tops", + "JEANS/JEANS": "bottoms", + "JEANS/JEANS OVERALL": "all-body", + "JEANS/JEANS BLAZER": "outerwear", + "JEANS/JEANS DRESS": "all-body", + "JEANS/SHIRT": "tops", + "JEANS/JEANS SHORTS": "bottoms", + "JEANS/JEANS GILET": "outerwear", + "JEANS/JEANS JACKET": "outerwear", + "JEANS/SKIRT": "bottoms", + "JEANS/TWIN SET": "all-body", + "JEANS/JEANS PANTS": "bottoms", + "JEANS/JEANS SHIRT": "tops", + "JEANS/JEANS SKIRT": "bottoms", + "JEANS/JEANS VEST": "outerwear", + "JEANS/JEANS TOP": "tops", + "JEANS/OVERALL": "all-body", + "JEANS/PANTS": "bottoms", + "JEANS/SHORTS": "bottoms", + "KNIT/CARDGAIN": "outerwear", + "KNIT/ONE PIECE": "all-body", + "KNIT/CARDIGAN": "outerwear", + "KNIT/BRA TOP": "tops", + "KNIT/JACKET": "outerwear", + "KNIT/PULLOVER": "tops", + "KNIT/DRESS": "all-body", + "KNIT/CAPE": "outerwear", + "KNIT/KNIT TOP": "tops", + "KNIT/CARDGIAN": "outerwear", + "KNIT/PANTS": "bottoms", + "KNIT/GILET": "outerwear", + "KNIT/LONG TOP": "tops", + "KNIT/SKIRT": "bottoms", + "KNIT/SHORTS": "bottoms", + "KNIT/SWEATER": "tops", + "KNIT/SWEATPR": "tops", + "KNIT/VEST": "outerwear", + "KNIT/TANK": "tops", + "KNIT/TOP": "tops", + "KNIT/TUTA": "all-body", + "KNIT/TWIN SET": "all-body", + "LEATHER/BLAZER": "outerwear", + "LEATHER/LEATHER BLAZER": "outerwear", + "LEATHER/LEATHER COAT": "outerwear", + "LEATHER/LEATHER PANTS": "bottoms", + "LEATHER/HAT": "hats", + "LEATHER/LEATHER BLOUSE": "tops", + "LEATHER/LEATHER DRESS": "all-body", + "LEATHER/LEATHER SHORTS": "bottoms", + "LEATHER/LEATHER SKIRT": "bottoms", + "LEATHER/LEATHER GILET": "outerwear", + "LEATHER/LEATHER JACKET": "outerwear", + "LEATHER/LEATHER VEST": "outerwear", + "LEATHER/LEATHERSKIRT": "bottoms", + "LEATHER/LEATHERSHIRT": "tops", + "LEATHER/LEATHER TOP": "tops", + "ONE PIECE/BODYSUIT": "all-body", + "ONE PIECE/COMBO SET": "all-body", + "ONE PIECE/BODY": "all-body", + "ONE PIECE/JUMPSUIT": "all-body", + "ONE PIECE/DRESS": "all-body", + "ONE PIECE/OVERALL": "all-body", + "ONE PIECE/SWIMSUIT": "all-body", + "ONE PIECE/TWIN SET": "all-body", + "OUTERWEAR/CARDIGAN": "outerwear", + "OUTERWEAR/BLAZER": "outerwear", + "OUTERWEAR/DOWN COAT": "outerwear", + "OUTERWEAR/": "outerwear", + "OUTERWEAR/DOWN JACKET": "outerwear", + "OUTERWEAR/COAT": "outerwear", + "OUTERWEAR/DOWN GILET": "outerwear", + "OUTERWEAR/CAPE": "outerwear", + "OUTERWEAR/DOWN VEST": "outerwear", + "OUTERWEAR/FUR JACKET": "outerwear", + "OUTERWEAR/FUR VEST": "outerwear", + "OUTERWEAR/CAPE COAT": "outerwear", + "OUTERWEAR/LEATHER VEST": "outerwear", + "OUTERWEAR/PULLOVER": "outerwear", + "OUTERWEAR/GILET": "outerwear", + "OUTERWEAR/FUR COAT": "outerwear", + "OUTERWEAR/QUILTED JACKET": "outerwear", + "OUTERWEAR/SPORTSWEAR JACKET": "outerwear", + "OUTERWEAR/JACKET": "outerwear", + "OUTERWEAR/FUR GILET": "outerwear", + "OUTERWEAR/SHIRT": "tops", + "OUTERWEAR/TWIN SET": "all-body", + "OUTERWEAR/LEATHER GILET": "outerwear", + "OUTERWEAR/JEANS JACKET": "outerwear", + "OUTERWEAR/TRENCH COAT": "outerwear", + "OUTERWEAR/LEATHER COAT": "outerwear", + "OUTERWEAR/ONE PIECE": "all-body", + "OUTERWEAR/LEATHER JACKET": "outerwear", + "OUTERWEAR/SCARF": "accessories", + "OUTERWEAR/SOCKS": "accessories", + "OUTERWEAR/TOP": "tops", + "OUTERWEAR/UNIFORM": "outerwear", + "OUTERWEAR/VEST": "outerwear", + "OUTERWEAR/WINDBREAKER": "outerwear", + "OUTERWEAR/WINDERBREAKER": "outerwear", + "OUTPRWEAR/BLAZER": "outerwear", + "SHOES/PUMPS": "shoes", + "SHOES/BOOTS": "shoes", + "SHOES/SHOES": "shoes", + "SHOES/SANDALS": "shoes", + "TOP/BLOUSE": "tops", + "TOP/BLAZER": "outerwear", + "TOP/BAR TOP": "tops", + "TOP/BRA TOP": "tops", + "TOP/CARDIGAN": "outerwear", + "TOP/BODY": "all-body", + "TOP/COAT": "outerwear", + "TOP/PANTS": "bottoms", + "TOP/DOWN VEST": "outerwear", + "TOP/JACKET": "outerwear", + "TOP/GILET": "outerwear", + "TOP/TWIN SET": "tops", + "TOP/LONG SLEEVES TEE": "tops", + "TOP/LONG TOP": "tops", + "TOP/KNIT TOP": "tops", + "TOP/VEST": "outerwear", + "TOP/ONE PIECE": "all-body", + "TOP/TANK": "tops", + "TOP/PULLOVER": "outerwear", + "TOP/TOP": "tops", + "TOP/OVERALL": "all-body", + "TOP/UNDERWEAR": "bottoms", + "TOP/SKIRT": "bottoms", + "TOP/UNIFORM": "tops", + "TOP/SHIRT": "tops", + "TOP/SWEATER": "tops", + "TOP/TUTA": "all-body", + "TOP/TEE": "tops", + "TOP/TUNIC": "tops", + "TUTA/OVERALL": "all-body", + "TUTA/TWIN SET": "all-body", + "TUTA/TUTA": "all-body" +} \ No newline at end of file diff --git a/app/service/outfit_matcher/dataset.py b/app/service/outfit_matcher/dataset.py new file mode 100644 index 0000000..4718688 --- /dev/null +++ b/app/service/outfit_matcher/dataset.py @@ -0,0 +1,141 @@ +import json +import random +import itertools +import difflib +from copy import deepcopy + +from app.core.config import FASHION_CATEGORIES, FASHION_CATEGORIES_MAPPING + + +# Helper function to calculate the edit distance similarity between two file names +def sim_score(a, b): + return difflib.SequenceMatcher(None, a, b).ratio() + + +class FashionDataset(object): + fashion_categories = json.load(open(FASHION_CATEGORIES, "r")) + fashion_categories_mapping = json.load(open(FASHION_CATEGORIES_MAPPING, "r")) + + def __init__(self, item_metadata): + self.item_metadat = item_metadata + self.item2cate = self.get_item2cate(item_metadata) + self.cate2item = self.get_cate2item(item_metadata) + self.cate2num = {k: len(v) for k, v in self.cate2item.items()} + + # def generate_outfit(self, query_item, topk, max_outfits): + # query_item["mapped_cate"] = self.fashion_categories_mapping[query_item["semantic_category"]] + # possible_outfits = self.count_possible(query_item["mapped_cate"]) + # + # if possible_outfits < topk: + # raise ValueError(f"Cannot generate more than {topk} outfits!") + # + # outfit_list = self.get_possible_outfit(query_item) + # if possible_outfits > max_outfits: + # outfit_list = random.sample(outfit_list, max_outfits) + # return outfit_list + + def count_possible(self, given_cate): + possible = 0 + if given_cate == 'tops': + if self.cate2num['outerwear'] == 0: + possible = self.cate2num['bottoms'] + else: + possible = self.cate2num['bottoms'] * self.cate2num['outerwear'] + elif given_cate == 'bottoms': + if self.cate2num['outerwear'] == 0: + possible = self.cate2num['tops'] + else: + possible = self.cate2num['tops'] * self.cate2num['outerwear'] + elif given_cate == 'outerwear': + possible = self.cate2num['tops'] * self.cate2num['bottoms'] + self.cate2num['all-body'] + elif given_cate == 'all-body': + possible = self.cate2num['outerwear'] + return possible + + def generate_outfit(self, query_item, topk, max_outfits): + query_item["mapped_cate"] = self.fashion_categories_mapping[query_item["semantic_category"]] + given_cate = query_item["mapped_cate"] + + if given_cate == 'tops' or given_cate == "bottoms": + complementary_cate = "bottoms" if given_cate == "tops" else "tops" + # check bottom num + if complementary_cate not in self.cate2num.keys() or not self.cate2num[complementary_cate]: + raise ValueError(f"Not enough {complementary_cate} available to generate outfits.") + + complementary_items = deepcopy(self.cate2item[complementary_cate]) + sim_scores = [sim_score(item["item_name"], query_item["item_name"]) for item in complementary_items] + outfit_list = [] + used_items = set() + + while len(outfit_list) < max_outfits: + if not complementary_items: + break + + # 根据权重从bottoms中选择一个元素 + item_index = random.choices(range(len(complementary_items)), weights=sim_scores)[0] + item = complementary_items.pop(item_index) + sim_scores.pop(item_index) + + if item["item_name"] not in used_items: + used_items.add(item["item_name"]) + outfit = [query_item, item] + outfit_list.append(tuple(outfit)) + if "outerwear" in self.cate2item.keys(): + # 20% chance to include an outerwear + if self.cate2num['outerwear'] > 0 and random.random() < 0.2: + outerwear = random.choice(self.cate2item['outerwear']) + outfit.append(outerwear) + outfit_list.append(tuple(outfit)) + if len(outfit_list) < topk: + raise ValueError(f"Cannot generate more than {topk} outfits!") + + return outfit_list + elif given_cate == 'outerwear': + top_bottom_combination = [(x[0], x[1]) for x in + itertools.product(self.cate2item['tops'], self.cate2item['bottoms'])] + sim_scores = [sim_score(x[0]["item_name"], x[1]["item_name"]) for x in top_bottom_combination] + outfit_list = [] + used_items = set() + + while len(outfit_list) < max_outfits: + if not top_bottom_combination: + break + + # 根据权重从top bottom的组合中选择一个,根据top和bottom之间的文件名相似度选择 + top_bottom_index = random.choices(range(len(top_bottom_combination)), weights=sim_scores)[0] + top_bottom = top_bottom_combination.pop(top_bottom_index) + sim_scores.pop(top_bottom_index) + + top_name, bottom_name = top_bottom[0]["item_name"], top_bottom[1]["item_name"] + if top_name + bottom_name not in used_items: + used_items.add(top_name + bottom_name) + outfit = [query_item] + list(top_bottom) + outfit_list.append(tuple(outfit)) + + if len(outfit_list) < topk: + raise ValueError(f"Cannot generate more than {topk} outfits!") + + return outfit_list + elif given_cate == 'all-body': + outfit_list = [(query_item, x) for x in self.cate2item['outerwear']] + return outfit_list + + def get_item2cate(self, item_metadata): + item2cate = {} + for metadata in item_metadata: + cate = metadata["semantic_category"] + mapped_cate = self.fashion_categories_mapping[cate] + item2cate[metadata["item_name"]] = mapped_cate + return item2cate + + def get_cate2item(self, item_metadata): + cate2item = {} + for metadata in item_metadata: + cate = metadata["semantic_category"] + mapped_cate = self.fashion_categories_mapping[cate] + metadata["mapped_cate"] = mapped_cate + if mapped_cate not in cate2item.keys(): + cate2item[mapped_cate] = [metadata] + else: + cate2item[mapped_cate].append(metadata) + return cate2item diff --git a/app/service/outfit_matcher/foco.py b/app/service/outfit_matcher/foco.py new file mode 100644 index 0000000..f2f40fc --- /dev/null +++ b/app/service/outfit_matcher/foco.py @@ -0,0 +1,251 @@ +import operator +from numba import jit +import numpy as np +from skimage import transform, color + + +@jit(nopython=True) +def h_unit(h): + """ + The unit value (1-15) of hue + """ + for i, u in [(0, 1), (14, 2), (33, 3), (44, 4), (62, 5), (88, 6), (165, 7), (194, 8), (219, 9), (241, 10), + (266, 11), (292, 12), (307, 13), (327, 14), (344, 15), (360, 1)]: + if h <= i: + return u + return 0 + + +@jit(nopython=True) +def s_unit(s): + """ + The unit value (1-8) of saturation + """ + for i, u in [(0, 1), (5, 1), (10, 2), (14, 3), (34, 4), (53, 5), (63, 6), (80, 7), (100, 8)]: + if s <= i: + return u + return 0 + + +@jit(nopython=True) +def b_unit(b): + """ + The unit value (1-6) of brightness + """ + for i, u in [(0, 1), (20, 1), (39, 2), (55, 3), (72, 4), (90, 5), (100, 6)]: + if b <= i: + return u + return 0 + + +@jit(nopython=True) +def encode_foco(hsb): + h, s, b = hsb + theta = (h - 1) / 15 * np.pi * 2 + return np.array([np.cos(theta), np.sin(theta), (s - 1) / 7, (b - 1) / 5]) + + +@jit(nopython=True) +def is_white(hsb_unit): + """ + Whether an hsb color unit is white + """ + _, s, b = hsb_unit + return s == 1 and b == 6 + + +@jit(nopython=True) +def is_rice(hsb_unit): + """ + Whether an hsb color unit is rice + """ + h, s, b = hsb_unit + return h in [3, 4, 5] and s in [2, 3, 4] and b in [5, 6] + + +@jit(nopython=True) +def is_blue_netrual(hsb_unit): + """ + Whether an hsb color is blue netrual + """ + h, s, b = hsb_unit + return h in [9, 10] and s in [2, 3, 4, 5, 6] and b in [2, 3, 4] + + +@jit(nopython=True) +def is_pastel(hsb_unit): + """ + Whether an hsb color unit is pastel + """ + _, s, b = hsb_unit + return s == 1 and b in [4, 5] + + +@jit(nopython=True) +def is_black(hsb_unit): + """ + Whether an hsb color unit is black + """ + _, _, b = hsb_unit + return b == 1 + + +@jit(nopython=True) +def is_gray(hsb_unit): + """ + Whether an hsb color unit is gray + """ + _, s, b = hsb_unit + return s == 1 and b in [2, 3] + + +@jit(nopython=True) +def foco_merge(hsb_foco): + """ + Merge multiple black/white/gray foco unit to one + """ + if is_white(hsb_foco): return (1, 1, 6) + if is_black(hsb_foco): return (1, 1, 1) + if is_gray(hsb_foco): return (1, hsb_foco[1], hsb_foco[2]) + return hsb_foco[0], hsb_foco[1], hsb_foco[2] + + +def color_foco(img): + """ + transform an hsb image to color units + + input: (height, width, 3) array + output: an uint8 array with same shape + """ + img = img.copy() + h, w, c = img.shape + # print(h, w, c) + assert c == 3 + for i in range(h): + for j in range(w): + img[i, j, 0] = h_unit(img[i, j, 0]) + img[i, j, 1] = s_unit(img[i, j, 1]) + img[i, j, 2] = b_unit(img[i, j, 2]) + return img.astype(np.uint8) + + +@jit(nopython=True) +def is_ignore(hsb, eps=1): + """ + Ignore white background + """ + _, s, b = hsb + return s < eps and b > 100 - eps + + +@jit(nopython=True) +def ignore_list(hsb_img, ignore=is_ignore): + """ + Given an hsb image (ranges 360, 100, 100), output a dict of ignored pixel locations + + Input: + is_ignore: a lambda that determines whether a hsb pixel should be ignored + Output: + set of ignore pixel coordinate + """ + h, w, _ = hsb_img.shape + ign = set() + for i in range(h): + for j in range(w): + if ignore(hsb_img[i, j, :]): + ign.add((i, j)) + return ign + + +def color_histogram(img, merge=None, threshold=None, ignore=None): + """ + color histogram of an image + """ + h, w, c = img.shape + # print(h, w, c) + if merge is None: + merge = foco_merge + if threshold is None: + threshold = h + w + if ignore is None: + ignore = {} + hist = {} + assert c == 3 + for i in range(h): + for j in range(w): + if (i, j) in ignore: + continue + k = merge(tuple(img[i, j])) + if k in hist: + hist[k] += 1 + else: + hist[k] = 1 + + return {k: v for k, v in hist.items() if v > threshold} + + +def main_colors(img, n=1, frequency=False, hist=False, merge=True): + """ + return the list of main colors of a hsb image. + + img: a hsb image + n: number of main colors to return + frequency: whether return freqency + """ + if hist: + hist = img + else: + hist = color_histogram(color_foco(img), ignore=ignore_list(img)) + if merge: + newhist = {} + oldk = {} + ks = sorted(hist.items(), key=operator.itemgetter(1), reverse=True) + # print(ks) + for k, v in ks: + if k in oldk: + continue + near = {kk: hist[kk] for kk in hist if np.abs(np.sum(np.abs(np.array(k) - np.array(kk)))) <= 2} + # print(near) + newhist[k] = sum(v for k, v in near.items()) + for kk in near: + oldk[kk] = None + hist.pop(kk) + hist = newhist + items = sorted(hist.items(), key=operator.itemgetter(1), reverse=True)[:n] + return items if frequency else [k for k, v in items] + + +def rgb2hsb(rgb_img): + """ + Transform an rgb image (unit 8 np array, ranges 255, 255, 255) to hsb (float np array, ranges 360, 100, 100) + """ + rgb_img = np.array(rgb_img).astype('uint8') + return color.rgb2hsv(rgb_img) * np.array([360, 100, 100]).reshape(1, 1, 3) + + +def extract_main_colors(img, n=5): + """ + Args: + img: Numpy array (height, width, channel) + n: number of main colors wants to extract + + return: + Features of main colors: Numpy array (n, 5) + """ + # Convert to hsb + img = img.astype("uint8") + height = img.shape[0] + width = img.shape[1] + ratio = (512 * 512) / (height * width) + if ratio < 1.0: + img = transform.resize(img, (int(height * ratio), int(width * ratio))) + img = color.rgb2hsv(img) * np.array([360, 100, 100]).reshape(1, 1, 3) + + # Extract main colors + cf = main_colors(img, n, frequency=True) + s = sum(f for c, f in cf) + features = np.zeros((n, 5)) + for i, (c, f) in enumerate(cf): + features[i, :4] = encode_foco(c) + features[i, 4] = f / s + return features diff --git a/app/service/outfit_matcher/outfit_evaluator.py b/app/service/outfit_matcher/outfit_evaluator.py new file mode 100644 index 0000000..0392414 --- /dev/null +++ b/app/service/outfit_matcher/outfit_evaluator.py @@ -0,0 +1,338 @@ +import io +from PIL import Image +import cv2 +import numpy as np +import tritonclient.http as httpclient +import torch +from matplotlib import pyplot as plt, image as mpimg +from minio import Minio +from torchvision import transforms + +from app.core.config import * +from app.service.outfit_matcher.foco import extract_main_colors +from app.service.utils.decorator import RunTime + + +class OutfitMatcher(object): + def __init__(self): + self.tritonclient = httpclient.InferenceServerClient(url=f"{OM_TRITON_IP}:{OM_TRITON_PORT}") + self.minio_client = Minio( + f"{MINIO_IP}:{MINIO_PORT}", + access_key=MINIO_ACCESS, + secret_key=MINIO_SECRET, + secure=MINIO_SECURE) + + @staticmethod + def pad_array(input_value, value=0): + """pad List of Array into same batch size + + Args: + input_value: List of numpy arrary need to be padded + + Returns: + Tensor: [batch_dim, max_dim, original_tensor_size] + """ + max_dim = max([len(x) for x in input_value]) + mask = np.zeros((len(input_value), max_dim), dtype=np.float32) + + # Pad each array + padded_arrays = [] + for i, array in enumerate(input_value): + # Compute padding amount along the pad dimension + pad_dim = max_dim - array.shape[0] + consistent_shape = array.shape[1:] + pad_widths = [(0, pad_dim)] + [(0, 0)] * len(consistent_shape) + padded_array = np.pad(array, pad_widths, mode='constant', constant_values=value) + padded_arrays.append(padded_array) + + mask[i, array.shape[0]:] = float("-inf") + + # Stack the padded arrays and change the dimension + batched_arrays = np.stack(padded_arrays, axis=0) + return batched_arrays, mask + + @staticmethod + def imnormalize(img, mean, std, to_rgb=True): + """Normalize an image with mean and std. + + Args: + img (ndarray): Image to be normalized. + mean (ndarray): The mean to be used for normalize. + std (ndarray): The std to be used for normalize. + to_rgb (bool): Whether to convert to rgb. + + Returns: + ndarray: The normalized image. + """ + img = img.copy().astype(np.float32) + assert img.dtype != np.uint8 + mean = np.float64(mean.reshape(1, -1)) + stdinv = 1 / np.float64(std.reshape(1, -1)) + if to_rgb: + cv2.cvtColor(img, cv2.COLOR_BGR2RGB, img) # inplace + cv2.subtract(img, mean, img) # inplace + cv2.multiply(img, stdinv, img) # inplace + return img + + @RunTime + def visualize(self, outfits, scores, topk=5, best=True, output_path=None): + # 将outfits和scores按照scores的值进行排序 + sorted_indices = np.argsort(-scores.flatten() if best else scores.flatten())[:topk] # 使用负号进行降序排序 + outfits = [outfits[i] for i in sorted_indices] # 最好或最差的五个 + scores = scores[sorted_indices] # 这五个的分数 + + # 是否画出来 + if output_path: + # 设置子图的行列数 + num_rows = len(outfits) + num_cols = max([len(x) for x in outfits]) + 1 # 一个是图片,一个是分数 + + # 创建一个新的图像,并指定子图的行列数 + fig, axes = plt.subplots(num_rows, num_cols, figsize=(8, 15)) + + title = f"Best {topk} Outfits" if best else f"Worst {topk} Outfits" + fig.suptitle(title, fontsize=16) + + # 遍历每套outfit并将其显示在对应的子图中 + for i, (outfit, score) in enumerate(zip(outfits, scores)): + # 显示分数 + axes[i, 0].text(0.1, 0.5, f"Score: {score[0]:.4f}", fontsize=12) + axes[i, 0].axis("off") + # 显示图片 + for j, item in enumerate(outfit): + img = mpimg.imread(item['image_path']) # 读取图片 + axes[i, j + 1].imshow(img) # 在对应的子图中显示图片 + axes[i, j + 1].axis('off') # 关闭坐标轴 + axes[i, j + 1].set_title(item["semantic_category"], fontsize=10) + for j in range(len(outfit), num_cols): + axes[i, j].axis("off") + + # 在每一行的底部添加一条横线 + axes[i, 0].axhline(y=0, color='black', linewidth=1) + # 隐藏最后一行的横线 + axes[-1, 0].axhline(y=0, color='white', linewidth=1) + + # 调整布局 + plt.subplots_adjust(wspace=0.1, hspace=0.1) + plt.tight_layout() + + if output_path: + plt.savefig(output_path) + else: + plt.show() + else: + return outfits, scores.numpy().flatten().tolist() + + +class OutfitMatcherHon(OutfitMatcher): + def __init__(self): + super().__init__() + + def load_image(self, img_path): + try: + # 从 MinIO 中获取对象(图像文件) + image_data = self.minio_client.get_object(img_path.split("/", 1)[0], img_path.split("/", 1)[1]) + + # 读取图像数据并转换为 PIL 图像对象 + pil_image = Image.open(io.BytesIO(image_data.read())) + + # 将 PIL 图像转换为 NumPy 数组 + image_array = np.array(pil_image) + + return image_array + except Exception as e: + print(f"An error occurred: {e}") + return None + # if 'http' in img_path: + # file = requests.get(img_path) + # image = cv2.imdecode(np.fromstring(file.content, np.uint8), 1) + # image = Image.fromarray(image.astype('uint8'), 'RGB') + # else: + # image = Image.open(img_path).convert('RGB') + # return np.array(image) + + @staticmethod + def resize_image(img): + """ + Args: + img: ndarray (height, width, channel) + """ + resized_img = cv2.resize(img, (224, 224), dst=None, interpolation=1) + return resized_img + + def preprocess(self, outfits): + outfit_images = [] + outfit_colors = [] + for outfit in outfits: + images = [] + colors = [] + for item in outfit: + image = self.load_image(item["image_path"]) + image = self.resize_image(image) + normalized_image = self.imnormalize(image, + mean=np.array([208.32996145, 201.28227452, 198.47047691], + dtype=np.float32), + std=np.array([75.48939648, 80.47423057, 82.21144189], + dtype=np.float32)) + images.append(normalized_image.transpose(2, 0, 1)) + color = extract_main_colors(image) + colors.append(color) + images = np.stack(images, axis=0) + outfit_images.append(images) # List[(items, 3, 224, 224)] + colors = np.stack(colors, axis=0) + outfit_colors.append(colors) + outfit_images, mask = self.pad_array(outfit_images) + outfit_colors, _ = self.pad_array(outfit_colors) + return outfit_images, outfit_colors, mask + + def get_result(self, outfits): + # start = time.time() + image, color, mask = self.preprocess(outfits) + # print(start - time.time()) + # transformed_img = image.astype(np.float32) + # 输入集 + inputs = [ + httpclient.InferInput("input__0", image.shape, datatype="FP32"), + httpclient.InferInput("input__1", color.shape, datatype="FP32"), + httpclient.InferInput("input__2", mask.shape, datatype="FP32"), + ] + inputs[0].set_data_from_numpy(image.astype(np.float32), binary_data=True) + inputs[1].set_data_from_numpy(color.astype(np.float32), binary_data=True) + inputs[2].set_data_from_numpy(mask.astype(np.float32), binary_data=True) + # 输出集 + outputs = [ + httpclient.InferRequestedOutput("output__0", binary_data=True), + ] + results = self.tritonclient.infer(model_name="outfit_matcher_hon", inputs=inputs, outputs=outputs) + # 推理 + # 取结果 + inference_output1 = torch.from_numpy(results.as_numpy("output__0")) + return inference_output1 # Shape (N, 1) + + +class OutfitMaterTypeAware(OutfitMatcher): + base_fashion_categories = [ + 'accessories', 'all-body', 'bags', 'bottoms', 'hats', 'jewellery', + 'outerwear', 'scarves', 'shoes', 'sunglasses', 'tops' + ] + + @RunTime + def __init__(self): + super().__init__() + + @RunTime + # TODO 用多线程读图片 + def load_image(self, img_path): + try: + # 从 MinIO 中获取对象(图像文件) + image_data = self.minio_client.get_object(img_path.split("/", 1)[0], img_path.split("/", 1)[1]) + + # 读取图像数据并转换为 PIL 图像对象 + pil_image = Image.open(io.BytesIO(image_data.data)).convert("RGB") + + # 将 PIL 图像转换为 NumPy 数组 + # image_array = np.array(pil_image) + + return pil_image + except Exception as e: + print(f"An error occurred: {e}") + return None + # if 'http' in img_path: + # file = requests.get(img_path) + # image = cv2.imdecode(np.fromstring(file.content, np.uint8), 1) + # image = Image.fromarray(image.astype('uint8'), 'RGB') + # else: + # image = Image.open(img_path).convert('RGB') + # return np.array(image) + + @staticmethod + def resize_image(img): + """ + Args: + img: ndarray (height, width, channel) + """ + image_transforms = transforms.Compose([ + transforms.Resize(112), + transforms.CenterCrop(112), + transforms.ToTensor(), + transforms.Normalize(mean=[0.485, 0.456, 0.406], + std=[0.229, 0.224, 0.225]), + ]) + resized_img = image_transforms(img).numpy() + return resized_img + + def preprocess(self, outfits): + outfit_images = [] + outfit_categories = [] + for outfit in outfits: + images = [] + categories = [] + for item in outfit: + image = self.load_image(item["image_path"]) + image = self.resize_image(image) + images.append(image) + category = self.base_fashion_categories.index(item["mapped_cate"]) + categories.append(category) + images = np.stack(images, axis=0) + outfit_images.append(images) # List[(items, 3, 224, 224)] + categories = np.array(categories) + outfit_categories.append(categories) # List[(items)] + outfit_images, mask = self.pad_array(outfit_images, value=0) + outfit_categories, _ = self.pad_array(outfit_categories, value=len(self.base_fashion_categories)) + return outfit_images, outfit_categories, mask + + @RunTime + def get_result(self, outfits): + """Input outfits structure and output scores. + Args: + outfits: outfits to be evaluated. + Example: + [ + [ + { + "item_name": "MSE_57987", + "semantic_category": "BOTTOM/PANTS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_57987.jpg", + "mapped_cate": "bottoms" + }, + { + "item_name": "MPO_SP7712", + "semantic_category": "TOP/TANK", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7712.jpg", + "mapped_cate": "tops" + }, + { + "item_name": "MWSS27195", + "semantic_category": "OUTERWEAR/GILET", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MWSS27195.jpg", + "mapped_cate": "outerwear" + } + ], + ... + ] + Returns: + scores: List of float + """ + image, category, mask = self.preprocess(outfits) + client = httpclient.InferenceServerClient(url=f"{OM_TRITON_IP}:{OM_TRITON_PORT}") + # 输入集 + inputs = [ + httpclient.InferInput("input__0", image.shape, datatype="FP32"), + httpclient.InferInput("input__1", category.shape, datatype="INT16"), + httpclient.InferInput("input__2", mask.shape, datatype="FP32"), + ] + inputs[0].set_data_from_numpy(image.astype(np.float32), binary_data=True) + inputs[1].set_data_from_numpy(category.astype(np.int16), binary_data=True) + inputs[2].set_data_from_numpy(mask.astype(np.float32), binary_data=True) + # 输出集 + outputs = [ + httpclient.InferRequestedOutput("output__0", binary_data=True), + httpclient.InferRequestedOutput("output__1", binary_data=True) + ] + results = client.infer(model_name="outfit_matcher_type_aware", inputs=inputs, outputs=outputs) + # 推理 + # 取结果 + scores = torch.from_numpy(results.as_numpy("output__0")) # Shape (N, 1) + features = torch.from_numpy(results.as_numpy("output__1")) # Shape (N, 64) + + return scores, features diff --git a/app/service/outfit_matcher/service.py b/app/service/outfit_matcher/service.py new file mode 100644 index 0000000..59961cb --- /dev/null +++ b/app/service/outfit_matcher/service.py @@ -0,0 +1,37 @@ +import json +import os +from pprint import pprint + +from app.service.outfit_matcher.dataset import FashionDataset +from app.service.outfit_matcher.outfit_evaluator import OutfitMaterTypeAware + +if __name__ == '__main__': + with open("./test_param/recommendation_test.json", "r") as f: + param = json.load(f) + fashion_dataset = FashionDataset(param["database"]) + service = OutfitMaterTypeAware() + best_list = [] + bad_list = [] + for item in param["query"]: + outfits = fashion_dataset.generate_outfit(item, param["topk"], param["max_outfits"]) + scores, features = service.get_result(outfits) + # save features + + # 链接milvus + + # 存入数据库 + # 关闭链接 + + # print(scores) + # print(len(scores)) + best_outfits, best_scores = service.visualize(outfits, scores, param["topk"], best=True, + # output_path=os.path.join(r"E:\workspace\outfit_matcher\2024 SS Outfit", f"{item['item_name']}_best_{param['topk']}.png") + ) + bad_outfits, bad_scores = service.visualize(outfits, scores, param["topk"], best=False, + # output_path=os.path.join(r"E:\workspace\outfit_matcher\2024 SS Outfit", f"{item['item_name']}_worst_{param['topk']}.png") + ) + best_list.append({"best_outfits": best_outfits, "best_scores": best_scores}) + bad_list.append({"bad_outfits": bad_outfits, "bad_scores": bad_scores}) + + pprint(best_list) + pprint(bad_list) diff --git a/app/service/outfit_matcher/test_param/recommendation_test.json b/app/service/outfit_matcher/test_param/recommendation_test.json new file mode 100644 index 0000000..6e6f624 --- /dev/null +++ b/app/service/outfit_matcher/test_param/recommendation_test.json @@ -0,0 +1,29 @@ +{ + "topk": 1, + "max_outfits": 100, + "is_best": true, + "query": [ + { + "item_name": "MWSS27212", + "semantic_category": "TOP/BLOUSE", + "image_path": "test/2024 SS/MWSS27212.jpg" + } + ], + "database": [ + { + "item_name": "MLSS27162", + "semantic_category": "TOP/SHIRT", + "image_path": "test/2024 SS/MLSS27162.jpg" + }, + { + "item_name": "MKTS27017", + "semantic_category": "OUTERWEAR/WINDBREAKER", + "image_path": "test/2024 SS/MKTS27017.jpg" + }, + { + "item_name": "MLSS27160", + "semantic_category": "BOTTOM/PANTS", + "image_path": "test/2024 SS/MLSS27160.jpg" + } + ] +} \ No newline at end of file diff --git a/app/service/outfit_matcher/test_param/recommendation_test_pkc.json b/app/service/outfit_matcher/test_param/recommendation_test_pkc.json new file mode 100644 index 0000000..9290de8 --- /dev/null +++ b/app/service/outfit_matcher/test_param/recommendation_test_pkc.json @@ -0,0 +1,849 @@ +{ + "topk": 5, + "max_outfits": 100, + "query": [ + { + "item_name": "MSE_58107", + "semantic_category": "TOP/SHIRT", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58107.jpg" + }, + { + "item_name": "MKTS27047", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27047.jpg" + }, + { + "item_name": "MKTS27028", + "semantic_category": "OUTERWEAR/JACKET", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27028.jpg" + }, + { + "item_name": "MSE_58057", + "semantic_category": "OUTERWEAR/BLAZER", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58057.jpg" + }, + { + "item_name": "MSE_58495", + "semantic_category": "TOP/SHIRT", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58495.jpg" + } + ], + "database": + [ + { + "item_name": "MKTS27017", + "semantic_category": "OUTERWEAR/WINDBREAKER", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27017.jpg" + }, + { + "item_name": "MKTS27047", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27047.jpg" + }, + { + "item_name": "MKTS27000", + "semantic_category": "BOTTOM/PANTS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27000.jpg" + }, + { + "item_name": "MKTS27001", + "semantic_category": "BOTTOM/SHORTS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27001.jpg" + }, + { + "item_name": "MZOS27178", + "semantic_category": "KNIT/CARDIGAN", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MZOS27178.jpg" + }, + { + "item_name": "MZOS27179", + "semantic_category": "KNIT/KNIT TOP", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MZOS27179.jpg" + }, + { + "item_name": "MWSS27184", + "semantic_category": "TOP/TEE", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MWSS27184.jpg" + }, + { + "item_name": "MWSS27191", + "semantic_category": "OUTERWEAR/TWIN SET", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MWSS27191.jpg" + }, + { + "item_name": "MWSS27193", + "semantic_category": "OUTERWEAR/JACKET", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MWSS27193.jpg" + }, + { + "item_name": "MWSS27195", + "semantic_category": "OUTERWEAR/GILET", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MWSS27195.jpg" + }, + { + "item_name": "MWSS27200", + "semantic_category": "KNIT/VEST", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MWSS27200.jpg" + }, + { + "item_name": "MWSS27209", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MWSS27209.jpg" + }, + { + "item_name": "MWSS27210", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MWSS27210.jpg" + }, + { + "item_name": "MWSS27211", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MWSS27211.jpg" + }, + { + "item_name": "MWSS27212", + "semantic_category": "TOP/BLOUSE", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MWSS27212.jpg" + }, + { + "item_name": "MKTS27008", + "semantic_category": "OUTERWEAR/BLAZER", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27008.jpg" + }, + { + "item_name": "MKTS27009", + "semantic_category": "BOTTOM/PANTS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27009.jpg" + }, + { + "item_name": "MKTS27010", + "semantic_category": "OUTERWEAR/BLAZER", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27010.jpg" + }, + { + "item_name": "MKTS27012", + "semantic_category": "OUTERWEAR/JACKET", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27012.jpg" + }, + { + "item_name": "MKTS27013", + "semantic_category": "BOTTOM/SHORTS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27013.jpg" + }, + { + "item_name": "MKTS27014", + "semantic_category": "ONE PIECE/TWIN SET", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27014.jpg" + }, + { + "item_name": "MKTS27015", + "semantic_category": "OUTERWEAR/GILET", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27015.jpg" + }, + { + "item_name": "MKTS27016", + "semantic_category": "BOTTOM/SHORTS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27016.jpg" + }, + { + "item_name": "MKTS27027", + "semantic_category": "BOTTOM/PANTS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27027.jpg" + }, + { + "item_name": "MKTS27028", + "semantic_category": "OUTERWEAR/JACKET", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27028.jpg" + }, + { + "item_name": "MKTS27029", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27029.jpg" + }, + { + "item_name": "MKTS27030", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27030.jpg" + }, + { + "item_name": "MKTS27031", + "semantic_category": "BOTTOM/SKIRT", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27031.jpg" + }, + { + "item_name": "MKTS27034", + "semantic_category": "TOP/SHIRT", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27034.jpg" + }, + { + "item_name": "MKTS27035", + "semantic_category": "ONE PIECE/TWIN SET", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27035.jpg" + }, + { + "item_name": "MKTS27038", + "semantic_category": "TOP/TOP", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27038.jpg" + }, + { + "item_name": "MKTS27039", + "semantic_category": "TOP/TOP", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27039.jpg" + }, + { + "item_name": "MKTS27040", + "semantic_category": "TOP/TOP", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27040.jpg" + }, + { + "item_name": "MKTS27045", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27045.jpg" + }, + { + "item_name": "MKTS27046", + "semantic_category": "TOP/SHIRT", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27046.jpg" + }, + { + "item_name": "MKTS27050", + "semantic_category": "TOP/TOP", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27050.jpg" + }, + { + "item_name": "MKTS27059", + "semantic_category": "TOP/TEE", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27059.jpg" + }, + { + "item_name": "MKTS27061", + "semantic_category": "TOP/TOP", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27061.jpg" + }, + { + "item_name": "MKTS27062", + "semantic_category": "TOP/BLOUSE", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27062.jpg" + }, + { + "item_name": "MKTS27066", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27066.jpg" + }, + { + "item_name": "MKTS27067", + "semantic_category": "TOP/TEE", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27067.jpg" + }, + { + "item_name": "MKTS27068", + "semantic_category": "ONE PIECE/TWIN SET", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27068.jpg" + }, + { + "item_name": "MKTS27002", + "semantic_category": "TOP/BLOUSE", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27002.jpg" + }, + { + "item_name": "MKTS27003", + "semantic_category": "OUTERWEAR/GILET", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27003.jpg" + }, + { + "item_name": "MKTS27004", + "semantic_category": "BOTTOM/PANTS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27004.jpg" + }, + { + "item_name": "MKTS27011", + "semantic_category": "TOP/VEST", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27011.jpg" + }, + { + "item_name": "MKTS27018", + "semantic_category": "TOP/SHIRT", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27018.jpg" + }, + { + "item_name": "MKTS27019", + "semantic_category": "OUTERWEAR/BLAZER", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27019.jpg" + }, + { + "item_name": "MKTS27058", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27058.jpg" + }, + { + "item_name": "MLSS27101", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27101.jpg" + }, + { + "item_name": "MLSS27102", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27102.jpg" + }, + { + "item_name": "MLSS27103", + "semantic_category": "OUTERWEAR/GILET", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27103.jpg" + }, + { + "item_name": "MLSS27104", + "semantic_category": "BOTTOM/SHORTS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27104.jpg" + }, + { + "item_name": "MLSS27107", + "semantic_category": "JEANS/JEANS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27107.jpg" + }, + { + "item_name": "MLSS27109", + "semantic_category": "JEANS/JEANS JACKET", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27109.jpg" + }, + { + "item_name": "MLSS27110", + "semantic_category": "JEANS/JEANS JACKET", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27110.jpg" + }, + { + "item_name": "MLSS27111", + "semantic_category": "JEANS/JEANS PANTS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27111.jpg" + }, + { + "item_name": "MLSS27112", + "semantic_category": "JEANS/JEANS PANTS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27112.jpg" + }, + { + "item_name": "MLSS27113", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27113.jpg" + }, + { + "item_name": "MLSS27119", + "semantic_category": "JEANS/JEANS SKIRT", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27119.jpg" + }, + { + "item_name": "MLSS27122", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27122.jpg" + }, + { + "item_name": "MLSS27123", + "semantic_category": "TOP/TOP", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27123.jpg" + }, + { + "item_name": "MLSS27128", + "semantic_category": "JEANS/JEANS JACKET", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27128.jpg" + }, + { + "item_name": "MLSS27129", + "semantic_category": "JEANS/JEANS SHORTS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27129.jpg" + }, + { + "item_name": "MLSS27132", + "semantic_category": "TOP/TOP", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27132.jpg" + }, + { + "item_name": "MLSS27133", + "semantic_category": "BOTTOM/SKIRT", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27133.jpg" + }, + { + "item_name": "MLSS27136", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27136.jpg" + }, + { + "item_name": "MLSS27137", + "semantic_category": "TOP/SHIRT", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27137.jpg" + }, + { + "item_name": "MLSS27140", + "semantic_category": "OUTERWEAR/JACKET", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27140.jpg" + }, + { + "item_name": "MLSS27141", + "semantic_category": "TOP/SHIRT", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27141.jpg" + }, + { + "item_name": "MLSS27142", + "semantic_category": "TOP/SHIRT", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27142.jpg" + }, + { + "item_name": "MLSS27145", + "semantic_category": "OUTERWEAR/WINDBREAKER", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27145.jpg" + }, + { + "item_name": "MLSS27146", + "semantic_category": "TOP/TOP", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27146.jpg" + }, + { + "item_name": "MLSS27147", + "semantic_category": "BOTTOM/SKIRT", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27147.jpg" + }, + { + "item_name": "MLSS27148", + "semantic_category": "TOP/TOP", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27148.jpg" + }, + { + "item_name": "MLSS27149", + "semantic_category": "BOTTOM/PANTS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27149.jpg" + }, + { + "item_name": "MLSS27150", + "semantic_category": "OUTERWEAR/JACKET", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27150.jpg" + }, + { + "item_name": "MLSS27152", + "semantic_category": "TOP/TEE", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27152.jpg" + }, + { + "item_name": "MLSS27154", + "semantic_category": "TOP/TEE", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27154.jpg" + }, + { + "item_name": "MLSS27156", + "semantic_category": "TOP/VEST", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27156.jpg" + }, + { + "item_name": "MLSS27157", + "semantic_category": "OUTERWEAR/WINDBREAKER", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27157.jpg" + }, + { + "item_name": "MLSS27159", + "semantic_category": "BOTTOM/PANTS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27159.jpg" + }, + { + "item_name": "MLSS27160", + "semantic_category": "BOTTOM/PANTS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27160.jpg" + }, + { + "item_name": "MLSS27161", + "semantic_category": "KNIT/CARDIGAN", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27161.jpg" + }, + { + "item_name": "MLSS27162", + "semantic_category": "TOP/SHIRT", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27162.jpg" + }, + { + "item_name": "MLSS27167", + "semantic_category": "OUTERWEAR/JACKET", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27167.jpg" + }, + { + "item_name": "MLSS27173", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27173.jpg" + }, + { + "item_name": "MLSS27174", + "semantic_category": "TOP/TOP", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27174.jpg" + }, + { + "item_name": "MLSS27175", + "semantic_category": "BOTTOM/PANTS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27175.jpg" + }, + { + "item_name": "MLSS27176", + "semantic_category": "BOTTOM/SKIRT", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27176.jpg" + }, + { + "item_name": "MKTS27073", + "semantic_category": "BOTTOM/SKIRT", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MKTS27073.jpg" + }, + { + "item_name": "MLSS27226", + "semantic_category": "BOTTOM/SKIRT", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MLSS27226.jpg" + }, + { + "item_name": "MPO_SP7685", + "semantic_category": "TOP/BLOUSE", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7685.jpg" + }, + { + "item_name": "MPO_SP7686", + "semantic_category": "TOP/SHIRT", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7686.jpg" + }, + { + "item_name": "MPO_SP7687", + "semantic_category": "TOP/SHIRT", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7687.jpg" + }, + { + "item_name": "MPO_SP7692", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7692.jpg" + }, + { + "item_name": "MPO_SP7693", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7693.jpg" + }, + { + "item_name": "MPO_SP7694", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7694.jpg" + }, + { + "item_name": "MPO_SP7696", + "semantic_category": "BOTTOM/PANTS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7696.jpg" + }, + { + "item_name": "MPO_SP7697", + "semantic_category": "JEANS/JEANS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7697.jpg" + }, + { + "item_name": "MPO_SP7704", + "semantic_category": "OUTERWEAR/BLAZER", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7704.jpg" + }, + { + "item_name": "MPO_SP7705", + "semantic_category": "OUTERWEAR/JACKET", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7705.jpg" + }, + { + "item_name": "MPO_SP7706", + "semantic_category": "JEANS/JEANS JACKET", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7706.jpg" + }, + { + "item_name": "MPO_SP7711", + "semantic_category": "TOP/VEST", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7711.jpg" + }, + { + "item_name": "MPO_SP7712", + "semantic_category": "TOP/TANK", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7712.jpg" + }, + { + "item_name": "MPO_SP7717", + "semantic_category": "TOP/TEE", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7717.jpg" + }, + { + "item_name": "MPO_SP7722", + "semantic_category": "TOP/TOP", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7722.jpg" + }, + { + "item_name": "MPO_SP7723", + "semantic_category": "TOP/BLOUSE", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7723.jpg" + }, + { + "item_name": "MPO_SP7726", + "semantic_category": "TOP/SHIRT", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7726.jpg" + }, + { + "item_name": "MPO_SP7729", + "semantic_category": "TOP/SHIRT", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7729.jpg" + }, + { + "item_name": "MPO_SP7731", + "semantic_category": "TOP/BLOUSE", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7731.jpg" + }, + { + "item_name": "MPO_SP7732", + "semantic_category": "TOP/SHIRT", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7732.jpg" + }, + { + "item_name": "MPO_SP7735", + "semantic_category": "TOP/SHIRT", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MPO_SP7735.jpg" + }, + { + "item_name": "MSE_58197", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58197.jpg" + }, + { + "item_name": "MSE_58198", + "semantic_category": "TOP/BLOUSE", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58198.jpg" + }, + { + "item_name": "MSE_58199", + "semantic_category": "BOTTOM/PANTS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58199.jpg" + }, + { + "item_name": "MSE_58112", + "semantic_category": "TOP/SHIRT", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58112.jpg" + }, + { + "item_name": "MSE_58114", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58114.jpg" + }, + { + "item_name": "MSE_58241", + "semantic_category": "TOP/BLOUSE", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58241.jpg" + }, + { + "item_name": "MSE_57987", + "semantic_category": "BOTTOM/PANTS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_57987.jpg" + }, + { + "item_name": "MSE_57988", + "semantic_category": "OUTERWEAR/BLAZER", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_57988.jpg" + }, + { + "item_name": "MSE_58203", + "semantic_category": "OUTERWEAR/BLAZER", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58203.jpg" + }, + { + "item_name": "MSE_58106", + "semantic_category": "BOTTOM/PANTS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58106.jpg" + }, + { + "item_name": "MSE_58107", + "semantic_category": "TOP/SHIRT", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58107.jpg" + }, + { + "item_name": "MSE_58132", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58132.jpg" + }, + { + "item_name": "MSE_58133", + "semantic_category": "TOP/SHIRT", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58133.jpg" + }, + { + "item_name": "MSE_58057", + "semantic_category": "OUTERWEAR/BLAZER", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58057.jpg" + }, + { + "item_name": "MSE_58058", + "semantic_category": "BOTTOM/PANTS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58058.jpg" + }, + { + "item_name": "MSE_58222", + "semantic_category": "BOTTOM/SKIRT", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58222.jpg" + }, + { + "item_name": "MSE_58317", + "semantic_category": "TOP/BLOUSE", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58317.jpg" + }, + { + "item_name": "MSE_58045", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58045.jpg" + }, + { + "item_name": "MSE_58275", + "semantic_category": "JEANS/JEANS DRESS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58275.jpg" + }, + { + "item_name": "MSE_58276", + "semantic_category": "JEANS/JEANS JACKET", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58276.jpg" + }, + { + "item_name": "MSE_58277", + "semantic_category": "JEANS/JEANS SKIRT", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58277.jpg" + }, + { + "item_name": "MSE_58183", + "semantic_category": "TOP/BLOUSE", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58183.jpg" + }, + { + "item_name": "MSE_58184", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58184.jpg" + }, + { + "item_name": "MSE_58185", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58185.jpg" + }, + { + "item_name": "MSE_58188", + "semantic_category": "BOTTOM/SKIRT", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58188.jpg" + }, + { + "item_name": "MSE_54385", + "semantic_category": "BOTTOM/PANTS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_54385.jpg" + }, + { + "item_name": "MSE_56720", + "semantic_category": "OUTERWEAR/BLAZER", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_56720.jpg" + }, + { + "item_name": "MSE_58174", + "semantic_category": "TOP/TEE", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58174.jpg" + }, + { + "item_name": "MSE_58044", + "semantic_category": "OUTERWEAR/JACKET", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58044.jpg" + }, + { + "item_name": "MSE_58361", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58361.jpg" + }, + { + "item_name": "MSE_58495", + "semantic_category": "TOP/SHIRT", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58495.jpg" + }, + { + "item_name": "MSE_58536", + "semantic_category": "ACCESSORY/BAG", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58536.jpg" + }, + { + "item_name": "MSE_58653", + "semantic_category": "TOP/SHIRT", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58653.jpg" + }, + { + "item_name": "MSE_58287", + "semantic_category": "BOTTOM/SHORTS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58287.jpg" + }, + { + "item_name": "MSE_58289", + "semantic_category": "OUTERWEAR/BLAZER", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58289.jpg" + }, + { + "item_name": "MSE_58323", + "semantic_category": "TOP/BLOUSE", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58323.jpg" + }, + { + "item_name": "MSE_58421", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58421.jpg" + }, + { + "item_name": "MSE_58451", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58451.jpg" + }, + { + "item_name": "MSE_58473", + "semantic_category": "KNIT/KNIT TOP", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58473.jpg" + }, + { + "item_name": "MSE_58498", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58498.jpg" + }, + { + "item_name": "MSE_58499", + "semantic_category": "TOP/SHIRT", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58499.jpg" + }, + { + "item_name": "MSE_58510", + "semantic_category": "TOP/SHIRT", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58510.jpg" + }, + { + "item_name": "MSE_58516", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58516.jpg" + }, + { + "item_name": "MSE_58518", + "semantic_category": "BOTTOM/SKIRT", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58518.jpg" + }, + { + "item_name": "MSE_58530", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58530.jpg" + }, + { + "item_name": "MSE_58540", + "semantic_category": "TOP/SHIRT", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58540.jpg" + }, + { + "item_name": "MSE_58547", + "semantic_category": "TOP/TEE", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58547.jpg" + }, + { + "item_name": "MSE_58618", + "semantic_category": "TOP/BLOUSE", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58618.jpg" + }, + { + "item_name": "MSE_58655", + "semantic_category": "TOP/SHIRT", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58655.jpg" + }, + { + "item_name": "MSE_58658", + "semantic_category": "TOP/TEE", + "image_path": "D:\\PhD_Study\\MIXI\\mitu\\image\\2024 SS\\MSE_58658.jpg" + } + ] +} \ No newline at end of file diff --git a/app/service/outfit_matcher/test_param/recommendation_test_zcr.json b/app/service/outfit_matcher/test_param/recommendation_test_zcr.json new file mode 100644 index 0000000..8a29976 --- /dev/null +++ b/app/service/outfit_matcher/test_param/recommendation_test_zcr.json @@ -0,0 +1,849 @@ +{ + "topk": 1, + "max_outfits": 10, + "is_best": true, + "query": [ + { + "item_name": "MKTS27047", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "test/2024 SS/MKTS27047.jpg" + }, + { + "item_name": "MKTS27028", + "semantic_category": "OUTERWEAR/JACKET", + "image_path": "test/2024 SS/MKTS27028.jpg" + }, + { + "item_name": "MSE_58057", + "semantic_category": "OUTERWEAR/BLAZER", + "image_path": "test/2024 SS/MSE_58057.jpg" + }, + { + "item_name": "MSE_58107", + "semantic_category": "TOP/SHIRT", + "image_path": "test/2024 SS/MSE_58107.jpg" + }, + { + "item_name": "MSE_58495", + "semantic_category": "TOP/SHIRT", + "image_path": "test/2024 SS/MSE_58495.jpg" + } + ], + "database": [ + { + "item_name": "MKTS27017", + "semantic_category": "OUTERWEAR/WINDBREAKER", + "image_path": "test/2024 SS/MKTS27017.jpg" + }, + { + "item_name": "MKTS27047", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "test/2024 SS/MKTS27047.jpg" + }, + { + "item_name": "MKTS27000", + "semantic_category": "BOTTOM/PANTS", + "image_path": "test/2024 SS/MKTS27000.jpg" + }, + { + "item_name": "MKTS27001", + "semantic_category": "BOTTOM/SHORTS", + "image_path": "test/2024 SS/MKTS27001.jpg" + }, + { + "item_name": "MZOS27178", + "semantic_category": "KNIT/CARDIGAN", + "image_path": "test/2024 SS/MZOS27178.jpg" + }, + { + "item_name": "MZOS27179", + "semantic_category": "KNIT/KNIT TOP", + "image_path": "test/2024 SS/MZOS27179.jpg" + }, + { + "item_name": "MWSS27184", + "semantic_category": "TOP/TEE", + "image_path": "test/2024 SS/MWSS27184.jpg" + }, + { + "item_name": "MWSS27191", + "semantic_category": "OUTERWEAR/TWIN SET", + "image_path": "test/2024 SS/MWSS27191.jpg" + }, + { + "item_name": "MWSS27193", + "semantic_category": "OUTERWEAR/JACKET", + "image_path": "test/2024 SS/MWSS27193.jpg" + }, + { + "item_name": "MWSS27195", + "semantic_category": "OUTERWEAR/GILET", + "image_path": "test/2024 SS/MWSS27195.jpg" + }, + { + "item_name": "MWSS27200", + "semantic_category": "KNIT/VEST", + "image_path": "test/2024 SS/MWSS27200.jpg" + }, + { + "item_name": "MWSS27209", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "test/2024 SS/MWSS27209.jpg" + }, + { + "item_name": "MWSS27210", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "test/2024 SS/MWSS27210.jpg" + }, + { + "item_name": "MWSS27211", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "test/2024 SS/MWSS27211.jpg" + }, + { + "item_name": "MWSS27212", + "semantic_category": "TOP/BLOUSE", + "image_path": "test/2024 SS/MWSS27212.jpg" + }, + { + "item_name": "MKTS27008", + "semantic_category": "OUTERWEAR/BLAZER", + "image_path": "test/2024 SS/MKTS27008.jpg" + }, + { + "item_name": "MKTS27009", + "semantic_category": "BOTTOM/PANTS", + "image_path": "test/2024 SS/MKTS27009.jpg" + }, + { + "item_name": "MKTS27010", + "semantic_category": "OUTERWEAR/BLAZER", + "image_path": "test/2024 SS/MKTS27010.jpg" + }, + { + "item_name": "MKTS27012", + "semantic_category": "OUTERWEAR/JACKET", + "image_path": "test/2024 SS/MKTS27012.jpg" + }, + { + "item_name": "MKTS27013", + "semantic_category": "BOTTOM/SHORTS", + "image_path": "test/2024 SS/MKTS27013.jpg" + }, + { + "item_name": "MKTS27014", + "semantic_category": "ONE PIECE/TWIN SET", + "image_path": "test/2024 SS/MKTS27014.jpg" + }, + { + "item_name": "MKTS27015", + "semantic_category": "OUTERWEAR/GILET", + "image_path": "test/2024 SS/MKTS27015.jpg" + }, + { + "item_name": "MKTS27016", + "semantic_category": "BOTTOM/SHORTS", + "image_path": "test/2024 SS/MKTS27016.jpg" + }, + { + "item_name": "MKTS27027", + "semantic_category": "BOTTOM/PANTS", + "image_path": "test/2024 SS/MKTS27027.jpg" + }, + { + "item_name": "MKTS27028", + "semantic_category": "OUTERWEAR/JACKET", + "image_path": "test/2024 SS/MKTS27028.jpg" + }, + { + "item_name": "MKTS27029", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "test/2024 SS/MKTS27029.jpg" + }, + { + "item_name": "MKTS27030", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "test/2024 SS/MKTS27030.jpg" + }, + { + "item_name": "MKTS27031", + "semantic_category": "BOTTOM/SKIRT", + "image_path": "test/2024 SS/MKTS27031.jpg" + }, + { + "item_name": "MKTS27034", + "semantic_category": "TOP/SHIRT", + "image_path": "test/2024 SS/MKTS27034.jpg" + }, + { + "item_name": "MKTS27035", + "semantic_category": "ONE PIECE/TWIN SET", + "image_path": "test/2024 SS/MKTS27035.jpg" + }, + { + "item_name": "MKTS27038", + "semantic_category": "TOP/TOP", + "image_path": "test/2024 SS/MKTS27038.jpg" + }, + { + "item_name": "MKTS27039", + "semantic_category": "TOP/TOP", + "image_path": "test/2024 SS/MKTS27039.jpg" + }, + { + "item_name": "MKTS27040", + "semantic_category": "TOP/TOP", + "image_path": "test/2024 SS/MKTS27040.jpg" + }, + { + "item_name": "MKTS27045", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "test/2024 SS/MKTS27045.jpg" + }, + { + "item_name": "MKTS27046", + "semantic_category": "TOP/SHIRT", + "image_path": "test/2024 SS/MKTS27046.jpg" + }, + { + "item_name": "MKTS27050", + "semantic_category": "TOP/TOP", + "image_path": "test/2024 SS/MKTS27050.jpg" + }, + { + "item_name": "MKTS27059", + "semantic_category": "TOP/TEE", + "image_path": "test/2024 SS/MKTS27059.jpg" + }, + { + "item_name": "MKTS27061", + "semantic_category": "TOP/TOP", + "image_path": "test/2024 SS/MKTS27061.jpg" + }, + { + "item_name": "MKTS27062", + "semantic_category": "TOP/BLOUSE", + "image_path": "test/2024 SS/MKTS27062.jpg" + }, + { + "item_name": "MKTS27066", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "test/2024 SS/MKTS27066.jpg" + }, + { + "item_name": "MKTS27067", + "semantic_category": "TOP/TEE", + "image_path": "test/2024 SS/MKTS27067.jpg" + }, + { + "item_name": "MKTS27068", + "semantic_category": "ONE PIECE/TWIN SET", + "image_path": "test/2024 SS/MKTS27068.jpg" + }, + { + "item_name": "MKTS27002", + "semantic_category": "TOP/BLOUSE", + "image_path": "test/2024 SS/MKTS27002.jpg" + }, + { + "item_name": "MKTS27003", + "semantic_category": "OUTERWEAR/GILET", + "image_path": "test/2024 SS/MKTS27003.jpg" + }, + { + "item_name": "MKTS27004", + "semantic_category": "BOTTOM/PANTS", + "image_path": "test/2024 SS/MKTS27004.jpg" + }, + { + "item_name": "MKTS27011", + "semantic_category": "TOP/VEST", + "image_path": "test/2024 SS/MKTS27011.jpg" + }, + { + "item_name": "MKTS27018", + "semantic_category": "TOP/SHIRT", + "image_path": "test/2024 SS/MKTS27018.jpg" + }, + { + "item_name": "MKTS27019", + "semantic_category": "OUTERWEAR/BLAZER", + "image_path": "test/2024 SS/MKTS27019.jpg" + }, + { + "item_name": "MKTS27058", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "test/2024 SS/MKTS27058.jpg" + }, + { + "item_name": "MLSS27101", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "test/2024 SS/MLSS27101.jpg" + }, + { + "item_name": "MLSS27102", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "test/2024 SS/MLSS27102.jpg" + }, + { + "item_name": "MLSS27103", + "semantic_category": "OUTERWEAR/GILET", + "image_path": "test/2024 SS/MLSS27103.jpg" + }, + { + "item_name": "MLSS27104", + "semantic_category": "BOTTOM/SHORTS", + "image_path": "test/2024 SS/MLSS27104.jpg" + }, + { + "item_name": "MLSS27107", + "semantic_category": "JEANS/JEANS", + "image_path": "test/2024 SS/MLSS27107.jpg" + }, + { + "item_name": "MLSS27109", + "semantic_category": "JEANS/JEANS JACKET", + "image_path": "test/2024 SS/MLSS27109.jpg" + }, + { + "item_name": "MLSS27110", + "semantic_category": "JEANS/JEANS JACKET", + "image_path": "test/2024 SS/MLSS27110.jpg" + }, + { + "item_name": "MLSS27111", + "semantic_category": "JEANS/JEANS PANTS", + "image_path": "test/2024 SS/MLSS27111.jpg" + }, + { + "item_name": "MLSS27112", + "semantic_category": "JEANS/JEANS PANTS", + "image_path": "test/2024 SS/MLSS27112.jpg" + }, + { + "item_name": "MLSS27113", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "test/2024 SS/MLSS27113.jpg" + }, + { + "item_name": "MLSS27119", + "semantic_category": "JEANS/JEANS SKIRT", + "image_path": "test/2024 SS/MLSS27119.jpg" + }, + { + "item_name": "MLSS27122", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "test/2024 SS/MLSS27122.jpg" + }, + { + "item_name": "MLSS27123", + "semantic_category": "TOP/TOP", + "image_path": "test/2024 SS/MLSS27123.jpg" + }, + { + "item_name": "MLSS27128", + "semantic_category": "JEANS/JEANS JACKET", + "image_path": "test/2024 SS/MLSS27128.jpg" + }, + { + "item_name": "MLSS27129", + "semantic_category": "JEANS/JEANS SHORTS", + "image_path": "test/2024 SS/MLSS27129.jpg" + }, + { + "item_name": "MLSS27132", + "semantic_category": "TOP/TOP", + "image_path": "test/2024 SS/MLSS27132.jpg" + }, + { + "item_name": "MLSS27133", + "semantic_category": "BOTTOM/SKIRT", + "image_path": "test/2024 SS/MLSS27133.jpg" + }, + { + "item_name": "MLSS27136", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "test/2024 SS/MLSS27136.jpg" + }, + { + "item_name": "MLSS27137", + "semantic_category": "TOP/SHIRT", + "image_path": "test/2024 SS/MLSS27137.jpg" + }, + { + "item_name": "MLSS27140", + "semantic_category": "OUTERWEAR/JACKET", + "image_path": "test/2024 SS/MLSS27140.jpg" + }, + { + "item_name": "MLSS27141", + "semantic_category": "TOP/SHIRT", + "image_path": "test/2024 SS/MLSS27141.jpg" + }, + { + "item_name": "MLSS27142", + "semantic_category": "TOP/SHIRT", + "image_path": "test/2024 SS/MLSS27142.jpg" + }, + { + "item_name": "MLSS27145", + "semantic_category": "OUTERWEAR/WINDBREAKER", + "image_path": "test/2024 SS/MLSS27145.jpg" + }, + { + "item_name": "MLSS27146", + "semantic_category": "TOP/TOP", + "image_path": "test/2024 SS/MLSS27146.jpg" + }, + { + "item_name": "MLSS27147", + "semantic_category": "BOTTOM/SKIRT", + "image_path": "test/2024 SS/MLSS27147.jpg" + }, + { + "item_name": "MLSS27148", + "semantic_category": "TOP/TOP", + "image_path": "test/2024 SS/MLSS27148.jpg" + }, + { + "item_name": "MLSS27149", + "semantic_category": "BOTTOM/PANTS", + "image_path": "test/2024 SS/MLSS27149.jpg" + }, + { + "item_name": "MLSS27150", + "semantic_category": "OUTERWEAR/JACKET", + "image_path": "test/2024 SS/MLSS27150.jpg" + }, + { + "item_name": "MLSS27152", + "semantic_category": "TOP/TEE", + "image_path": "test/2024 SS/MLSS27152.jpg" + }, + { + "item_name": "MLSS27154", + "semantic_category": "TOP/TEE", + "image_path": "test/2024 SS/MLSS27154.jpg" + }, + { + "item_name": "MLSS27156", + "semantic_category": "TOP/VEST", + "image_path": "test/2024 SS/MLSS27156.jpg" + }, + { + "item_name": "MLSS27157", + "semantic_category": "OUTERWEAR/WINDBREAKER", + "image_path": "test/2024 SS/MLSS27157.jpg" + }, + { + "item_name": "MLSS27159", + "semantic_category": "BOTTOM/PANTS", + "image_path": "test/2024 SS/MLSS27159.jpg" + }, + { + "item_name": "MLSS27160", + "semantic_category": "BOTTOM/PANTS", + "image_path": "test/2024 SS/MLSS27160.jpg" + }, + { + "item_name": "MLSS27161", + "semantic_category": "KNIT/CARDIGAN", + "image_path": "test/2024 SS/MLSS27161.jpg" + }, + { + "item_name": "MLSS27162", + "semantic_category": "TOP/SHIRT", + "image_path": "test/2024 SS/MLSS27162.jpg" + }, + { + "item_name": "MLSS27167", + "semantic_category": "OUTERWEAR/JACKET", + "image_path": "test/2024 SS/MLSS27167.jpg" + }, + { + "item_name": "MLSS27173", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "test/2024 SS/MLSS27173.jpg" + }, + { + "item_name": "MLSS27174", + "semantic_category": "TOP/TOP", + "image_path": "test/2024 SS/MLSS27174.jpg" + }, + { + "item_name": "MLSS27175", + "semantic_category": "BOTTOM/PANTS", + "image_path": "test/2024 SS/MLSS27175.jpg" + }, + { + "item_name": "MLSS27176", + "semantic_category": "BOTTOM/SKIRT", + "image_path": "test/2024 SS/MLSS27176.jpg" + }, + { + "item_name": "MKTS27073", + "semantic_category": "BOTTOM/SKIRT", + "image_path": "test/2024 SS/MKTS27073.jpg" + }, + { + "item_name": "MLSS27226", + "semantic_category": "BOTTOM/SKIRT", + "image_path": "test/2024 SS/MLSS27226.jpg" + }, + { + "item_name": "MPO_SP7685", + "semantic_category": "TOP/BLOUSE", + "image_path": "test/2024 SS/MPO_SP7685.jpg" + }, + { + "item_name": "MPO_SP7686", + "semantic_category": "TOP/SHIRT", + "image_path": "test/2024 SS/MPO_SP7686.jpg" + }, + { + "item_name": "MPO_SP7687", + "semantic_category": "TOP/SHIRT", + "image_path": "test/2024 SS/MPO_SP7687.jpg" + }, + { + "item_name": "MPO_SP7692", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "test/2024 SS/MPO_SP7692.jpg" + }, + { + "item_name": "MPO_SP7693", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "test/2024 SS/MPO_SP7693.jpg" + }, + { + "item_name": "MPO_SP7694", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "test/2024 SS/MPO_SP7694.jpg" + }, + { + "item_name": "MPO_SP7696", + "semantic_category": "BOTTOM/PANTS", + "image_path": "test/2024 SS/MPO_SP7696.jpg" + }, + { + "item_name": "MPO_SP7697", + "semantic_category": "JEANS/JEANS", + "image_path": "test/2024 SS/MPO_SP7697.jpg" + }, + { + "item_name": "MPO_SP7704", + "semantic_category": "OUTERWEAR/BLAZER", + "image_path": "test/2024 SS/MPO_SP7704.jpg" + }, + { + "item_name": "MPO_SP7705", + "semantic_category": "OUTERWEAR/JACKET", + "image_path": "test/2024 SS/MPO_SP7705.jpg" + }, + { + "item_name": "MPO_SP7706", + "semantic_category": "JEANS/JEANS JACKET", + "image_path": "test/2024 SS/MPO_SP7706.jpg" + }, + { + "item_name": "MPO_SP7711", + "semantic_category": "TOP/VEST", + "image_path": "test/2024 SS/MPO_SP7711.jpg" + }, + { + "item_name": "MPO_SP7712", + "semantic_category": "TOP/TANK", + "image_path": "test/2024 SS/MPO_SP7712.jpg" + }, + { + "item_name": "MPO_SP7717", + "semantic_category": "TOP/TEE", + "image_path": "test/2024 SS/MPO_SP7717.jpg" + }, + { + "item_name": "MPO_SP7722", + "semantic_category": "TOP/TOP", + "image_path": "test/2024 SS/MPO_SP7722.jpg" + }, + { + "item_name": "MPO_SP7723", + "semantic_category": "TOP/BLOUSE", + "image_path": "test/2024 SS/MPO_SP7723.jpg" + }, + { + "item_name": "MPO_SP7726", + "semantic_category": "TOP/SHIRT", + "image_path": "test/2024 SS/MPO_SP7726.jpg" + }, + { + "item_name": "MPO_SP7729", + "semantic_category": "TOP/SHIRT", + "image_path": "test/2024 SS/MPO_SP7729.jpg" + }, + { + "item_name": "MPO_SP7731", + "semantic_category": "TOP/BLOUSE", + "image_path": "test/2024 SS/MPO_SP7731.jpg" + }, + { + "item_name": "MPO_SP7732", + "semantic_category": "TOP/SHIRT", + "image_path": "test/2024 SS/MPO_SP7732.jpg" + }, + { + "item_name": "MPO_SP7735", + "semantic_category": "TOP/SHIRT", + "image_path": "test/2024 SS/MPO_SP7735.jpg" + }, + { + "item_name": "MSE_58197", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "test/2024 SS/MSE_58197.jpg" + }, + { + "item_name": "MSE_58198", + "semantic_category": "TOP/BLOUSE", + "image_path": "test/2024 SS/MSE_58198.jpg" + }, + { + "item_name": "MSE_58199", + "semantic_category": "BOTTOM/PANTS", + "image_path": "test/2024 SS/MSE_58199.jpg" + }, + { + "item_name": "MSE_58112", + "semantic_category": "TOP/SHIRT", + "image_path": "test/2024 SS/MSE_58112.jpg" + }, + { + "item_name": "MSE_58114", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "test/2024 SS/MSE_58114.jpg" + }, + { + "item_name": "MSE_58241", + "semantic_category": "TOP/BLOUSE", + "image_path": "test/2024 SS/MSE_58241.jpg" + }, + { + "item_name": "MSE_57987", + "semantic_category": "BOTTOM/PANTS", + "image_path": "test/2024 SS/MSE_57987.jpg" + }, + { + "item_name": "MSE_57988", + "semantic_category": "OUTERWEAR/BLAZER", + "image_path": "test/2024 SS/MSE_57988.jpg" + }, + { + "item_name": "MSE_58203", + "semantic_category": "OUTERWEAR/BLAZER", + "image_path": "test/2024 SS/MSE_58203.jpg" + }, + { + "item_name": "MSE_58106", + "semantic_category": "BOTTOM/PANTS", + "image_path": "test/2024 SS/MSE_58106.jpg" + }, + { + "item_name": "MSE_58107", + "semantic_category": "TOP/SHIRT", + "image_path": "test/2024 SS/MSE_58107.jpg" + }, + { + "item_name": "MSE_58132", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "test/2024 SS/MSE_58132.jpg" + }, + { + "item_name": "MSE_58133", + "semantic_category": "TOP/SHIRT", + "image_path": "test/2024 SS/MSE_58133.jpg" + }, + { + "item_name": "MSE_58057", + "semantic_category": "OUTERWEAR/BLAZER", + "image_path": "test/2024 SS/MSE_58057.jpg" + }, + { + "item_name": "MSE_58058", + "semantic_category": "BOTTOM/PANTS", + "image_path": "test/2024 SS/MSE_58058.jpg" + }, + { + "item_name": "MSE_58222", + "semantic_category": "BOTTOM/SKIRT", + "image_path": "test/2024 SS/MSE_58222.jpg" + }, + { + "item_name": "MSE_58317", + "semantic_category": "TOP/BLOUSE", + "image_path": "test/2024 SS/MSE_58317.jpg" + }, + { + "item_name": "MSE_58045", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "test/2024 SS/MSE_58045.jpg" + }, + { + "item_name": "MSE_58275", + "semantic_category": "JEANS/JEANS DRESS", + "image_path": "test/2024 SS/MSE_58275.jpg" + }, + { + "item_name": "MSE_58276", + "semantic_category": "JEANS/JEANS JACKET", + "image_path": "test/2024 SS/MSE_58276.jpg" + }, + { + "item_name": "MSE_58277", + "semantic_category": "JEANS/JEANS SKIRT", + "image_path": "test/2024 SS/MSE_58277.jpg" + }, + { + "item_name": "MSE_58183", + "semantic_category": "TOP/BLOUSE", + "image_path": "test/2024 SS/MSE_58183.jpg" + }, + { + "item_name": "MSE_58184", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "test/2024 SS/MSE_58184.jpg" + }, + { + "item_name": "MSE_58185", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "test/2024 SS/MSE_58185.jpg" + }, + { + "item_name": "MSE_58188", + "semantic_category": "BOTTOM/SKIRT", + "image_path": "test/2024 SS/MSE_58188.jpg" + }, + { + "item_name": "MSE_54385", + "semantic_category": "BOTTOM/PANTS", + "image_path": "test/2024 SS/MSE_54385.jpg" + }, + { + "item_name": "MSE_56720", + "semantic_category": "OUTERWEAR/BLAZER", + "image_path": "test/2024 SS/MSE_56720.jpg" + }, + { + "item_name": "MSE_58174", + "semantic_category": "TOP/TEE", + "image_path": "test/2024 SS/MSE_58174.jpg" + }, + { + "item_name": "MSE_58044", + "semantic_category": "OUTERWEAR/JACKET", + "image_path": "test/2024 SS/MSE_58044.jpg" + }, + { + "item_name": "MSE_58361", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "test/2024 SS/MSE_58361.jpg" + }, + { + "item_name": "MSE_58495", + "semantic_category": "TOP/SHIRT", + "image_path": "test/2024 SS/MSE_58495.jpg" + }, + { + "item_name": "MSE_58536", + "semantic_category": "ACCESSORY/BAG", + "image_path": "test/2024 SS/MSE_58536.jpg" + }, + { + "item_name": "MSE_58653", + "semantic_category": "TOP/SHIRT", + "image_path": "test/2024 SS/MSE_58653.jpg" + }, + { + "item_name": "MSE_58287", + "semantic_category": "BOTTOM/SHORTS", + "image_path": "test/2024 SS/MSE_58287.jpg" + }, + { + "item_name": "MSE_58289", + "semantic_category": "OUTERWEAR/BLAZER", + "image_path": "test/2024 SS/MSE_58289.jpg" + }, + { + "item_name": "MSE_58323", + "semantic_category": "TOP/BLOUSE", + "image_path": "test/2024 SS/MSE_58323.jpg" + }, + { + "item_name": "MSE_58421", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "test/2024 SS/MSE_58421.jpg" + }, + { + "item_name": "MSE_58451", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "test/2024 SS/MSE_58451.jpg" + }, + { + "item_name": "MSE_58473", + "semantic_category": "KNIT/KNIT TOP", + "image_path": "test/2024 SS/MSE_58473.jpg" + }, + { + "item_name": "MSE_58498", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "test/2024 SS/MSE_58498.jpg" + }, + { + "item_name": "MSE_58499", + "semantic_category": "TOP/SHIRT", + "image_path": "test/2024 SS/MSE_58499.jpg" + }, + { + "item_name": "MSE_58510", + "semantic_category": "TOP/SHIRT", + "image_path": "test/2024 SS/MSE_58510.jpg" + }, + { + "item_name": "MSE_58516", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "test/2024 SS/MSE_58516.jpg" + }, + { + "item_name": "MSE_58518", + "semantic_category": "BOTTOM/SKIRT", + "image_path": "test/2024 SS/MSE_58518.jpg" + }, + { + "item_name": "MSE_58530", + "semantic_category": "ONE PIECE/DRESS", + "image_path": "test/2024 SS/MSE_58530.jpg" + }, + { + "item_name": "MSE_58540", + "semantic_category": "TOP/SHIRT", + "image_path": "test/2024 SS/MSE_58540.jpg" + }, + { + "item_name": "MSE_58547", + "semantic_category": "TOP/TEE", + "image_path": "test/2024 SS/MSE_58547.jpg" + }, + { + "item_name": "MSE_58618", + "semantic_category": "TOP/BLOUSE", + "image_path": "test/2024 SS/MSE_58618.jpg" + }, + { + "item_name": "MSE_58655", + "semantic_category": "TOP/SHIRT", + "image_path": "test/2024 SS/MSE_58655.jpg" + }, + { + "item_name": "MSE_58658", + "semantic_category": "TOP/TEE", + "image_path": "test/2024 SS/MSE_58658.jpg" + } + ] +} \ No newline at end of file diff --git a/app/service/outfit_matcher/test_param/test.json b/app/service/outfit_matcher/test_param/test.json new file mode 100644 index 0000000..a62fd97 --- /dev/null +++ b/app/service/outfit_matcher/test_param/test.json @@ -0,0 +1,19 @@ +{ + "topk": 1, + "max_outfits": 5, + "is_best": true, + "query": [ + { + "image_path": "mi-tu/26/BOTTOM/PANTS/MKTS27000_0BLK.jpg/3f4676db-98a1-44d4-947f-9d1f59828629.jpg", + "item_name": "MKTS27000", + "semantic_category": "BOTTOM/PANTS" + } + ], + "database": [ + { + "image_path": "mi-tu/26/TOP/BLOUSE/MKTS27002_0WHT.jpg/131cc29e-8f70-4134-a0e8-82f826b00058.jpg", + "item_name": "MKTS27002", + "semantic_category": "TOP/BLOUSE" + } + ] +} \ No newline at end of file diff --git a/app/service/similar_match/__init__.py b/app/service/similar_match/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/app/service/similar_match/service.py b/app/service/similar_match/service.py new file mode 100644 index 0000000..34495d9 --- /dev/null +++ b/app/service/similar_match/service.py @@ -0,0 +1,114 @@ +import io +import json +from pprint import pprint + +import numpy as np +import tritonclient.http as httpclient +from PIL import Image +from minio import Minio +from pymilvus import MilvusClient + +from app.core.config import * +from torchvision import transforms + +from app.schemas.similar_match import SimilarMatchMItem +from app.service.utils.decorator import RunTime + + +class SimilarMatch: + def __init__(self, request_data): + self.minio_client = Minio( + f"{MINIO_IP}:{MINIO_PORT}", + access_key=MINIO_ACCESS, + secret_key=MINIO_SECRET, + secure=MINIO_SECURE) + self.triton_client = httpclient.InferenceServerClient(url=f"{OM_TRITON_IP}:{OM_TRITON_PORT}") + self.image_path = request_data.image_path + self.result_number = request_data.result_number + self.features = self.get_features() + + @staticmethod + def resize_image(img): + """ + Args: + img: ndarray (height, width, channel) + """ + image_transforms = transforms.Compose([ + transforms.Resize(112), + transforms.CenterCrop(112), + transforms.ToTensor(), + transforms.Normalize(mean=[0.485, 0.456, 0.406], + std=[0.229, 0.224, 0.225]), + ]) + resized_img = image_transforms(img).numpy() + return resized_img + + def load_image(self, img_path): + # 从 MinIO 中获取对象(图像文件) + image_data = self.minio_client.get_object(img_path.split("/", 1)[0], img_path.split("/", 1)[1]) + # 读取图像数据并转换为 PIL 图像对象 + pil_image = Image.open(io.BytesIO(image_data.data)).convert("RGB") + # 将 PIL 图像转换为 NumPy 数组 + # image_array = np.array(pil_image) + return pil_image + + def preprocess(self, img_path): + image = self.load_image(img_path) + image = self.resize_image(image) + image = np.stack([[image]], axis=0) + + category = np.stack([[1, 6]], axis=0) + + mask = np.zeros((1, 1), dtype=np.float32) + return image, category, mask + + def get_features(self): + image, category, mask = self.preprocess(self.image_path) + # 输入集 + inputs = [ + httpclient.InferInput("input__0", image.shape, datatype="FP32"), + httpclient.InferInput("input__1", category.shape, datatype="INT16"), + httpclient.InferInput("input__2", mask.shape, datatype="FP32"), + ] + inputs[0].set_data_from_numpy(image.astype(np.float32), binary_data=True) + inputs[1].set_data_from_numpy(category.astype(np.int16), binary_data=True) + inputs[2].set_data_from_numpy(mask.astype(np.float32), binary_data=True) + # 输出集 + outputs = [ + httpclient.InferRequestedOutput("output__0", binary_data=True), + httpclient.InferRequestedOutput("output__1", binary_data=True) + ] + results = self.triton_client.infer(model_name="outfit_matcher_type_aware", inputs=inputs, outputs=outputs) + # 推理 + # 取结果 + features = results.as_numpy("output__1") # Shape (N, 64) + return features + + @RunTime + def match_features(self): + # 连接milvus + # 连接milvus + client = MilvusClient(uri="http://10.1.1.240:19530", db_name="mixi") + try: + search_response = client.search( + collection_name="mixi_outfit", # Replace with the actual name of your collection + # Replace with your query vector + data=[self.features[0]], + limit=self.result_number, # Max. number of search results to return + output_fields=["id", "image_path"], # Search parameters + ) + return search_response + finally: + client.close() + + +if __name__ == '__main__': + request_data = SimilarMatchMItem(image_path="test/top/test_top1.jpg", result_number=10) + + service = SimilarMatch(request_data) + search_response = service.match_features() + response_data = [] + for response in search_response[0]: + response_data.append(response['entity']) + + pprint(response_data) diff --git a/app/service/utils/decorator.py b/app/service/utils/decorator.py new file mode 100644 index 0000000..2e563fc --- /dev/null +++ b/app/service/utils/decorator.py @@ -0,0 +1,15 @@ +import time +import logging + + +def RunTime(func): + def wrapper(*args, **kwargs): + t1 = time.time() + res = func(*args, **kwargs) + t2 = time.time() + if t2 - t1 > 0.05: + logging.info(f"function:【{func.__name__}】,runtime:【{str(t2 - t1)}】s") + print(f"function:【{func.__name__}】,runtime:【{str(t2 - t1)}】s") + return res + + return wrapper diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..b3dfd4d --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,9 @@ +version: "3" +services: + trinity_mixi: + image: "trinity_client_mixi:latest" + container_name: trinity_mixi + volumes: + - ./trinity_client_mixi:/trinity + ports: + - "10100:4562" \ No newline at end of file diff --git a/gunicorn_config.py b/gunicorn_config.py new file mode 100644 index 0000000..c85e8ad --- /dev/null +++ b/gunicorn_config.py @@ -0,0 +1,38 @@ +# 多进程 + +"""gunicorn+gevent 的配置文件""" + +# 预加载资源 +preload_app = True +# 绑定 ip + 端口 +bind = "0.0.0.0:4562" +# 进程数 = cup数量 * 2 + 1 +workers = 1 + +# 线程数 = cup数量 * 2 +threads = 2 + +# 等待队列最大长度,超过这个长度的链接将被拒绝连接 +backlog = 2048 + +# 工作模式--协程 +worker_class = "uvicorn.workers.UvicornWorker" + +# 最大客户客户端并发数量,对使用线程和协程的worker的工作有影响 +# 服务器配置设置的值 1200:中小型项目 上万并发: 中大型 +# 服务器硬件:宽带+数据库+内存 +# 服务器的架构:集群 主从 +worker_connections = 1200 + +# 进程名称 +proc_name = 'gunicorn.pid' +# 进程pid记录文件 +pidfile = 'app_run.log' +# 日志等级 +loglevel = 'info' +# 日志文件名 +logfile = 'info.log' +# 访问记录 +accesslog = 'access.log' +# 访问记录格式 +access_log_format = '%(h)s %(t)s %(U)s %(q)s' diff --git a/logging_env.py b/logging_env.py new file mode 100644 index 0000000..ce4e9da --- /dev/null +++ b/logging_env.py @@ -0,0 +1,51 @@ +from app.core.config import LOGS_PATH + +LOGGER_CONFIG_DICT = { + "version": 1, + "disable_existing_loggers": False, + "formatters": { + "simple": {"format": "%(asctime)s %(filename)s [line:%(lineno)d] %(levelname)s %(message)s"} + }, + "handlers": { + "console": { + "class": "logging.StreamHandler", + "level": "DEBUG", + "formatter": "simple", + "stream": "ext://sys.stdout", + }, + "info_file_handler": { + "class": "logging.handlers.RotatingFileHandler", + "level": "INFO", + "formatter": "simple", + "filename": LOGS_PATH, + "maxBytes": 10485760, + "backupCount": 50, + "encoding": "utf8", + }, + "error_file_handler": { + "class": "logging.handlers.RotatingFileHandler", + "level": "ERROR", + "formatter": "simple", + "filename": LOGS_PATH, + "maxBytes": 10485760, + "backupCount": 20, + "encoding": "utf8", + }, + "debug_file_handler": { + "class": "logging.handlers.RotatingFileHandler", + "level": "DEBUG", + "formatter": "simple", + "filename": LOGS_PATH, + "maxBytes": 10485760, + "backupCount": 50, + "encoding": "utf8", + }, + }, + "loggers": { + "my_module": {"level": "INFO", "handlers": ["console"], "propagate": "no"} + }, + "root": { + "level": "INFO", + "handlers": ["error_file_handler", "info_file_handler", "debug_file_handler", "console"], + }, +} diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..0eb1ed8aa87a511d859a46dc713c3dfa76dfe559 GIT binary patch literal 986 zcmZXTTTjA35QXR2#Q)HQ=W;6un)pkM59OwfP>?Ple_s90Y!`^8*`=M!nKNgGpYNSj zw&vN|$)0%z*0-(=IeojgJM24KT5WSXTF(2~g1uv{J$gjkqsMk_+GYgXgBd(#4szxB z!CtKNO0S-&3L`5nb>^U!WG;vfUU|cJprW`1$C-Jia;BW3jjG^M5hL~!>_Q&9uYq-C zAI>J{7UCQDii}-e`&4HO{57>I@}d^qiyqRVwgVV5q7uT`yB~P9oo5T9alf#2qIc!? zz%9j7{-DK=S|89@wYTUH^^Gi}!eVf%e-2+Mqv;$ke3cO^?(uxWcnP0y!>PcZrYp>j zSFFAJjQX|5$5~}j**HzQ!+J*PSfvf%v%Fao?m& X>S^fSQM+$vF!k>}!sNPh>bq~h$z_@Y literal 0 HcmV?d00001 From b7a8dd9c210efe9c521e07e9705365048233a049 Mon Sep 17 00:00:00 2001 From: zhouchengrong Date: Thu, 28 Mar 2024 10:31:10 +0800 Subject: [PATCH 26/26] =?UTF-8?q?attribute=20=E5=AD=97=E6=AE=B5=E5=90=8D?= =?UTF-8?q?=E8=A7=84=E8=8C=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 --- 1 file changed, 3 deletions(-) diff --git a/.gitignore b/.gitignore index e49de7d..8ec5b9c 100644 --- a/.gitignore +++ b/.gitignore @@ -65,7 +65,4 @@ uwsgi .conf *.jpg *.zip -app/logs/errors.log -app/logs/info.log -app/logs/debug.log test \ No newline at end of file