| Name | Link |
|---|---|
| FashionClip -Feature -Extraktion und Klassifizierung | |
| Tutorial - FashionClip -Bewertung mit Abrechnung |
Update (10/03/23): Wir haben das Modell aktualisiert! Wir fanden heraus, dass Laion/Clip-Vit-B-32-Laion2B-S34B-B79K-Checkpoint (danke Bin!) Besser als Original OpenAI-Clip auf Mode funktioniert hat. Wir stimmen also eine neuere (und bessere!) Version von FashionClip (fortan FashionClip 2.0), während wir die Architektur gleich halten. Wir postulieren, dass die von laion/CLIP-ViT-B-32-laion2B-s34B-b79K zugegebenen Perofrmance-Gewinnen auf die erhöhten Trainingsdaten (5x OpenAI-Clip-Daten) zurückzuführen sind. Unsere These bleibt jedoch gleich-fein abgestimmter laion/CLIP in unserem Modeset hat die Null-Shot-Perofrmance über unsere Benchmarks verbessert. Siehe die folgende Tabelle zum Vergleich der gewichteten Makro -F1 -Punktzahl über die Modelle hinweg. `
| Modell | FMNIST | Kagl | TIEF |
|---|---|---|---|
| Openai Clip | 0,66 | 0,63 | 0,45 |
| FashionClip | 0,74 | 0,67 | 0,48 |
| Laion Clip | 0,78 | 0,71 | 0,58 |
| FashionClip 2.0 | 0,83 | 0,73 | 0,62 |
Wir sind jetzt auf Umarmung! Das Modell ist hier verfügbar.
Wir sind jetzt in Nature Scientific Reports!
@Article{Chia2022,
title="Contrastive language and vision learning of general fashion concepts",
author="Chia, Patrick John
and Attanasio, Giuseppe
and Bianchi, Federico
and Terragni, Silvia
and Magalh{~a}es, Ana Rita
and Goncalves, Diogo
and Greco, Ciro
and Tagliabue, Jacopo",
journal="Scientific Reports",
year="2022",
month="Nov",
day="08",
volume="12",
number="1",
pages="18958",
abstract="The steady rise of online shopping goes hand in hand with the development of increasingly complex ML and NLP models. While most use cases are cast as specialized supervised learning problems, we argue that practitioners would greatly benefit from general and transferable representations of products. In this work, we build on recent developments in contrastive learning to train FashionCLIP, a CLIP-like model adapted for the fashion industry. We demonstrate the effectiveness of the representations learned by FashionCLIP with extensive tests across a variety of tasks, datasets and generalization probes. We argue that adaptations of large pre-trained models such as CLIP offer new perspectives in terms of scalability and sustainability for certain types of players in the industry. Finally, we detail the costs and environmental impact of training, and release the model weights and code as open source contribution to the community.",
issn="2045-2322",
doi="10.1038/s41598-022-23052-9",
url="https://doi.org/10.1038/s41598-022-23052-9"
}
Wir warten auf die offizielle Veröffentlichung des Farfetch-Datensatzes, auf dem fein abgestimmte Modellgewichte, vorverarbeitete Bild- und Textvektoren veröffentlicht werden. In der Zwischenzeit verwenden wir derzeit die Implementierung von CLIP mit der Umarmung und können die Modellgewichte von OpenAI verwenden, indem wir der Standard -Hugginface -Namenskonvention folgen (dh fclip = FashionCLIP('<username>/<repo_name>', ... ) ). Wir unterstützen auch private Repositories (dh fclip = FashionCLIP('<username>/<repo_name>', auth_token=<AUTH_TOKEN>, ... ) ).
Weitere Informationen finden Sie weiter unten!
FashionCLIP ist ein Clip-artiges Modell, das für die Modebranche gut abgestimmt ist. Wir fine Tune CLIP (Radford et al., 2021 auf über 700k <Bild, Text> Paare aus dem Farfetch -Datensatz 1 .
Wir bewerten FashionClip, indem wir sie auf offene Probleme in der Industrie wie Abruf, Klassifizierung und Mode -Parsen anwenden. Unsere Ergebnisse zeigen, dass die Feinabstimmung domänenspezifische Konzepte erfasst und in Null-Shot-Szenarien verallgemeinert wird. Wir ergänzen auch quantitative Tests mit qualitativen Analysen und bieten vorläufige Einblicke in die Art und Weise, wie Konzepte, die in einem visuellen Raum beruhen, die sprachliche Verallgemeinerung auferlegt. Weitere Informationen finden Sie in unserer Zeitung.
In diesem Repository finden Sie eine API für die Interaktion mit FashionCLIP und eine interaktive Demo, die mit Streamlit (in Kürze!) Erstellt wurde, die die Fähigkeiten von FashionCLIP zeigt.
Benötigen Sie einen schnellen Weg, um Einbettungen zu generieren? Möchten Sie die Abrufleistung testen?
Zunächst sollten Sie dies mit PIP schnell installieren können.
$ pip install fashion-clip
Wenn Sie Listen von Texten und Bildpfaden haben, ist es sehr einfach, Einbettungen zu generieren:
from fashion_clip . fashion_clip import FashionCLIP
fclip = FashionCLIP ( 'fashion-clip' )
# we create image embeddings and text embeddings
image_embeddings = fclip . encode_images ( images , batch_size = 32 )
text_embeddings = fclip . encode_text ( texts , batch_size = 32 )
# we normalize the embeddings to unit norm (so that we can use dot product instead of cosine similarity to do comparisons)
image_embeddings = image_embeddings / np . linalg . norm ( image_embeddings , ord = 2 , axis = - 1 , keepdims = True )
text_embeddings = text_embeddings / np . linalg . norm ( text_embeddings , ord = 2 , axis = - 1 , keepdims = True )Verwenden Sie unser Colab -Notizbuch, um mehr Funktionen zu sehen.
from PIL import Image
import requests
from transformers import CLIPProcessor , CLIPModel
model = CLIPModel . from_pretrained ( "patrickjohncyh/fashion-clip" )
processor = CLIPProcessor . from_pretrained ( "patrickjohncyh/fashion-clip" )
image = Image . open ( "images/image1.jpg" )
inputs = processor ( text = [ "a photo of a red shoe" , "a photo of a black shoe" ],
images = image , return_tensors = "pt" , padding = True )
outputs = model ( ** inputs )
logits_per_image = outputs . logits_per_image # this is the image-text similarity score
probs = logits_per_image . softmax ( dim = 1 )
print ( probs )
image . resize (( 224 , 224 )) Installieren Sie das fashion-clip -Paket aus dem Projekt Root lokal mit
$ pip install -e .
Es gibt zwei Hauptabstraktionen, um die Einsatz von FashionCLIP zu erleichtern.
Erstens ist die FCLIPDataset -Klasse, die Informationen zu einem bestimmten Katalog zusammenfasst und Informationen für FashionCLIP enthüllt. Darüber hinaus bietet es Helferfunktionen für die schnelle Erkundung und Visualisierung von Daten. Die Hauptinitialisierungsparameter sind
name: str -> Name of dataset
image_source_path: str -> absolute path to images (can be local or s3)
image_source_type: str -> type of source (i.e. local or s3)
catalog: List[dict] = None -> list of dicts containing at miniumum the keys ['id', 'image', 'caption']
Für die Benutzerfreundlichkeit bietet die API auch Zugriff auf den Datensatz ( sobald sie amtiert ), die im Papier zum Training FahionCLIP verwendet wird, indem einfach der entsprechende Katalogname angegeben wird.
from fashion_clip import FCLIPDataset
dataset = FCLIPDataset(name='FF',
image_source_path='path/to/images',
image_source_type='local')
from fashion_clip import FCLIPDataset
my_catalog = [{'id': 1, 'image': 'x.jpg', 'caption': 'image x'}]
dataset = FCLIPDataset(name='my_dataset',
image_source_path='path/to/images',
image_source_type='local',
catalog=my_catalog)
Die zweite Abstraktion ist die FashionCLIP Klasse, die einen Namen des Face-Clip-Modells und einen FCLIPDataset annimmt und bequeme Funktionen für die Ausführung von Aufgaben wie multimodalem Abruf, Klassifizierung und Lokalisierung von Null-Shots bietet. Die Initialisierungsparameter für FashionCLIP sind wie folgt:
model_name: str -> Name of model OR path to local model
dataset: FCLIPDataset -> Dataset,
normalize: bool -> option to convert embeddings to unit norm
approx: bool -> option to use approximate nearest neighbors
Ähnlich wie bei der Abstraktion FCLIPDataset haben wir ein vorgebildetes FashionCLIP Modell aus dem Papier aufgenommen, das hier gehostet wird. Wenn ein unbekannter Datensatz- und Modellkombination empfangen wird, werden die Bild- und Bildunterschriftenvektoren bei Objektinstanziierung generiert, ansonsten werden vorbereitete Vektoren/Einbettungen aus S3 gezogen.
from fashion_clip import FCLIPDataset, FashionCLIP
dataset = FCLIPDataset(name='FF',
image_source_path='path/to/images',
image_source_type='local')
fclip = FashionCLIP('fasihon-clip', ff_dataset)
Weitere Informationen zur Verwendung des Pakets finden Sie im dazugehörigen Notebook!
Ausstehende offizielle Veröffentlichung. ↩