Pycharm調試器不能與pytorch和深度學習一起使用

Pycharm調試器不能與pytorch和深度學習一起使用

這個問題介於 Stackoverflow 和 Superuser 之間——至少在我看來,所以如果這是錯誤的地方(在你看來;)),請隨時指出我的問題。

問題:

如果我在 python 程式碼中放置斷點,偵錯器就會停止。如果我想進入下一行,它就會這樣做。 除非它發生在枚舉(資料載入器)之後。我可以在 enumerate(dataloader) 之後放置一個斷點,調試器也會停止。然而我不能踏出那一步。如果我在 enumerate(dataloader) 之前放置斷點並跳過欄位舉行,也會發生同樣的情況。它不適用於 enumerate(..) 之後的行。

有趣的是,它直到最近才起作用——比如一周前

# 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 版本。

到目前為止沒有任何效果......我真的不想重新安裝我的作業系統,這很可能會有所幫助,但是,是的,出於明顯的原因,這不是我想要的。有沒有人經歷過這種行為並且可以幫助我?提前致謝。請隨時詢問更多詳細資訊。我會盡力提供盡可能多的詳細信息

我將列出我的設定的一些詳細資訊:

作業系統:

  • 英特爾® 酷睿™ i7-7700K CPU @ 4.20GHz × 8
  • 英偉達 RTX 2080 TI
  • NVIDIA-SMI 430.26 驅動程式版本:430.26 CUDA 版本:10.2
  • 烏班圖18.04

軟體:

  • PyCharm 社區和 EDU 2019.2
  • (安娜)康達
  • cudnn 也安裝了
  • python 3.6 和 python 3.7 的兩個 conda 環境,帶有 pytorch 及其所需的一切(numpy、scipy、matplotlib 等)

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

答案1

我有同樣的問題好幾個星期了,只是設法解決了它!解決方案是在建立物件期間設定num_workers為。0DataLoader

相關內容