9

我尝试通过在 pytorch 中使用 BertModel 类来加载预训练模型。

我在火炬下有_six.py,但它仍然显示模块'火炬'没有属性'_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'
4

2 回答 2

9

在 jupyter notebook 中,只需重新启动内核就可以正常工作

于 2019-08-29T09:34:47.110 回答
3

我在 macOS 上也遇到了同样的问题,正如 Mark 所说,重新启动我的 mac 后它工作正常!

于 2019-06-06T04:57:02.247 回答