出现问题
由于pytorch版本问题,有些版本在运行test.py时,会出现以下错误
UnpicklingError: Weights only load failed. This file can still be loaded, to do so you have two options, do those steps only if you trust the source of the checkpoint.
(1) In PyTorch 2.6, we changed the default value of the weights_only argument in torch.load from False to True. Re-running torch.load with weights_only set to False will likely succeed, but it can result in arbitrary code execution. Do it only if you got the file from a trusted source.
(2) Alternatively, to load with weights_only=True please check the recommended steps in the following error message.
WeightsUnpickler error: Unsupported global: GLOBAL numpy._core.multiarray.scalar was not an allowed global by default. Please use torch.serialization.add_safe_globals([scalar]) or the torch.serialization.safe_globals([scalar]) context manager to allowlist this global if you trust this class/function.
解决方法
将test.py第47行,checkpoint = torch.load(args.model_dir)改为checkpoint = torch.load(args.model_dir,weights_only=False)可以解决该问题。
出现问题
由于pytorch版本问题,有些版本在运行test.py时,会出现以下错误
UnpicklingError: Weights only load failed. This file can still be loaded, to do so you have two options, do those steps only if you trust the source of the checkpoint.
(1) In PyTorch 2.6, we changed the default value of the
weights_onlyargument intorch.loadfromFalsetoTrue. Re-runningtorch.loadwithweights_onlyset toFalsewill likely succeed, but it can result in arbitrary code execution. Do it only if you got the file from a trusted source.(2) Alternatively, to load with
weights_only=Trueplease check the recommended steps in the following error message.WeightsUnpickler error: Unsupported global: GLOBAL numpy._core.multiarray.scalar was not an allowed global by default. Please use
torch.serialization.add_safe_globals([scalar])or thetorch.serialization.safe_globals([scalar])context manager to allowlist this global if you trust this class/function.解决方法
将test.py第47行,checkpoint = torch.load(args.model_dir)改为checkpoint = torch.load(args.model_dir,weights_only=False)可以解决该问题。