报错AttributeError: Can‘t get attribute ‘GELUActivation‘ on <module ‘transformers.activations‘ from原因

报错

使用torch.load()方法加载自己训练保存的模型时报错,详细错误信息如下:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_18208\466081345.py in <module>
----> 1 model = torch.load("../user_data/model_data/bert_0.pth")
      2 print(model)

F:\Anaconda3\envs\pytorch37\lib\site-packages\torch\serialization.py in load(f, map_location, pickle_module, **pickle_load_args)
    710                     opened_file.seek(orig_position)
    711                     return torch.jit.load(opened_file)
--> 712                 return _load(opened_zipfile, map_location, pickle_module, **pickle_load_args)
    713         return _legacy_load(opened_file, map_location, pickle_module, **pickle_load_args)
    714 
F:\Anaconda3\envs\pytorch37\lib\site-packages\torch\serialization.py in _load(zip_file, map_location, pickle_module, pickle_file, **pickle_load_args)
   1044     unpickler = UnpicklerWrapper(data_file, **pickle_load_args)
   1045     unpickler.persistent_load = persistent_load
-> 1046     result = unpickler.load()
   1047 
   1048     torch._utils._validate_loaded_sparse_tensors()

F:\Anaconda3\envs\pytorch37\lib\site-packages\torch\serialization.py in find_class(self, mod_name, name)
   1037                     pass
   1038             mod_name = load_module_mapping.get(mod_name, mod_name)
-> 1039             return super().find_class(mod_name, name)
   1040 
   1041     # Load the data (which may in turn use `persistent_load` to load tensors)

主要错误

AttributeError: Can't get attribute 'GELUActivation' on <module 'transformers.activations' from 'F:\\Anaconda3\\envs\\pytorch37\\lib\\site-packages\\transformers\\activations.py'>
出现的原因可能是因为训练时用到的transfromers与加载时transfromers的版本不同或者存在差异

参考问题:AttributeError: Can’t get attribute ‘LearnedPositionalEmbedding’ on <module ‘transformers.models.bart.modeling_bart’ from…

我的问题在于:我训练时是在远程gpu上运行的,与我本地环境存在差异,所以只要都在远程gpu上操作就行了。

换句话说要保证训练保存模型的环境加载模型的环境一致。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值