Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:OSError可以';t为bert加载配置_Python_Nlp_Pytorch_Bert Language Model_Huggingface Transformers - Fatal编程技术网

Python:OSError可以';t为bert加载配置

Python:OSError可以';t为bert加载配置,python,nlp,pytorch,bert-language-model,huggingface-transformers,Python,Nlp,Pytorch,Bert Language Model,Huggingface Transformers,我正在尝试为一项任务训练一个bert-base多语言uncased模型。我的数据集中有所有必需的文件,包括config.jsonbert文件,但是当我运行模型时,它会给出一个错误 配置 模型 错误 --------------------------------------------------------------------------- OSError回溯(最近一次调用上次) /get\u config\u dict中的opt/conda/lib/python3.6/site-pack

我正在尝试为一项任务训练一个
bert-base多语言uncased
模型。我的数据集中有所有必需的文件,包括
config.json
bert文件,但是当我运行模型时,它会给出一个错误

配置 模型 错误
---------------------------------------------------------------------------
OSError回溯(最近一次调用上次)
/get\u config\u dict中的opt/conda/lib/python3.6/site-packages/transformers/configuration\u utils.py(cls、预训练模型、名称或路径,**kwargs)
241如果已解析的配置文件为无:
-->242 raise环境错误
243 config\u dict=cls.\u dict\u来自\u json\u文件(已解析的\u config\u文件)
操作错误:
在处理上述异常期间,发生了另一个异常:
OSError回溯(最近一次调用上次)
在里面
79
80如果名称=“\uuuuuu main\uuuuuuuuuuu”:
--->81运行()
在逃
38
39设备=火炬装置(配置装置)
--->40型号=BERTBaseUncased()
41型号至(设备)
42
in_uuu初始(自)
2定义初始化(自):
3超级(BERTBaseUncased,自)
---->4 self.bert=transformers.BertModel.from_pretrained(config.bert_路径)
5自伯特_下降=nn.下降(0.3)
6 self.out=nn.Linear(768*2,1)#*2,因为我们有两个池层
/opt/conda/lib/python3.6/site-packages/transformers/modeling_utils.py in from_pretrained(cls、pretrained_model_name_或_path、*model_args、**kwargs)
601代理=代理,
602仅本地文件=仅本地文件,
-->603**夸尔格,
604             )
605其他:
/opt/conda/lib/python3.6/site-packages/transformers/configuration_utils.py从预先训练(cls、预先训练的模型、名称或路径,**kwargs)
198
199         """
-->200配置目录,kwargs=cls.get配置目录(预先训练的模型名称或路径,**kwargs)
201从目录返回目录(配置目录,**kwargs)
202
/get\u config\u dict中的opt/conda/lib/python3.6/site-packages/transformers/configuration\u utils.py(cls、预训练模型、名称或路径,**kwargs)
249 f“-或“{pretrained_model_name_或_path}”是指向包含{CONFIG_name}文件的目录的正确路径\n\n”
250             )
-->251 raise环境错误(msg)
252
253 json.JSONDECODEROR除外:
OSError:无法加载“workspace/data/jigsaw multilingual/input/bert base multilingual uncased”的配置。请确保:
-“workspace/data/jigsaw multilingual/input/bert base multilingual uncased”是上列出的正确模型标识符https://huggingface.co/models'
-或者“workspace/data/jigsaw multilingual/input/bert base multilingual uncased”是指向包含config.json文件的目录的正确路径
这些是我的
bert
数据集中的文件:
->
config.json

->
pytorch\u model.bin

->
vocab.txt


如何解决此问题?

尝试使用绝对路径,而不是相对路径。初学者通常的解释是,您不知道如何引用现有文件。可能需要查看
class config:
    DEVICE = "cuda:2"
    MAX_LEN = 256
    TRAIN_BATCH_SIZE = 8
    VALID_BATCH_SIZE = 4
    EPOCHS = 1
    BERT_PATH = "workspace/data/jigsaw-multilingual/input/bert-base-multilingual-uncased"
    MODEL_PATH = "workspace/data/jigsaw-multilingual/model.bin"
    TOKENIZER = BertTokenizer.from_pretrained('bert-base-multilingual-uncased', do_lower_case=True)
class BERTBaseUncased(nn.Module):
    def __init__(self):
        super(BERTBaseUncased, self).__init__()
        self.bert = transformers.BertModel.from_pretrained(config.BERT_PATH)
        self.bert_drop = nn.Dropout(0.3)
        self.out = nn.Linear(768 * 2, 1) # *2 since we have 2 pooling layers

    def forward(self, ids, mask, token_type_ids):
        o1, _ = self.bert(ids, attention_mask=mask, token_type_ids=token_type_ids)
        
        mean_pooling = torch.mean(o1, 1)
        max_pooling, _ = torch.max(o1, 1)
        cat = torch.cat((mean_pooling, max_pooling), 1)
        
        bo = self.bert_drop(cat)
        output = self.out(bo)
        return output
---------------------------------------------------------------------------
OSError                                   Traceback (most recent call last)
/opt/conda/lib/python3.6/site-packages/transformers/configuration_utils.py in get_config_dict(cls, pretrained_model_name_or_path, **kwargs)
    241             if resolved_config_file is None:
--> 242                 raise EnvironmentError
    243             config_dict = cls._dict_from_json_file(resolved_config_file)

OSError: 

During handling of the above exception, another exception occurred:

OSError                                   Traceback (most recent call last)
<ipython-input-64-9f2999c88020> in <module>
     79 
     80 if __name__ == "__main__":
---> 81     run()

<ipython-input-64-9f2999c88020> in run()
     38 
     39     device = torch.device(config.DEVICE)
---> 40     model = BERTBaseUncased()
     41     model.to(device)
     42 

<ipython-input-60-8e1508eac60a> in __init__(self)
      2     def __init__(self):
      3         super(BERTBaseUncased, self).__init__()
----> 4         self.bert = transformers.BertModel.from_pretrained(config.BERT_PATH)
      5         self.bert_drop = nn.Dropout(0.3)
      6         self.out = nn.Linear(768 * 2, 1) # *2 since we have 2 pooling layers

/opt/conda/lib/python3.6/site-packages/transformers/modeling_utils.py in from_pretrained(cls, pretrained_model_name_or_path, *model_args, **kwargs)
    601                 proxies=proxies,
    602                 local_files_only=local_files_only,
--> 603                 **kwargs,
    604             )
    605         else:

/opt/conda/lib/python3.6/site-packages/transformers/configuration_utils.py in from_pretrained(cls, pretrained_model_name_or_path, **kwargs)
    198 
    199         """
--> 200         config_dict, kwargs = cls.get_config_dict(pretrained_model_name_or_path, **kwargs)
    201         return cls.from_dict(config_dict, **kwargs)
    202 

/opt/conda/lib/python3.6/site-packages/transformers/configuration_utils.py in get_config_dict(cls, pretrained_model_name_or_path, **kwargs)
    249                 f"- or '{pretrained_model_name_or_path}' is the correct path to a directory containing a {CONFIG_NAME} file\n\n"
    250             )
--> 251             raise EnvironmentError(msg)
    252 
    253         except json.JSONDecodeError:

OSError: Can't load config for 'workspace/data/jigsaw-multilingual/input/bert-base-multilingual-uncased'. Make sure that:

- 'workspace/data/jigsaw-multilingual/input/bert-base-multilingual-uncased' is a correct model identifier listed on 'https://huggingface.co/models'

- or 'workspace/data/jigsaw-multilingual/input/bert-base-multilingual-uncased' is the correct path to a directory containing a config.json file