พื้นที่เก็บข้อมูลนี้ได้รับการออกแบบมาเพื่อประเมิน Marqo-FashionCLIP และ Marqo-FashionSigLIP จากชุดข้อมูลการวัดประสิทธิภาพสาธารณะเจ็ดชุด อ่านเพิ่มเติมเกี่ยวกับโมเดลต่างๆ ในบล็อกของเรา
เราเฉลี่ยประสิทธิภาพของงานทั่วไปสามงานในชุดข้อมูล: ข้อความเป็นรูปภาพ หมวดหมู่ต่อผลิตภัณฑ์ และหมวดหมู่ย่อยต่อผลิตภัณฑ์ ดังที่แสดงด้านล่าง Marqo-FashionCLIP และ Marqo-FashionSigLIP มีประสิทธิภาพเหนือกว่าทั้งโมเดล OpenCLIP ที่ได้รับการฝึกมาแล้วและโมเดล CLIP แฟชั่นที่ล้ำสมัย สำหรับการเปรียบเทียบประสิทธิภาพที่ครอบคลุมมากขึ้น โปรดดูที่ลีดเดอร์บอร์ด
ข้อความเป็นรูปภาพ (เฉลี่ยจาก 6 ชุดข้อมูล)
แบบอย่าง | ค่าเฉลี่ยการเรียกคืน | เรียกคืน@1 | เรียกคืน@10 | รพ |
---|---|---|---|---|
Marqo-FashionSigLIP | 0.231 | 0.121 | 0.340 | 0.239 |
Marqo-FashionCLIP | 0.192 | 0.094 | 0.290 | 0.200 |
แฟชั่นคลิป2.0 | 0.163 | 0.077 | 0.249 | 0.165 |
OpenFashionCLIP | 0.132 | 0.060 | 0.204 | 0.135 |
ViT-B-16-laion2b_s34b_b88k | 0.174 | 0.088 | 0.261 | 0.180 |
ViT-B-16-SigLIP-webli | 0.212 | 0.111 | 0.314 | 0.214 |
หมวดหมู่ต่อผลิตภัณฑ์ (เฉลี่ยจาก 5 ชุดข้อมูล)
แบบอย่าง | เฉลี่ยP | ป@1 | ป@10 | รพ |
---|---|---|---|---|
Marqo-FashionSigLIP | 0.737 | 0.758 | 0.716 | 0.812 |
Marqo-FashionCLIP | 0.705 | 0.734 | 0.676 | 0.776 |
แฟชั่นคลิป2.0 | 0.684 | 0.681 | 0.686 | 0.741 |
OpenFashionCLIP | 0.646 | 0.653 | 0.639 | 0.720 |
ViT-B-16-laion2b_s34b_b88k | 0.662 | 0.673 | 0.652 | 0.743 |
ViT-B-16-SigLIP-webli | 0.688 | 0.690 | 0.685 | 0.751 |
หมวดหมู่ย่อยถึงผลิตภัณฑ์ (เฉลี่ยจากชุดข้อมูล 4 ชุด)
แบบอย่าง | เฉลี่ยP | ป@1 | ป@10 | รพ |
---|---|---|---|---|
Marqo-FashionSigLIP | 0.725 | 0.767 | 0.683 | 0.811 |
Marqo-FashionCLIP | 0.707 | 0.747 | 0.667 | 0.772 |
แฟชั่นคลิป2.0 | 0.657 | 0.676 | 0.638 | 0.733 |
OpenFashionCLIP | 0.598 | 0.619 | 0.578 | 0.689 |
ViT-B-16-laion2b_s34b_b88k | 0.638 | 0.651 | 0.624 | 0.712 |
ViT-B-16-SigLIP-webli | 0.643 | 0.643 | 0.643 | 0.726 |
เราเผยแพร่โมเดลของเราบน HuggingFace: Marqo-FashionCLIP และ Marqo-FashionSigLIP เรายังมี Hugging Face Space Demo ของโมเดลที่ใช้งานจริงของเราด้วย: การจัดหมวดหมู่ด้วย Marqo-FashionSigLIP
คุณสามารถโหลดโมเดลที่มี transformers
ได้โดย
from transformers import AutoModel , AutoProcessor
model = AutoModel . from_pretrained ( 'Marqo/marqo-fashionCLIP' , trust_remote_code = True )
processor = AutoProcessor . from_pretrained ( 'Marqo/marqo-fashionCLIP' , trust_remote_code = True )
และ
from transformers import AutoModel , AutoProcessor
model = AutoModel . from_pretrained ( 'Marqo/marqo-fashionSigLIP' , trust_remote_code = True )
processor = AutoProcessor . from_pretrained ( 'Marqo/marqo-fashionSigLIP' , trust_remote_code = True )
แล้ว,
import torch
from PIL import Image
image = [ Image . open ( "docs/fashion-hippo.png" )]
text = [ "a hat" , "a t-shirt" , "shoes" ]
processed = processor ( text = text , images = image , padding = 'max_length' , return_tensors = "pt" )
with torch . no_grad ():
image_features = model . get_image_features ( processed [ 'pixel_values' ], normalize = True )
text_features = model . get_text_features ( processed [ 'input_ids' ], normalize = True )
text_probs = ( 100.0 * image_features @ text_features . T ). softmax ( dim = - 1 )
print ( "Label probs:" , text_probs )
เราเผยแพร่บทความนี้ซึ่งแสดงการค้นหาอีคอมเมิร์ซอย่างง่ายด้วยชุดข้อมูลแฟชั่น หากคุณต้องการดูโมเดลที่ใช้งานจริง
คุณสามารถโหลดโมเดลด้วย open_clip
by
import open_clip
model , preprocess_train , preprocess_val = open_clip . create_model_and_transforms ( 'hf-hub:Marqo/marqo-fashionCLIP' )
tokenizer = open_clip . get_tokenizer ( 'hf-hub:Marqo/marqo-fashionCLIP' )
และ
import open_clip
model , preprocess_train , preprocess_val = open_clip . create_model_and_transforms ( 'hf-hub:Marqo/marqo-fashionSigLIP' )
tokenizer = open_clip . get_tokenizer ( 'hf-hub:Marqo/marqo-fashionSigLIP' )
แล้ว,
import torch
from PIL import Image
image = preprocess_val ( Image . open ( "docs/fashion-hippo.png" )). unsqueeze ( 0 )
text = tokenizer ([ "a hat" , "a t-shirt" , "shoes" ])
with torch . no_grad (), torch . cuda . amp . autocast ():
image_features = model . encode_image ( image , normalize = True )
text_features = model . encode_text ( text , normalize = True )
text_probs = ( 100.0 * image_features @ text_features . T ). softmax ( dim = - 1 )
print ( "Label probs:" , text_probs )
หากต้องการปรับใช้บน Marqo Cloud (แนะนำ):
ลงทะเบียนเพื่อ Marqo Cloud
ติดตั้ง Marqo และไคลเอนต์ Marqo python:
pip install marqo
import marqo
settings = {
"type" : "unstructured" ,
"model" : "marqo-fashion-clip" , # model name
"modelProperties" : {
"name" : "ViT-B-16" , # model architecture
"dimensions" : 512 , # embedding dimensions
"url" : "https://marqo-gcl-public.s3.us-west-2.amazonaws.com/marqo-fashionCLIP/marqo_fashionCLIP.pt" , # model weights
"type" : "open_clip" # loading library
},
}
api_key = "your_api_key" # replace with your api key (https://www.marqo.ai/blog/finding-my-marqo-api-key)
mq = marqo . Client ( "https://api.marqo.ai" , api_key = api_key )
mq . create_index ( "fashion-index" , settings_dict = settings )
# triggers model download
mq . index ( "fashion-index" ). search ( "black dress" )
ดูเอกสารฉบับเต็มสำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการเพิ่มเอกสารและการค้นหา
ติดตั้ง PyTorch ก่อนแล้วจึงรัน
pip install -r requirements.txt
ในการประเมิน Marqo-FashionCLIP ให้รันคำสั่งนี้
python eval.py
--dataset-config ./configs/ ${DATASET} .json
--model-name Marqo/marqo-fashionCLIP
--run-name Marqo-FashionCLIP
DATASET
สามารถเป็นหนึ่งใน ['deepfashion_inshop', 'deepfashion_multimodal', 'fashion200k', 'KAGL', 'atlas', 'polyvore' 'iMaterialist']ในการประเมิน Marqo-FashionSigLIP ให้รันคำสั่งนี้
python eval.py
--dataset-config ./configs/ ${DATASET} .json
--model-name Marqo/marqo-fashionSigLIP
--run-name Marqo-FashionSigLIP
DATASET
สามารถเป็นหนึ่งใน ['deepfashion_inshop', 'deepfashion_multimodal', 'fashion200k', 'KAGL', 'atlas', 'polyvore' 'iMaterialist']สคริปต์เพื่อประเมินโมเดลอื่นๆ รวมถึง FashionCLIP 2.0 และ OpenFashionCLIP สามารถพบได้ในไดเร็กทอรีสคริปต์
เรารวบรวมชุดข้อมูลแฟชั่นสาธารณะหลายรูปแบบ 7 ชุดและอัปโหลดไปยัง HuggingFace: Atlas, DeepFashion (ในร้านค้า), DeepFashion (Multimodal), Fashion200k, iMaterialist, KAGL และ Polyvore ชุดข้อมูลแต่ละชุดมีข้อมูลเมตาที่แตกต่างกัน ดังนั้นงานสำหรับแต่ละชุดข้อมูลจะถูกจัดเก็บเป็นไฟล์ json ในไดเร็กทอรีสคริปต์ โปรดดูบล็อกของเราสำหรับข้อมูลเพิ่มเติมเกี่ยวกับชุดข้อมูลแต่ละชุด
หากต้องการต่ออายุ LEADERBOARD.md และสรุปผลลัพธ์ของโมเดลต่างๆ ภายในเครื่อง ให้รันคำสั่งนี้
python summarize_results.py
@software{Jung_Marqo-FashionCLIP_and_Marqo-FashionSigLIP_2024,
author = {Jung, Myong Chol and Clark, Jesse},
month = aug,
title = {{Marqo-FashionCLIP and Marqo-FashionSigLIP}},
url = {https://github.com/marqo-ai/marqo-FashionCLIP},
version = {1.0.0},
year = {2024}
}