如何解决报错 ModuleNotFoundError: No module named ‘torch.ao.quantization‘

环境与报错

1. 环境安装版本

torch                    1.9.0+cu102
torchaudio               0.9.0
torchvision              0.13.1a0

2. 出错的代码行

import torchvision

3. 报错 

File "/usr/local/miniconda3/envs/***/lib/python3.8/site-packages/torchvision/models/quantization/mobilenetv2.py", line 6, in 
    from torch.ao.quantization import QuantStub, DeQuantStub
ModuleNotFoundError: No module named 'torch.ao.quantization'

 发生的问题

在我这种情况下是torch版本和torchvision版本不匹配的问题,根据网上其他帖子我的猜测是:torchvision安装版本过高或者是一个非正式的版本(像是他的版本编号后面有个a0),他会默认我下载的torch是和他匹配的,在那个版本的torch中存在着可以调用的torch.ao.quantization。

因此我需要做的就是令torch和torchvision的版本之间相互匹配。

解决方式

在pytorch官网的过往历史版本中根据torch与CUDA的版本查找你所需要的安装代码。如我安装的torch版本是1.9.0,CUDA版本是10.2,那么我需要参考的就是下面这幅图片中给出的代码:

如何解决报错 ModuleNotFoundError: No module named ‘torch.ao.quantization‘_第1张图片

因此我在命令行里面输入

pip install torchvision==0.10.0+cu102 -f https://download.pytorch.org/whl/torch_stable.html

 代码正常运行得到结果,问题解决

你可能感兴趣的:(python,深度学习,pytorch)