安装torch==1.13.0+cu116后导入报错,升级至2.3.1正常,求原因
PyTorch 1.13.0+cu116导入报错原因分析
驱动与CUDA版本适配冲突:你的NVIDIA驱动版本为535.104.05,该版本原生适配CUDA 12.x系列,而你安装的
torch==1.13.0+cu116是针对CUDA 11.6编译的。新驱动对旧CUDA版本的底层API做了兼容性调整,导致PyTorch初始化时修改内置扩展类型属性的操作触发权限限制。PyTorch 1.x版本初始化逻辑的兼容性问题:torch1.13.0的
__init__.py中存在尝试修改torch._C.DisableTorchFunctionSubclass这个内置/扩展类型的__module__属性的代码。在适配CUDA 12.x的新驱动环境下,这类修改内置类型属性的操作被限制,直接抛出TypeError。PyTorch 2.x版本的修复与适配:你安装的
torch==2.3.1+cu121是针对CUDA 12.1编译的版本,不仅与你的535驱动完美适配,而且PyTorch 2.x系列重构了部分初始化逻辑,移除了这类会触发权限问题的内置类型属性修改操作,因此导入时无报错。
内容的提问来源于stack exchange,提问作者김동희
相关产品推荐
相关产品推荐

