赞
踩
使用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'>
我的问题在于:我训练时是在远程gpu上运行的,与我本地环境存在差异,所以只要都在远程gpu上操作就行了。
换句话说要保证训练保存模型的环境与加载模型的环境一致。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。