运行迁移后代码提示“Segmentation fault”
2023/05/11
397
问题信息
问题来源 | 产品大类 | 关键字 |
---|---|---|
官方 | MindStudio | Segmentation fault、numpy、版本、迁移后 |
问题现象描述
运行转换后代码无报错,仅提示“Segmentation fault”信息。
原因分析
可能原因一:
代码中引用了tensorboard或第三方库中包含tensorboard,以下为已知的引用tensorboard的第三方库。
- wandb:若该库仅用来打log,可以删除该库的调用。
- transformers:该库深度绑定tensorflow、tensorboard。
可能原因二:
训练脚本中包含两个0维Tensor在不同设备上进行比较的代码,当前该比较不支持在torch_npu上运行。
解决措施
原因一解决措施:
注释掉相关的Summary、Writer调用即可规避该错误。Summary、Writer多用于记录日志和绘图,不影响网络跑通和精度收敛。
原因二解决措施:
根据屏显信息,定位脚本中是否存在两个0维Tensor在不同设备上进行比较的代码,需要用户手动修改为在同一设备上进行比较,示例如下:
修改前,在CPU和NPU上进行比较:
a = torch.tensor(123) b = torch.tensor(456).npu() print(a == b)
修改后,添加加粗字体信息,修改为同在NPU上进行比较:
a = torch.tensor(123).npu() b = torch.tensor(456).npu() print(a == b)
本页内容