web-dev-qa-db-ja.com

Pycharmデバッガーはpytorchとディープラーニングでは機能しません

この質問はStackoverflowとスーパーユーザーの間のどこかにあります-少なくとも私の意見では、SOこれが間違った場所である場合(あなたの意見;))を私に指摘してください。

問題:

pythonコードにブレークポイントを設定すると、デバッガーは停止します。次の行にステップインしたい場合は、そうします。ただし列挙後に発生します。 (dataloader)enumerate(dataloader)の後にブレークポイントを配置でき、デバッガーも停止します。ただし、ステップできません。enumerate(dataloader)の前にブレークポイントを配置し、列挙行をステップオーバーした場合も同じです。 enumerate(..)の後の行で機能します。

興味深い事実は、それが最近まで機能したということです-1週間前のように

# Breakpoints work, stepping over works
...
for Epoch in range(num_epochs):
    for i, data in enumerate(dataloader, 0):
        # If I break before this line and I step until the next, I can not step afterwards
        netD.zero_grad()
        # Breakpoints work, stepping does not

私はこれを解決しようとしました:

  • PyCharmをアンインストールして再インストールしました。
  • コミュニティ版を使ってみました。
  • Cythonデバッガー拡張機能がある場合とない場合の両方のバージョンを実行してみました。
  • 動作を停止した後にインストールしたものを確認し、削除しました。
  • Jetbrains、SO、およびPytorchフォーラムに関する多数の投稿を確認しました。面白そうなものをいくつか見つけましたが、実際には私の問題には合いませんでした。
  • 異なるCUDAバージョンとcudnnバージョンを使用してみました。

これまでのところ何も機能していません... OSを再インストールしたくないので、おそらく役立つでしょうが、明らかな理由で、それは私が望んでいることではありません。誰かがこの種の行動を経験したことがあり、私を助けることができますか?前もって感謝します。詳細については、お気軽にお問い合わせください。できるだけ多くの詳細を提供しようとします

セットアップの詳細をいくつかリストします。

OS:

  • インテル®Core™i7-7700KCPU @ 4.20GHz×8
  • Nvidia RTX 2080 TI
  • NVIDIA-SMI 430.26ドライバーバージョン:430.26 CUDAバージョン:10.2
  • Ubuntu 18.04

ソフトウェア:

  • PyCharmコミュニティとEDU2019.2
  • (アナ)コンダ
  • cudnnもインストールされています
  • python 3.6およびpython 3.7 with pytorchおよび必要なすべてのもの(numpy、scipy、matplotlibなど)の2つのconda環境

nvcc:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Wed_Apr_24_19:10:27_PDT_2019
Cuda compilation tools, release 10.1, V10.1.168
4
Sheradil

私は何週間も同じ問題を抱えていて、なんとかそれを修正することができました!解決策は、DataLoaderオブジェクトの作成中にnum_workers0に設定することでした。

7
Romero Morais