Python 定制>;TFBertMainLayer已注册到<;类别';src.transformers.modeling_tf_bert.TFBertMainLayer'&燃气轮机;在下载模型时发生

Python 定制>;TFBertMainLayer已注册到<;类别';src.transformers.modeling_tf_bert.TFBertMainLayer'&燃气轮机;在下载模型时发生,python,tensorflow,huggingface-transformers,Python,Tensorflow,Huggingface Transformers,我一直在试着和预先训练好的模特玩。在collab模板中使用默认的一切,使用torch.hub.load()从huggingface/pytorch transformers作为“模型”到bert base uncased 代码示例 import torch model = torch.hub.load('huggingface/pytorch-transformers', 'model', 'bert-base-uncased') # Download model and configur

我一直在试着和预先训练好的模特玩。在collab模板中使用默认的一切,使用
torch.hub.load()
huggingface/pytorch transformers
作为“模型”到
bert base uncased

代码示例

import torch
model = torch.hub.load('huggingface/pytorch-transformers', 'model', 'bert-base-uncased')    # Download model and configuration from S3 and cache.
我遇到了这个错误

Using cache found in /root/.cache/torch/hub/huggingface_pytorch-transformers_master
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-19-ad22a1a34951> in <module>()
      1 import torch
----> 2 model = torch.hub.load('huggingface/pytorch-transformers', 'model', 'somethingelse')    # Download model and configuration from S3 and cache.
      3 model = torch.hub.load('huggingface/pytorch-transformers', 'model', './test/bert_model/')  # E.g. model was saved using `save_pretrained('./test/saved_model/')`
      4 model = torch.hub.load('huggingface/pytorch-transformers', 'model', 'bert-base-uncased', output_attentions=True)  # Update configuration during loading
      5 assert model.config.output_attentions == True

13 frames
/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/utils/generic_utils.py in decorator(arg)
    177       raise ValueError(
    178           '%s has already been registered to %s' %
--> 179           (registered_name, _GLOBAL_CUSTOM_OBJECTS[registered_name]))
    180 
    181     if arg in _GLOBAL_CUSTOM_NAMES:

ValueError: Custom>TFBertMainLayer has already been registered to <class 'src.transformers.modeling_tf_bert.TFBertMainLayer'>
使用/root/.cache/torch/hub/huggingface\u pytorch-transformers\u master中的缓存
---------------------------------------------------------------------------
ValueError回溯(最近一次调用上次)
在()
1个进口火炬
---->2 model=torch.hub.load(“huggingface/pytorch transformers”、“model”、“somethingelse”)#从S3和缓存下载模型和配置。
3模型=火炬.hub.load('huggingface/pytorch变压器','模型','./测试/bert_模型/'))#例如,使用'save_pretrained('./测试/保存的_模型/')保存模型`
4型号=torch.hub.load('huggingface/pytorch transformers','model','bert base uncased',output_attentions=True)#加载期间更新配置
5 assert model.config.output_==True
13帧
/decorator(arg)中的usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/utils/generic_utils.py
177升值误差(
178“%s”已注册到%s%
-->179(注册的\u名称,\u全局\u自定义\u对象[注册的\u名称])
180
181如果参数位于\u全局\u自定义\u名称中:
ValueError:Custom>TFBertMainLayer已注册到

我真的不明白发生了什么。

如果你只想玩PyTorch版本的transformer,为了解决这个问题,你可以从你的环境中卸载TensorFlow,或者在_init_uu.py中注释掉TensorFlow部分(从If is_tf_available()开始)在您的transformer源代码中:)

如果您只想使用PyTorch版本的transformer,为了解决这个问题,您可以从环境中卸载TensorFlow,或者在_init_uu.py中注释掉TensorFlow部分(从If is_tf_available()开始)在您的transformer的源代码中:)

我遇到了一个类似的问题,我通过从他们的库中的代码中删除@keras_serializable行解决了这个问题。虽然我不确定它是做什么的,但这可能是一个糟糕的建议。你找到了解决办法吗?我有一个类似的问题,我通过从他们库中的代码中删除@keras_serializable行来解决。虽然我不知道它是做什么的,所以这可能是一个可怕的建议。你找到解决这个问题的方法了吗?