Pytorch AttributeError: модуль 'torch' не имеет атрибута 'as_tensor' - PullRequest
0 голосов
/ 12 января 2020
$ 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 / Stackoverflow

Моя среда

  • Linux minsky 3.10.0-957.5.1.el7.ppc64le
  • CentOS
  • Python 3.6.9
  • Conda 4.5. 11
  • CUDA 10.1
  • NV CC 10.1
  • Pytorch 0.4.0
  • Torchvision 0.2.1

Pytorch отлично работает в Python

>>> import torch
>>> print (torch.__version__)
0.4.0
>>> import torchvision
>>> print (torchvision.__version__)
0.2.1

Пожалуйста, не могли бы вы мне помочь?

* DGL устанавливается из исходного кода

** Pytorch устанавливается с Conda из channel: engility ( Как установить pytorch на машине Power 8 или PPC64? )

conda install -c engility pytorch

, потому что другие способы (по умолчанию conda, pip, установка из исходного кода) никогда не работают для ppc64le

1 Ответ

2 голосов
/ 12 января 2020

tl; dr Обновление до PyTorch 0.4. 1


Обратите внимание, что DGL требует PyTorch 0.4.1, и вы используете PyTorch 0.4.0. Если вы посмотрите поближе, вы увидите, что as_tensor было предложено 30 апреля 2018 года и объединено 1 мая 2018 года. Вы также увидите, что PyTorch 0.4.0 был выпущен до этого 24 Апрель 2018 года, тогда как PyTorch 0.4.1 был выпущен после 26 июля 2018 года. Фактически, если вы посмотрите на список изменений версии 0.4.1 , вы заметите объявляется новый оператор: torch.as_tensor:)

...