当前位置: 首页 > news >正文

成功解决ImportError: cannot import name ‘DTensor‘ from ‘torch.distributed.tensor‘

成功解决ImportError: cannot import name 'DTensor' from 'torch.distributed.tensor'

目录

解决问题

解决思路

解决方法

查询CUDA 驱动版本

查询torch版本

匹配官方正确版本


解决问题

llamafactory-cli export examples/merge_lora/qwen25_7b_lora_sft_merge.yaml
Traceback (most recent call last):
  File "/usr/local/bin/llamafactory-cli", line 8, in <module>
    sys.exit(main())
  File "/home/work/shop-chatbot-common-1-sg/yayun/LLaMA-Factory/src/llamafactory/cli.py", line 115, in main
    COMMAND_MAP[command]()
  File "/home/work/shop-chatbot-common-1-sg/yayun/LLaMA-Factory/src/llamafactory/train/tuner.py", line 148, in export_model
    model.save_pretrained(
  File "/usr/local/lib/python3.10/dist-packages/transformers/modeling_utils.py", line 3569, in save_pretrained
    ptrs[id_tensor_storage(tensor)].append(name)
  File "/usr/local/lib/python3.10/dist-packages/transformers/pytorch_utils.py", line 300, in id_tensor_storage
    from torch.distributed.tensor import DTensor
ImportError: cannot import name 'DTensor' from 'torch.distributed.tensor' (/usr/local/lib/python3.10/dist-packages/torch/distributed/tensor/__init__.py)

解决思路

这个错误是由于 Hugging Face Transformers 库试图从 torch.distributed.tensor 中导入 DTensor,但当前安装的 PyTorch 版本并没有这个模块(或该模块未启用)。这通常出现在 PyTorch 版本和 Transformers 版本不兼容时。

解决方法

查询CUDA 驱动版本

nvidia-smi

 CUDA Version: 12.4

查询torch版本

import torchprint(torch.__version__)        # 确认 PyTorch 版本(推荐 >= 2.1)
print(torch.version.cuda)       # PyTorch 编译时用的 CUDA 版本
print(torch.cuda.is_available())pip show torch transformers | grep Version

Version: 2.3.0a0+ebedce2
Version: 4.52.1

匹配官方正确版本

根据官方文档和社区反馈,以下是一些兼容的 PyTorch 和 Transformers 版本组合:

  • PyTorch 2.5.0 + Transformers 4.52.1:适用于需要使用 DTensor 的最新功能。
  • PyTorch 2.3.0 + Transformers 4.36.2:适用于不需要 DTensor 的功能。
pip install torch==2.5.0 transformers==4.52.1
pip show torch transformers

相关文章:

  • 题目 3327: 蓝桥杯2025年第十六届省赛真题-倒水
  • loss的范围
  • 读《Go语言圣经》记录(一)
  • uni-app学习笔记十三-vue3中slot插槽的使用
  • QML与C++交互2
  • 【电子通识】连接器的绝缘胶座和接触端子基础知识
  • 数据结构 栈的详细解析
  • Java——优先级队列(堆)
  • 明阳智慧能源社招校招入职测评 |iLogic言语逻辑数字、Talent5大五职业性格测评、TAS倍智人才测评考什么
  • JVM规范之栈帧
  • 我的第1个爬虫程序——豆瓣Top250爬虫的详细步骤指南
  • uni-app学习笔记十二-vue3中组件传值(对象传值)
  • 字节跳动GPU Scale-up互联技术白皮书
  • 【数据结构】实现方式、应用场景与优缺点的系统总结
  • 基于Android的军训app的设计与实现
  • Leetcode 刷题记录 10 —— 二叉树
  • OpenGL环境配置
  • c++ overwrite
  • OpenCV 第7课 图像处理之平滑(二)
  • springboot中拦截器配置使用
  • 辽宁模板网站建设公司/湖南正规seo优化
  • 推广qq群的网站/google play store
  • 自己做的网站怎么被百度收录/产品如何做市场推广
  • 单位建设的网站属于无形资产吗/数字营销成功案例
  • 网站flsh怎么做/优秀网页设计作品
  • wordpress cosy2.04/郑州百度seo网站优化