Этот вопрос находится где-то между Stackoverflow и Superuser - по крайней мере, на мой взгляд, так что не стесняйтесь направить меня на SO, если я не по адресу (по вашему мнению ;)).
Проблема:
Если я поставлю точку останова в своем коде Python, отладчик остановится. Если я захочу перейти на следующую строку, он это сделает. Пока неэто происходит после enumerate(dataloader). Я могу поставить точку останова после 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.
- Я попробовал запустить обе версии с расширением отладчика Cython и без него.
- Я проверил, какие программы я установил после того, как они перестали работать, и удалил их.
- Я проверил множество постов на форумах Jetbrains, SO и Pytorch. Нашел несколько, которые выглядели интересными, но на самом деле они не подходили к моей проблеме.
- Я пробовал использовать разные версии CUDA и cudnn.
Пока ничего не помогло... Я не хочу переустанавливать ОС, что, скорее всего, помогло бы, но да, по понятным причинам это не то, чего я хочу. Кто-нибудь КОГДА-ЛИБО сталкивался с таким поведением и может мне помочь? Заранее спасибо. Не стесняйтесь спрашивать дополнительные подробности. Я постараюсь предоставить как можно больше подробностей
Я перечислю некоторые детали моей установки:
ОПЕРАЦИОННЫЕ СИСТЕМЫ:
- Процессор Intel® Core™ i7-7700K с тактовой частотой 4,20 ГГц × 8
- Nvidia RTX 2080 TI
- NVIDIA-SMI 430.26 Версия драйвера: 430.26 Версия CUDA: 10.2
- Убунту 18.04
Программное обеспечение:
- Сообщество PyCharm и EDU 2019.2
- (Ана)конда
- cudnn также установлен
- Два окружения conda для python 3.6 и python 3.7 с pytorch и всем необходимым (numpy, scipy, matplotlib и т. д.)
НВКК:
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
во 0
время создания объекта DataLoader
.