出现这个错误的原因是因为python和pytorch的版本不一致,pytorch里的torchvision模块需要从typing中导入OrderedDict,但是python 3.7对应的typing包里没有OrderedDict,所以无法导入导致报错。
解决办法:
我们可以安装typing_extensions(这是针对python3.8版本以下的使用方法),相当于是对typing的一个补丁文件,里面会增加一些typing里面没有的东西。安装代码如下:
$ pip install typing_extensions
然后修改报错位置的maxvit.py文件,在我这里也就是“/root/miniconda3/envs/clip/lib/python3.7/site-packages/torchvision/models/maxvit.py”,不从typing中导入OrderedDict模块,而是从typing_extensions中导入
修改为如下图: