@ILoveAsm

VitHybrid не может добавить позиционные эмбеддинги. Что делать?

Копался в документации HF и набрел на интересную модель под названием ViTHybrid, захотел попробовать обучить, создаю экземпляр, указываю конфиг, меняю лишь параметр patch_size на 12. Запускаю код и получаю ошибку о несовпадении размерности эмбеддингов и позиционных эмбеддингов.
Сама ошибка:

984823104
Traceback (most recent call last):
  File "C:\Users\olgae\PycharmProjects\pythonProject2\model.py", line 32, in <module>
    print(model(torch.rand(1, 3, 224, 224)).size())
  File "C:\Users\olgae\AppData\Local\Programs\Python\Python310\lib\site-packages\torch\nn\modules\module.py", line 1532, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "C:\Users\olgae\AppData\Local\Programs\Python\Python310\lib\site-packages\torch\nn\modules\module.py", line 1541, in _call_impl
    return forward_call(*args, **kwargs)
  File "C:\Users\olgae\PycharmProjects\pythonProject2\model.py", line 27, in forward
    return self.transformer(idx)
  File "C:\Users\olgae\AppData\Local\Programs\Python\Python310\lib\site-packages\torch\nn\modules\module.py", line 1532, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "C:\Users\olgae\AppData\Local\Programs\Python\Python310\lib\site-packages\torch\nn\modules\module.py", line 1541, in _call_impl
    return forward_call(*args, **kwargs)
  File "C:\Users\olgae\AppData\Local\Programs\Python\Python310\lib\site-packages\transformers\models\deprecated\vit_hybrid\modeling_vit_hybrid.py", line 633, in forward
    embedding_output = self.embeddings(
  File "C:\Users\olgae\AppData\Local\Programs\Python\Python310\lib\site-packages\torch\nn\modules\module.py", line 1532, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "C:\Users\olgae\AppData\Local\Programs\Python\Python310\lib\site-packages\torch\nn\modules\module.py", line 1541, in _call_impl
    return forward_call(*args, **kwargs)
  File "C:\Users\olgae\AppData\Local\Programs\Python\Python310\lib\site-packages\transformers\models\deprecated\vit_hybrid\modeling_vit_hybrid.py", line 137, in forward
    embeddings = embeddings + self.position_embeddings
RuntimeError: The size of tensor a (2) must match the size of tensor b (5) at non-singleton dimension 1


В интернете нашел лишь ответ на стековерфлоу, да и тот остался без ответа. Возможно есть рабочая версия не от hf.. Пожалуйста, скажите что делать.
  • Вопрос задан
  • 51 просмотр
Пригласить эксперта
Ответы на вопрос 1
@dim5x
ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
from transformers import ViTHybridConfig, ViTHybridModel

configuration = ViTHybridConfig(patch_size=12)
model = ViTHybridModel(configuration)

configuration = model.config

print(configuration.patch_size)
>>>12
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы