Ошибка при выполнении кода Pytorch AttributeError: у объекта 'function' нет атрибута 'Variable' - PullRequest
0 голосов
/ 03 мая 2018

Попытка запустить код Pytorch из GitHub из следующего репо

https://github.com/jalola/improved-wgan-pytorch

Ошибка в следующем утверждении в файле gan_train.py

   writer.add_scalar('data/disc_cost', disc_cost, iteration)

Ошибка выглядит следующим образом

File "/home/anaconda/new_anaconda_3.5/lib/python3.6/site-packages/tensorboardX/writer.py", line 272, in add_scalar
    self.file_writer.add_summary(scalar(tag, scalar_value), global_step)

  File "/home/anaconda/new_anaconda_3.5/lib/python3.6/site-packages/tensorboardX/summary.py", line 86, in scalar
    scalar = makenp(scalar)

  File "/home/anaconda/new_anaconda_3.5/lib/python3.6/site-packages/tensorboardX/x2num.py", line 15, in makenp
    return pytorch_np(x, modality)

  File "/home/anaconda/new_anaconda_3.5/lib/python3.6/site-packages/tensorboardX/x2num.py", line 24, in pytorch_np
    if isinstance(x, torch.autograd.variable.Variable):
AttributeError: 'function' object has no attribute 'Variable'

Любые идеи, я не очень опытный в pytorch. Кажется, что-то не так с API-интерфейсом тензорной доски.

Большое спасибо.

Shan

Ответы [ 2 ]

0 голосов
/ 21 марта 2019

Это ошибка версии tenorboardX

вам нужно изменить torch.autograd.variable.Variable на torch.autograd.Variable в /home/anaconda/new_anaconda_3.5/lib/python3.6/site-packages/tensorboardX/x2num.py , это работает для меня.

подробнее https://github.com/lanpa/tensorboardX/commit/c5189bdb019085841dbfeeb457b1f6682c7dbfbf

0 голосов
/ 03 мая 2018

Это похоже на проблему с версией, строка:

torch.autograd.variable.Variable

работает с PyTorch 0.3.1, но не с версией 0.4.0, затем выдает ту же ошибку, что и у вас. Я полагаю, вы используете версию 0.4.0.

(В версии 0.4.0 классы Tensor и Variable объединены, поэтому переменные больше не нужны.)

Если это так, использование версии 0.3.1, вероятно, решит вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...