最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

module 'torch.

网站源码admin2浏览0评论

module 'torch.

踩坑Ascend, 安装 pytorch 2.5.1 和 pytorch_npu 2.5.1, import torch 报错.

执行 python -c "import torch;import torch_npu;"时, 报如下错误

代码语言:shell复制
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/data/miniconda3/envs/ascend/lib/python3.10/site-packages/torch/__init__.py", line 1703, in <module>
    from torch._tensor import Tensor  # usort: skip
  File "/data/miniconda3/envs/ascend/lib/python3.10/site-packages/torch/_tensor.py", line 80, in <module>
    class Tensor(torch._C.TensorBase):
AttributeError: module 'torch._C' has no attribute 'TensorBase'. Did you mean: '_TensorBase'?

这种问题是由于torch 的 so库加载失败, 找不到导致的. 可以看下自己的LD_LIBRARY_PATH是否包含了. 也可以使用如下LD_DEBUG=libs命令查看自己加载的so.

代码语言:shell复制
LD_DEBUG=libs python -c "import torch;import torch_npu;

比如我这里加入如下环境变量, 即可正常展示.

代码语言:shell复制
export LD_LIBRARY_PATH=/data/miniconda3/envs/ascend/lib/python3.10/site-packages/torch/lib/:/data/miniconda3/envs/ascend/lib:$LD_LIBRARY_PATH

在次执行以下命令, 正常

代码语言:shell复制
LD_DEBUG=libs python -c "import torch;import torch_npu;
  • 功能说明LD_DEBUG=libs 这是Linux动态链接器 ld.so 的调试标志,用于打印程序加载的所有动态库路径和依赖关系。与macOS的 DYLD_PRINT_LIBRARIES 作用类似,但输出信息更详细。
  • 扩展调试选项 通过调整 LD_DEBUG 参数可实现更多调试功能: LD_DEBUG=files:显示文件操作(如库的搜索路径); LD_DEBUG=bindings:显示符号绑定过程; LD_DEBUG=all:输出完整的调试信息。

如果在mac电脑上, 将LD_DEBUG=libs替换成DYLD_PRINT_LIBRARIES, 即

代码语言:shell复制
DYLD_PRINT_LIBRARIES=YES python -c "import torch;"

输出信息会直接打印到终端,若需保存日志可重定向到文件:

代码语言:shell复制
LD_DEBUG=libs python -c "import torch" 2> library_loading.log

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论