AttributeError: модуль 'torch' не имеет атрибута '_six'. Модель Берт в Pytorch
Я попытался загрузить предварительно обученную модель, используя класс BertModel в pytorch.
У меня есть _six.py под torch, но он все еще показывает, что модуль 'torch' не имеет атрибута _six
import torch
from pytorch_pretrained_bert import BertTokenizer, BertModel, BertForMaskedLM
# Load pre-trained model (weights)
model = BertModel.from_pretrained('bert-base-uncased')
model.eval()
~/anaconda3/lib/python3.7/site-packages/torch/nn/modules/module.py in __setattr__(self, name, value)
551 .format(torch.typename(value), name))
552 modules[name] = value
--> 553 else:
554 buffers = self.__dict__.get('_buffers')
555 if buffers is not None and name in buffers:
~/anaconda3/lib/python3.7/site-packages/torch/nn/modules/module.py in register_parameter(self, name, param)
140 raise KeyError("parameter name can't be empty string \"\"")
141 elif hasattr(self, name) and name not in self._parameters:
--> 142 raise KeyError("attribute '{}' already exists".format(name))
143
144 if param is None:
AttributeError: module 'torch' has no attribute '_six'
6 ответов
В ноутбуке jupyter просто перезапуск ядра работает нормально
Я получал эту ошибку, когда пытался загрузить набор данных CIFAR10. Простой перезапуск не решил проблему! Я обнаружил, что в некоторой среде (conda) все работает нормально.
Обновление torch и torchvision помогло:
pip install --upgrade torch torchvision
У меня также была такая же проблема с macOS, и, как сказал Марк, она отлично работает после перезапуска моего Mac!
Я решил эту ошибку, прокомментировав следующие строки кода в Vision.py.
if isinstance(root, torch._six.string_classes):
root = os.path.expanduser(root)
self.root = root
Я столкнулся с той же проблемой в Apple M1, используя conda, и решил ее после создания новой среды conda с последней версией Python, а затем снова установил torch и torchvision.
Работает для меня
Откуда: https://discuss.pytorch.org/t/attributeerror-module-torch-has-no-attribute-utils/176733/7
Понижение версии torchvision 0.14.0 или обновление torchvision до 0.15.1 устраняют эту ошибку.