Pytorch AttributeError: module 'torch' has no attribute 'as_tensor'

Pytorch AttributeError: module 'torch' has no attribute 'as_tensor'

$ python main.py --hetero
Created directory results/ACMRaw_2020-01-13_01-20-26
Traceback (most recent call last):
  File "main.py", line 101, in <module>
    main(args)
  File "main.py", line 30, in main
    val_mask, test_mask = load_data(args['dataset'])
  File "/home/cnudi1/wook/dgl/examples/pytorch/han/utils.py", line 225, in load_data
    return load_acm_raw(remove_self_loop)
  File "/home/cnudi1/wook/dgl/examples/pytorch/han/utils.py", line 189, in load_acm_raw
    pa = dgl.bipartite(p_vs_a, 'paper', 'pa', 'author')
  File "/home/cnudi1/.conda/envs/lcr_env/lib/python3.6/site-packages/dgl-0.4-py3.6-linux-ppc64le.egg/dgl/convert.py", line 260, in bipartite
    return create_from_scipy(data, utype, etype, vtype)
  File "/home/cnudi1/.conda/envs/lcr_env/lib/python3.6/site-packages/dgl-0.4-py3.6-linux-ppc64le.egg/dgl/convert.py", line 823, in create_from_scipy
    indptr = utils.toindex(spmat.indptr)
  File "/home/cnudi1/.conda/envs/lcr_env/lib/python3.6/site-packages/dgl-0.4-py3.6-linux-ppc64le.egg/dgl/utils.py", line 242, in toindex
    return data if isinstance(data, Index) else Index(data)
  File "/home/cnudi1/.conda/envs/lcr_env/lib/python3.6/site-packages/dgl-0.4-py3.6-linux-ppc64le.egg/dgl/utils.py", line 15, in __init__
    self._initialize_data(data)
  File "/home/cnudi1/.conda/envs/lcr_env/lib/python3.6/site-packages/dgl-0.4-py3.6-linux-ppc64le.egg/dgl/utils.py", line 22, in _initialize_data
    self._dispatch(data)
  File "/home/cnudi1/.conda/envs/lcr_env/lib/python3.6/site-packages/dgl-0.4-py3.6-linux-ppc64le.egg/dgl/utils.py", line 75, in _dispatch
    self._user_tensor_data[F.cpu()] = F.zerocopy_from_numpy(self._pydata)
  File "/home/cnudi1/.conda/envs/lcr_env/lib/python3.6/site-packages/dgl-0.4-py3.6-linux-ppc64le.egg/dgl/backend/pytorch/tensor.py", line 276, in zerocopy_from_numpy
    return th.as_tensor(np_array)
AttributeError: module 'torch' has no attribute 'as_tensor'

当我尝试 运行 代码 (https://github.com/dmlc/dgl/blob/master/examples/pytorch/han/main.py)

时出现错误

来自 DGL (https://github.com/dmlc/dgl)

它需要 CUDA 和 Pytorch,所以我设法安装了它。

但是我遇到了错误,无法通过 Google/Whosebug 搜索

找到解决方案

我的环境是

Pytorch 在 Python

中运行良好
>>> import torch
>>> print (torch.__version__)
0.4.0
>>> import torchvision
>>> print (torchvision.__version__)
0.2.1

你能帮帮我吗?

* DGL是从源代码安装的

** Pytorch 与来自 channel:engility(How to install pytorch on Power 8 or PPC64 machine?)

的 conda 一起安装
conda install -c engility pytorch

因为其他方式(默认 conda、pip、从源代码安装)对 ppc64le 不起作用

tl;dr 升级到 PyTorch 0.4。1


请注意,DGL 需要 PyTorch 0.4.1,而您使用的是 PyTorch 0.4.0。如果仔细观察,您会发现 as_tensorproposed in 30 Apr 2018 and merged in 1 May 2018. You'll also see that PyTorch 0.4.0 was released before that on 24 Apr 2018, whereas PyTorch 0.4.1 was release after on 26 Jul 2018. In fact, if you take a look at the changelog of the 0.4.1 version,您会注意到宣布了一个新的运算符:torch.as_tensor :)