当前位置: 首页 > 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

http://www.xdnf.cn/news/639037.html

相关文章:

  • 选择排序算法研究
  • 【NIPS 2024】Towards Robust Multimodal Sentiment Analysis with Incomplete Data
  • C++异步(1)
  • [Protobuf] 快速上手:安全高效的序列化指南
  • SymAgent:一种用于知识图谱复杂推理的神经符号自学Agent框架
  • Oracle中的[行转列]与[列转行]
  • 【目标检测】【医学图像目标检测】BGF-YOLO:脑肿瘤检测的多尺度注意力特征融合
  • 【linux】systemctl基本语法
  • 康佳Java开发面试题及参考答案
  • 前端vue3实现图片懒加载
  • 【LCEL深度解析】LangChain表达式语言的工程化实践指南
  • 基于stm32单片机的智能盲杖研究
  • # YOLO11解决方案之区域追踪探索
  • Python 数据类型方法(1)
  • Docker 一键部署倒计时页面:Easy Countdown全设备通用
  • 2025年5月18日蓝桥stema省选拔赛答案解析
  • GDB调试工具详解
  • 探索高效视频下载:一款绿色版工具的实用体验
  • FreeRTOSConfig.h的作用
  • Three.js 海量模型加载性能优化指南
  • CMake指令:find_package()在Qt中的应用
  • C# 深入理解类(索引器)
  • Disruptor—3.核心源码实现分析一
  • 黑马点评-分布式锁Lua脚本
  • 在线热更新 Upstream全面掌握 ngx_http_upstream_conf_module
  • 华为OD机试真题——字符串加密 (2025B卷:100分)Java/python/JavaScript/C/C++/GO最佳实现
  • HTTP 和 HTTPS 的区别
  • 量子力学:量子力学为什么不属于经典物理学的范畴?
  • 【面板数据】上市公司外资持股数据集(2005-2023年)
  • 临床研究统计分析核心概念解析