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

PyTorch1.11.x创建TrainingArguments对象报is_initialized属性错误

问题原因

该报错由Transformers库与PyTorch 1.11.X版本不兼容导致:
torch.distributed.is_initialized是PyTorch 1.12及以上版本才在模块顶层对外暴露的公开API。当前环境安装的Transformers版本在初始化TrainingArguments对象、执行分布式环境预校验逻辑时,会直接调用这个顶层API,而PyTorch 1.11.X版本未在torch.distributed模块的命名空间下导出该方法(方法实际存在于子模块torch.distributed.distributed_c10d中,未做顶层映射),因此触发属性不存在的异常。

可行解决方法

根据实际环境约束三选一即可:

  • 优先方案(无代码侵入、稳定性最高):升级PyTorch至1.12.0及以上稳定版本,匹配当前安装的Transformers库的依赖要求。升级完成后原有业务代码无需任何修改,即可正常初始化TrainingArguments对象。
  • 固定PyTorch 1.11.X版本场景方案:将Transformers降级至兼容PyTorch 1.11.X的最后一个稳定版本4.20.1,执行命令pip install transformers==4.20.1完成降级后,原有代码无需调整即可正常运行。
  • 临时应急方案(不想调整现有依赖版本时使用):在导入TrainingArguments之前,手动给torch.distributed模块补全缺失的顶层接口映射,在代码最开头添加如下片段即可绕过报错,补丁逻辑和高版本PyTorch原生行为完全一致,单卡、多卡训练场景均适用:
import torch
import torch.distributed

# 补全PyTorch 1.11.X版本未暴露到顶层的接口
if not hasattr(torch.distributed, "is_initialized"):
    from torch.distributed import distributed_c10d
    torch.distributed.is_initialized = distributed_c10d.is_initialized

内容的提问来源于stack exchange,提问作者Rajesh Thakur

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 03:21:45