PyTorch报错AttributeError: module 'torch'无_utils_internal属性求助
解决AttributeError: module 'torch' has no attribute '_utils_internal'问题
这个错误通常是d2l库与当前PyTorch版本不兼容,或是Python环境存在版本冲突、缓存残留导致的,以下是具体解决方案:
匹配d2l与PyTorch的对应版本
即便按官方文档安装了PyTorch,若d2l版本不匹配,仍会调用PyTorch已移除或未存在的内部模块。执行以下操作:- 卸载当前
d2l:pip uninstall -y d2l - 安装与你PyTorch版本适配的
d2l版本。例如使用PyTorch 2.x时,可安装d2l0.20.x系列:pip install d2l==0.20.3
- 卸载当前
清理环境缓存
Python导入缓存可能残留旧模块引发错误:- 重启Jupyter内核(点击Kernel -> Restart)。
- 删除当前工作目录下的
__pycache__文件夹(若存在)。 - 若用conda环境,执行
conda clean --all清理缓存。
排查多版本冲突
检查当前环境是否存在多个PyTorch版本:- 查看已安装的torch版本:
(conda环境执行pip list | grep torchconda list torch) - 若发现多个版本,卸载多余的,仅保留符合官方要求的版本:
之后重新按官方指引安装PyTorch,再安装对应pip uninstall -y torch torchvision torchaudiod2l。
- 查看已安装的torch版本:
彻底重装依赖
若以上方法无效,彻底清理后重装:- 卸载所有相关包:
pip uninstall -y numpy torch torchvision torchaudio d2l - 按官方文档步骤重新安装PyTorch,随后安装对应版本的
d2l和numpy。
- 卸载所有相关包:
内容的提问来源于stack exchange,提问作者Xander
相关产品推荐
相关产品推荐

