Esta questão está em algum lugar entre Stackoverflow e Superusuário - pelo menos na minha opinião, então sinta-se à vontade para me indicar SO se este for o lugar errado (na sua opinião;)).
Problema:
Se eu colocar um ponto de interrupção no meu código python, o depurador será interrompido. Se eu quiser passar para a próxima linha, isso será feito. A menos queisso acontece depois de um enumerate(dataloader). Posso colocar um ponto de interrupção após enumerate(dataloader) e o depurador também para. No entanto, não posso pisar então. O mesmo acontece se eu colocar o ponto de interrupção antes de enumerate(dataloader) e passar por cima da linha enumerate. Não funcionará para a linha após enumerar(..).
O fato interessante é que funcionou até recentemente - há uma semana
# 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
O que eu tentei resolver isso:
- Desinstalei o PyCharm e reinstalei-o.
- Tentei usar a edição Community.
- Tentei executar as duas versões com e sem a extensão do depurador cython.
- Verifiquei quais coisas instalei depois que parou de funcionar e as removi.
- Verifiquei várias postagens nos fóruns Jetbrains, SO e Pytorch. Encontrei alguns que pareciam interessantes, mas na verdade não se enquadravam no meu problema.
- Tentei usar diferentes versões CUDA e cudnn.
Nada funcionou até agora... Eu realmente não quero reinstalar meu sistema operacional, o que provavelmente ajudaria, mas sim, por razões óbvias, não é isso que eu quero. Alguém JÁ passou por esse tipo de comportamento e pode me ajudar? Desde já, obrigado. Sinta-se à vontade para solicitar detalhes adicionais. Tentarei fornecer o máximo de detalhes possível
Vou listar alguns detalhes da minha configuração:
SO:
- CPU Intel® Core™ i7-7700K a 4,20 GHz × 8
- Nvidia RTX 2080 TI
- Versão do driver NVIDIA-SMI 430.26: 430.26 Versão CUDA: 10.2
- Ubuntu 18.04
Programas:
- Comunidade PyCharm e EDU 2019.2
- (Ana)conda
- cudnn instalado também
- Dois ambientes conda para python 3.6 e python 3.7 com pytorch e tudo que precisa (numpy, scipy, matplotlib, etc)
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
Responder1
Eu tive o mesmo problema por semanas e consegui corrigi-lo! A solução foi definir num_workers
durante 0
a criação do DataLoader
objeto.