Pycharm 디버거는 pytorch 및 딥 러닝에서 작동하지 않습니다.

Pycharm 디버거는 pytorch 및 딥 러닝에서 작동하지 않습니다.

이 질문은 Stackoverflow와 Superuser 사이의 어딘가에 있습니다. 적어도 제 생각에는 이것이 잘못된 위치라면 자유롭게 알려주세요(귀하의 의견으로는 ;)).

문제:

Python 코드에 중단점을 배치하면 디버거가 중지됩니다. 다음 줄로 넘어가고 싶다면 그렇게 할 것입니다. 하지 않는 한열거(데이터로더) 후에 발생합니다. enumerate(dataloader) 뒤에 중단점을 배치하면 디버거도 중지됩니다. 그러나 나는 그때 밟을 수 없다. enumerate(dataloader) 앞에 중단점을 배치하고 enumerate 라인을 넘어가는 경우에도 마찬가지입니다. 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을 제거하고 다시 설치했습니다.
  • Community Edition을 사용해 보았습니다.
  • Cython 디버거 확장이 있거나 없는 두 버전을 모두 실행해 보았습니다.
  • 작동이 멈춘 후 어떤 것을 설치했는지 확인하고 제거했습니다.
  • Jetbrains, SO 및 Pytorch 포럼에서 수많은 게시물을 확인했습니다. 흥미로워 보이는 몇 가지를 찾았지만 실제로는 내 문제에 맞지 않았습니다.
  • 다른 CUDA 버전과 cudnn 버전을 사용해 보았습니다.

지금까지 아무 것도 효과가 없었습니다. OS를 다시 설치하고 싶지는 않습니다. 그러면 도움이 될 것 같지만, 분명한 이유로 그것은 내가 원하는 것이 아닙니다. 이런 종류의 행동을 경험한 적이 있고 나를 도와줄 수 있는 사람이 있습니까? 미리 감사드립니다. 자세한 내용은 언제든지 문의해 주세요. 최대한 많은 세부정보를 제공하도록 노력하겠습니다.

내 설정에 대한 몇 가지 세부 사항을 나열하겠습니다.

운영체제:

  • 인텔® 코어™ i7-7700K CPU @ 4.20GHz × 8
  • 엔비디아 RTX 2080TI
  • NVIDIA-SMI 430.26 드라이버 버전: 430.26 CUDA 버전: 10.2
  • 우분투 18.04

소프트웨어:

  • PyCharm 커뮤니티 및 EDU 2019.2
  • (아나콘다
  • cudnn도 설치됨
  • pytorch와 필요한 모든 것(numpy, scipy, matplotlib 등)이 포함된 Python 3.6 및 Python 3.7용 conda env 2개

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

관련 정보