You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行YOLOv5的train.py报错:无法从typing导入OrderedDict

解决YOLOv5训练时的ImportError: cannot import name 'OrderedDict' from 'typing'问题

错误原因

你使用的Python3.7版本中,OrderedDict并不在typing模块里,而是在collections(或collections.abc)模块中。但你安装的torchvision版本过高,其maxvit.py代码里直接从typing导入OrderedDict,这和Python3.7不兼容。

可行解决方案

  • 方案1:降低torchvision版本
    安装与Python3.7兼容的torchvision版本(比如0.12.x系列,对应PyTorch 1.11.x),执行以下命令:

    # pip安装方式
    pip install torchvision==0.12.0 torch==1.11.0 --force-reinstall
    
    # conda环境安装方式
    conda install torchvision=0.12.0 torch=1.11.0 -c pytorch
    
  • 方案2:修改torchvision的maxvit.py文件
    找到报错的文件路径/home/flint/anaconda3/lib/python3.7/site-packages/torchvision/models/maxvit.py,打开后修改导入语句:
    将原代码:

    from typing import Any, Callable, List, Optional, OrderedDict, Sequence, Tuple
    

    修改为:

    from typing import Any, Callable, List, Optional, Sequence, Tuple
    from collections import OrderedDict
    

    保存文件后重新运行train.py即可。

  • 方案3:升级Python版本到3.8+
    Python3.8及以上版本中,OrderedDict已被纳入typing模块,能够兼容高版本torchvision。若之前升级未成功,可重新确认Python版本是否切换到3.8及以上环境。

内容的提问来源于stack exchange,提问作者Hanna Dias

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 20:33:32