Spyder: スクリプトを使用してpytorchモジュールを複数ロードすると、IPythonコンソールでRuntimeErrorが発生します。

作成日 2018年04月30日  ·  3コメント  ·  ソース: spyder-ide/spyder

問題の説明

エディターウィンドウでファイルを実行してpytorchを2回以上インポートすると、IPythonコンソールでランタイムエラーが発生します。
pytorch0.4.0を使用しています。

どの手順で問題が再現されますか?

  1. Spyder3を実行します。
  2. エディタウィンドウに「importtorch」と書き込みます。
  3. スクリプトを実行します。
  4. スクリプトを再度実行します。

期待される出力は何ですか? 代わりに何が見えますか?

例外はありません。 しかし、既存のモジュールをコンパイル/リロードすると、エラーが発生するようです。
以下の手順は、汚い奇妙な解決策であることに注意してください。

  1. Spyder3を実行します。
  2. IPythonコンソールに記述し、Enter
  3. エディタウィンドウに「importtorch」と書き込みます。
  4. スクリプトを実行します。
  5. スクリプトを再度実行します。
    つまり、最初にpytorchモジュールをIPythonコンソールにロードすることで問題

以下にトレースバック/エラーを貼り付けます(該当する場合)

Traceback (most recent call last):

  File "<ipython-input-3-bc7ab1fdfb9b>", line 1, in <module>
    runfile('/Users/aaa/.spyder-py3/temp.py', wdir='/Users/aaa/.spyder-py3')

  File "/usr/local/lib/python3.6/site-packages/spyder/utils/site/sitecustomize.py", line 705, in runfile
    execfile(filename, namespace)

  File "/usr/local/lib/python3.6/site-packages/spyder/utils/site/sitecustomize.py", line 102, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

  File "/Users/aaa/.spyder-py3/temp.py", line 7, in <module>
    import torch

  File "/usr/local/lib/python3.6/site-packages/torch/__init__.py", line 184, in <module>
    from .tensor import Tensor

  File "/usr/local/lib/python3.6/site-packages/torch/tensor.py", line 12, in <module>
    class Tensor(torch._C._TensorBase):

  File "/usr/local/lib/python3.6/site-packages/torch/tensor.py", line 170, in Tensor
    """)

RuntimeError: method 'detach' already has a docstring

パッケージバージョン

  • スパイダー:3.2.8
  • Python:3.6.4
  • Qt:
  • PyQt:
  • オペレーティングシステム:macOS 10.13.4

依存関係

IPython >=4.0    :  6.3.1 (OK)
cython >=0.21    :  0.28.2 (OK)
jedi >=0.9.0     :  0.12.0 (OK)
nbconvert >=4.0  :  5.3.1 (OK)
numpy >=1.7      :  1.14.1 (OK)
pandas >=0.13.1  :  0.22.0 (OK)
psutil >=0.3     :  5.4.5 (OK)
pycodestyle >=2.3:  2.4.0 (OK)
pyflakes >=0.6.0 :  1.6.0 (OK)
pygments >=2.0   :  2.2.0 (OK)
pylint >=0.25    :  1.8.4 (OK)
qtconsole >=4.2.0:  4.3.1 (OK)
rope >=0.9.4     :  0.10.7 (OK)
sphinx >=0.6.6   :  1.7.4 (OK)
sympy >=0.7.3    :  1.1.1 (OK)
IPython Console Bug

全てのコメント3件

報告していただきありがとうございます。 これは、次のバグ修正リリースで修正する予定です。

自己メモ:UMRブラックリストに登録されたモジュールのリストにpytorchを追加する必要があります。

@dalthviz 、上記の私のメモに従って、これに

spyderでpytorchを使用しています(「pipinstall --usertorch」によってインストールされます)。 ファイルを再実行するとエラーが発生しました( "RuntimeError:メソッド 'detach'にはすでにdocstringがあります")が、UMRを無効にすると問題が解決しました。 しかし、理由を探していると、2つのことに気づきました。

  1. GUIのUMR除外にトーチを追加できませんでした(「マシンにインストールされていません」)
  2. umr.pyでは、「pytorch」がリストにハードコードされています。 「importtorch」でインポートされているので、これが正しいのかと思っていました。
このページは役に立ちましたか?
0 / 5 - 0 評価