Модель CLIP из модуля open_clip возвращает одно вложение для 77 токенов.Python

Программы на Python
Anonymous
Модель CLIP из модуля open_clip возвращает одно вложение для 77 токенов.

Сообщение Anonymous »

Я использую модуль open_clip для получения вложений текста из модели CLIP. Когда я маркирую список одной текстовой последовательности и передаю его методу модели encode_text, я ожидаю получить вложения формы [77, 1024]. Однако на выходе я получаю форму [1, 1024].
Вот соответствующий код:

Код: Выделить всё

import open_clip

model, preprocess_train, preprocess_val = open_clip.create_model_and_transforms('hf-hub:laion/CLIP-ViT-H-14-laion2B-s32B-b79K')
tokenizer = open_clip.get_tokenizer('hf-hub:laion/CLIP-ViT-H-14-laion2B-s32B-b79K')

text_inputs = ["cat"]
tokenized_inputs = tokenizer(text_inputs)
print(len(tokenized_inputs))  # This prints 77

text_embeddings = model.encode_text(tokenized_inputs)
print(text_embeddings.shape)  # This prints [1, 1024]
Я что-то упускаю при использовании токенизатора или метода encode_text модели? Как я могу получить отдельные вложения для каждой из 77 последовательностей токенов? Я ожидаю [77, 1024]


Подробнее здесь: https://stackoverflow.com/questions/769 ... -77-tokens

Вернуться в «Python»