Qwen 2.5 3B Ошибка индекса VLM в строке train.train()Python

Программы на Python
Ответить
Anonymous
 Qwen 2.5 3B Ошибка индекса VLM в строке train.train()

Сообщение Anonymous »

Я пытаюсь точно настроить Qwen 2.5 3B VLM на наборе данных шахматных фигур, обнимая лицо.
Набор данных: Trelis/chess_pieces
Однако я получаю эту ошибку индекса в последней строке тренера:

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

IndexError                                Traceback (most recent call last)
/tmp/ipython-input-773422404.py in ()
----> 1 trainer_stats = trainer.train()

8 frames
/usr/local/lib/python3.12/dist-packages/transformers/models/qwen2_5_vl/processing_qwen2_5_vl.py in __call__(self, images, text, videos, **kwargs)
175             for i in range(len(text)):
176                 while self.image_token in text[i]:
--> 177                     num_image_tokens = image_grid_thw[index].prod() // merge_length
178                     text[i] = text[i].replace(self.image_token, "" * num_image_tokens, 1)
179                     index += 1

IndexError: index 2 is out of bounds for dimension 0 with size 2
Мне очень нужна помощь, так как я все перепробовал, и ничего не помогает.
Также, на всякий случай, это моя функция сортировки:

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

def collate_fn(samples):
texts = []
images = []

for sample in samples:
prompt_text = processor.apply_chat_template(sample['text'], tokenize=False)
texts.append(prompt_text)
images.append(sample['image'])

inputs = processor(
text=texts,
images=images,
return_tensors='pt',
padding=True
)

labels=inputs['input_ids'].clone()
labels[labels == processor.tokenizer.pad_token_id] = -100
inputs['labels'] = labels

return inputs
Вы также можете просмотреть мой блокнот, чтобы проверить, есть ли какие-либо проблемы, это не займет много времени, поскольку блокнот небольшой.
Вот ссылка на блокнот: https://colab.research.google.com/drive ... sp=sharing
Прошу кого-нибудь помочь мне исправить это, это действительно очень поможет

Подробнее здесь: https://stackoverflow.com/questions/798 ... iner-train
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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